cancel
Showing results for 
Search instead for 
Did you mean: 

Performance of the update rule routine

Former Member
0 Kudos

Hi ,

I have to update the value of the Source system ID during the ODS to Infocube update rule.

Source system id is added object in the infocube. ODS doesn't have sourcesystem id . I have populate the value from Service order master data .

Update rule - characteristic - I have created a routine - value is populating properly.

During the data load it is taking long time(5 million records) .

For improving the performance - Do I need to update the code in the Start routine of the update rule.

Data_package doesn't have a component called source system.

Code in the routine :

data: IT_SS LIKE /BI0/PCS_ORDER-SOURSYSTEM .

SELECT SOURSYSTEM FROM /BI0/PCS_ORDER INTO IT_SS

WHERE CS_ORDER = COMM_STRUCTURE-CS_ORDER.

ENDSELECT.

  • result value of the routine

IF SY-SUBRC = 0.

RESULT = IT_SS.

ENDIF.

Please advise me how can I improve the performance of the dataload because of this routine.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

hi

For each of the loads, why dont you assign a constant (in the update rule)to the source system value instead of writing a routine.

jpjp

Former Member
0 Kudos

Thanks for your help .

Yes - We have 3 different ODS is updating data to the Infocube.

3 different source system.

During the data load it seems to be taking long time.

Former Member
0 Kudos

Would the source system be different for different orders?

If yes, you can still create a hash table and fill it in start routine and then read from it in the update routine. It is not likely to improve performance in all case, though it should. (If your itab becomes of million records, it is going to take a long time to fill and take up lot of space). You will have to try it to see the difference.

If there is any other logic that you can apply to reduce the DB read calls, that would certainly help.