on 06-21-2010 6:37 PM
Hi Experts,
I'm going to program in ABAP for a BPC NetWeaver project. I would like to know about tips, tricks, the problems I can find and I must avoid. For example, not to hardcode Infoprovider's technical names because they can change after executing a transport, ... etc
Thanks in advance,
Albert
Hi Albert,
Is this for 7NW? For what pupose are you going to use ABAP? Is it for doing calculations (similar to the ones done by script logic)/ If so, please make sure that you are using the badi. (http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20f4252d-98ca-2b10-e689-f85085ae2d12)
Regards
Pravin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Pravin,
Yes, I'm working on 7.0NW. I want to try to optimize performance for doing some calculations instead of the ones done by some script logics. So, in order to program with ABAP and with BADIs, I would like to know about
- which kind of calculations have a better performance in calc scripts than in ABAP programs with BADIs
- which things/problems I must avoid and which ones I must be aware of
- some tips or tricks
- ...
I've downloaded some documents as "Custom BADIs in Script Logic.pdf" and "How to Pass Parameters to Custom Logic BADI using START_BADI.pdf".
Could you give some more advices?
Thanks in advance,
Albert
Hi. In most cases, writing ABAP inside of a BAdI implementation instead of using script logic will always be faster. The reason is, when your use a BAdI, it is part of the enhancement framework, which means the processing is dropped to the kernel, and gives you an expontial performance boost. This is compared to script logic, which is interpreted by the ABAP runtime, and simply executes ABAP code based on that interpretation, making the process somewhat slower. Another good tip when writing code in the BAdi implementations, is to use performance enhanceing techniques in your ABAP code, such as using hash tables to perform quick lookups. Try to hit the database as less as possible, so don't re-read master data each time in a loop. Read it once and store it, again in a hash table. Same with reading transaction if required, read it once and store it instead of reading it each time in a loop. Using these practices will make it run really fast for large volumes of data. I actually had to create one a while back where the script logic was running about 1 1/2 hours for 300k records. I got it to run in about 2 minutes using the BAdI, and some good performance tuning techniques like the ones mentinoed here.
Hope this helps.
Regards,
Rich Heilman
User | Count |
---|---|
6 | |
5 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.