Skip to Content
0
Oct 22, 2012 at 07:27 PM

Execute a FM only once in Tranformation & move the value generated for all packets

37 Views

Hi Experts,

I have a requirement where i need to generate Serial Number (Which is handled in function module ) , the function module is placed in the Start Routine. The Function module should only execute once , irrespective of the number of packets and the output of func module unique number will be moved to a field in target.

(For Eg: For 1st DTP , The out put of the S.No Field must be 1 for all the records transfered.)

So,I have taken the following approach.

IF Datapacket ID = 1

My Code .......

Move to Global Variable.

Endif.

Value in Global Variable will be moved to all the records.

But the problem am facing is that , due to parallel processing (DTP setting '3') when Packet 1 starts executing , at the same time Packet 2 & 3 also starts executing, because of this the Records in the Packets 2 & 3 are getting populated as blank for the S.No.

So is there any Class / method from which we can know whether one Datapacket is executed completely or not .? or Anywhere it gets captured during runtime?

Looking forward for quick response

Sriram