cancel
Showing results for 
Search instead for 
Did you mean: 

Help for Routine: Package by package issue

anubhav_kumar2
Explorer
0 Kudos

Hello friends

Im not great at abap and we have an issue which I am wondering would even be possible at a transformation level in SAP BW.

We have an MR Detailed Report based on a generic source. The DSO has the following fields that are involved in our issue:-

Service order no., MR Date, Status ('met', 'unsuccessful', 'cancel', etc.). This contains multiple line items for service order no.

We require the Status and MR Date field to be added into another report (Daily call report based on 0CRM_RUOI) which has Service order no. as the common factor. This DSO contains single line item against each service order no.

The requirement is as follows:-

Out of multiple line items in MR Detailed, we require the latest MR Date and the Status = Met in case all line items have status = 'Met' else 'not met'.

Hence,

S.O. No.    MR Date   Status

1                 7th Apr     MET

1                 1st Apr     CANCEL

1                 8th Apr     MET

should give result

1            8th Apr     NOT MET

The problem is that since routines take in data package by package, a transformation over MR Detailed DSO to Daily call report DSO will still lead to multiple line items in case another record with same Service order number is in later packages.

Please help me understand the scenario.


Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Just make use of semantic groups on 'Service order number' in the DTP loading to the target. And write a logic to get the required rows with updated details only.

Regards,

Anupama

Answers (3)

Answers (3)

anubhav_kumar2
Explorer
0 Kudos

Thanks issue is closed now.

anshu_lilhori
Active Contributor
0 Kudos

You can close the thread by marking correct answer or assumed answered.

Regards,

AL

former_member182346
Active Contributor
0 Kudos

Hi,

One more option will be by introducing a staging DSO (say DSO1) will have all records (in your example 3) and then final DSO (say DSO2).

Put the routine (end routine) between these 2 DSO and fetch the final record (ie single required record) in final DSO.

I used this method for Purchasing history data where lots of material in/out happens and need to get the final status/qty of material at end of the day, and stored in final dso,

Thank-You.

Regards,

VB

anshu_lilhori
Active Contributor
0 Kudos

Write your logic in end routine.

After that make use of semantic groups.In that select service order number.This will actually help you to bind the data together of same service order number.

So in case if you have any item of a particular service order number in another package,then automatically package size gets increased and it processes the data in same package,

Hope this solves your issue.

Regards,

AL