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.
result value of the routine
IF SY-SUBRC = 0.
RESULT = IT_SS.
Please advise me how can I improve the performance of the dataload because of this routine.
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.