cancel
Showing results for 
Search instead for 
Did you mean: 

which is better transfer routine or update routine???

Former Member
0 Kudos

HI ALL,

I have read some documents, but I didnt get the real concept.

Can any one explain in detail as to how do we decide where to write the code i.e a start routine or transfer routine or update routine...and which one is better for a given scenario..

with example?

Accepted Solutions (1)

Accepted Solutions (1)

former_member184494
Active Contributor
0 Kudos

Dhanya,

This has been discussed before also , it depends on the objects you want to affect , if you want the transformation in the transfer level , use Transfer RUles , else you can use the code in the update rules if you feel that the transformation required is local to a particular dataprovider.

Arun

P.S the coding part is basically the same...

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi Dhanya,

Yes..You could code in the transfer rules also.

To resolve your problem try the following:

1. Transfer rules for PCAT - map all the fields to the info-object except the last 4 fields that would come from SAP.

2. Transfer rules for SAP - Check the master data table in the start routine. In your case the table would be /BIC/MZ_MATERIAL1. If data already exists then update just the last 4 fields else update all the fields.

Hope I have made things clear.

Bye

Dinesh

Message was edited by: Dinesh Lalchand

Former Member
0 Kudos

hi dinesh,

1. I want to retain all the data from SAP in that case

why would i need to write ABAP code in the update rules..

why cant i write a start routine in transfer rules bec i dont want to be data target specific..

2. like other records ignore certain fields from SAP.

For this scenario if i am not writing a code how do i execute this.

Former Member
0 Kudos

Hi Dhanya,

What do you want to do when the records come from SAP for which there is no record from PCAT.

1. Do you want to retain all the data from SAP in that case OR

2. like other records ignore certain fields from SAP.

For scenario 1 you would need to write ABAP code in your update rules

For scenario 2 thereis no need to write a code.

Bye

Dinesh

Former Member
0 Kudos

hi...

ya it is possible tht records come from SAP for which ther is no record from PCAT.

Hi andrzej,

how do we disconnect SAP source transfer rules for group, type, price, curr, unit.

Former Member
0 Kudos

My scenario is like this:

master data InfoObject for e.g. Z_MATERIAL1 with 10 fields as attributes. It has two Source Systems feeding it; SAP and a flat file from a system called Product Catalog (PCAT).

The PCAT data is generally more reliable, hence, if a material XYZ comes from PCAT then PCAT is the owner of the material. SAP should not be able to update five critical fields of that material if PCAT owns the material.

For e.g. the below values comes from PCAT and Master data is updated.

PCAT

Material Group Type Price Curr Unit Prod Desc. Lang Class

XYZ ABC BRU 10.00 USD PC Inh To EN 001

When the data comes from SAP R/3, it should not update anything other than the last 4 fields.

SAP

Material Group Type Price Curr Unit Prod Desc. Lang Class

XYZ ABC BRU 20.00 USD BOX In The DE 003

Finally the data in the Master Data Object should be as below.

Material Group Type Price Curr Unit Prod Desc. Lang Class

XYZ ABC BRU 10.00 USD PC In The DE 003

where do i write the code...i have written this in start routine of transfer rules...i want to know the performance issues...

Former Member
0 Kudos

hi,

why do you want to write code in this case

You can just disconnect SAP source transfer rules for group, type, price, curr, unit. (I assume Material is a key field here)

Regards,

Andrzej

former_member188975
Active Contributor
0 Kudos

Hi Dhanya,

Is it possible that a material is loaded only from SAP with no record from PCAT?

Former Member
0 Kudos

Hi,

Whatever routine you do with Infoobject will be global to all the other objects in the BW system.

But routine in Transfer or Update rule is only spefic to that data flow.

Hope this helps

Arun

former_member188975
Active Contributor
0 Kudos

Hi Dhanya,

This is related to your question, but not exactly the answer: It is better to write code in the Start Routine of the Update or Transfer rule (whereever possible), rather than putting the code in the individual rule for the infoObject.