cancel
Showing results for 
Search instead for 
Did you mean: 

See Data from ALL Data Packets in Start Routine?

Former Member
0 Kudos

Hi,

For each load of new delta data into my ODS I need to run logic to look up existing values in the ODS and do some things accordingly...

This is fine in principal and I can create a Start Routine on the Update Rules and do the lookup etc etc...

HOWEVER - If the load happens to be broken into multiple data packets then the data I am making decisions on (for instance all items of an order) could be split across these packets e.g. Order1 item1 in packet 1 and order2 item2 in packet 2.

Beacuse the Start Routine operates once PER packet -- is there a way to get visibility into the other packets or the complete PSA load or is there there another way around this i.e. buffering the content of each packet and in the 'final' packet's start routine, do my logic?

I know this comes up quite a bit, but I have seen nothing that suggests a way around this so far. Basically I need a way of doing a truly global start routine on the complete data being uploaded BEFORE it gets into the ODS.

Thanks for any help!

Flip.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Flip,

if you load data into PSA you can look up your data in the PSA table. you can look up the technical table name to your PSA in table RSTSODS, should be something like /BIC/B0001185000. you need only to have the request-id and then you can access all data to this request in PSA.

regards,

Jürgen

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Philip,

another scenario:

-load only into PSA

-run a small abapprogram that manipulates the PSAdata

-then upload into datatarget

/manfred

Former Member
0 Kudos

Thanks both of you... going direct to the PSA table is certainly an option if I can be sure of the exact request being loaded at that time..... (Any idea how I can know this inside the start-routine?)

I've also heard before about some way of buffering or storing in memory the data packet info in each call of the start routine and then in the last packet routine being able to access it all... But -- how is the best way to do the buffering and how to tell if the routine is operating on the final packet...?