What you should do and should not do developing in ABAP where performance is concerned...
- Do Take performance seriously. There is nothing more frustrating than having to wait for results solely because the developer hasn't done his job properly
- Don't Be afraid to performance tune someone else's coding. Spaghetti coding and performance tuning don't go well together
- Do Support the end user: they do not know what makes a selection go slow. A warning on a selection screen that has been started without restrictions is a good idea. Don't restrict them to death though...
- Don't Stack too many huge internal tables into your (larger) ABAP, use
FREE
to release the consumed memory oncy your data is no longer needed - Don't Assume there is no performance impact on changes you've just done - a tuned development doesn't stay tuned by itself
- Do Let the end user know what happens, a golden trick to making poor performance more acceptable. Progress indicator: let the end user know what's happening by issuing a
MESSAGE
statement type S - Skip, before every (larger) selection step. "Selecting materials" is a lot more interesting to see than nothing at all. SAP uses the function moduleSAPGUI_PROGRESS_INDICATOR
as well, which allows a percentage to be passed. A clock will be displayed...