cancel
Showing results for 
Search instead for 
Did you mean: 

select in rule routine or start routine which one is best for performance..

Former Member
0 Kudos

Hi,

I see code written by others where,

1. a start routine has select statement and fills up an internal table and that is looked (READ TABLE) in the rule routine for an field in the DSO.

2. a rule routine where the select statement is written do read the data from another DSO

I guess the latter will affect the performance during the transformation and I feel reading the required data into an internal table in start routine and then in the rule routine reading the internal table will be comparitively faster.

Is my understanding right ? Is there any other best practise or suggestion to maintain / improve performance , when reading data from other DSOs in the transformation ?

Thnks

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member360228
Contributor
0 Kudos

Yes you are right, the best way is to fill the internal table based on the lookup DSO in the start routine and then Read that internal table at field level routine. Also use binary search after properly sorting the table to enhance the performance.

Regards,

Arminder

MartinMaruskin
Active Contributor
0 Kudos

I agree with Arminder. This is common and best practice how to code routines in BW. Always put all what you need later in filed routines into internal tables located in start routine. Tune definition of your internal tables with types sorted-hashed tables to get best performance.

Former Member
0 Kudos

Thank u very much...

former_member360228
Contributor
0 Kudos

For all your questions if you feel someone helped then givnig points is a way to show your gratitude....