Experiment on performance: SELECT SINGLE vs FOR ALL ENTRIES, secondary index access

 

Experiment on performance series

Part I: SELECT SINGLE vs FOR ALL ENTRIES

Part II: SELECT SINGLE vs FOR ALL ENTRIES, secondary index access

I believe our previous test on SELECT SINGLE vs FOR ALL ENTRIES did not surprise many of you because I see a tendency towards FOR ALL ENTRIES in programs I encounter. In previous scenario, we were able to access the search table with primary key but this may not be the case every time. Let’s see what happens if we could not access the search table with primary key, but with secondary index. Continue reading “Experiment on performance: SELECT SINGLE vs FOR ALL ENTRIES, secondary index access”

Experiment on performance: SELECT SINGLE vs FOR ALL ENTRIES

Experiment on performance series

When all business requirements are met in a development, customer complaints always come down to performance. “Can’t this run any faster?” we always hear. Performance, in a technical point of view, is a broader concept that not just includes execution time, but also optimal use of system resources like memory and network load.  But powerful hardware of our age and requirement of end user satisfaction leaves us with a single option to have execution time (or speed) as the top priority performance aspect. So I will experiment on some known techniques for database access and internal table processing, and share the results here. Continue reading “Experiment on performance: SELECT SINGLE vs FOR ALL ENTRIES”

ABAP by numbers: Length of decimal type

Inequality between length and maximum digit count of packed decimal type causes great confusion even among seasoned developers. ABAPDOCU explains the relation with a fairly complicated formula:

Depending on the field length len and the number of decimal places dec, the following applies to the value range: (-10^(2len-1) +1) / (10^(+dec)) to (+10^(2len-1) -1) /(10^(+dec)) in increments of 10^(-dec)

Continue reading “ABAP by numbers: Length of decimal type”

Obligatory selection screen parameters

Almost every ABAP developer comes to a point where they require obligatory parameters along with user command logic in their selection screens. As you might already know, that’s a problem. Because obligatory parameters demand input on every action of user and interfere with user command logic, which results in a broken selection screen. Let’s see an example. Continue reading “Obligatory selection screen parameters”

ERROR_MESSAGE: Predefined exception for function modules and methods

No matter how many times mentioned before (thanks to Rahul GopinathAmit BeheraSrinivas Dummu and Mike), I still see sy-subrc check after a function module call without exceptions.

This is so wrong. According to ABAP keyword documentation:

If no exception is raised, a call sets sy-subrc to 0.

So in the above example, sy-subrc will always be equal to zero and condition will never be satisfied. This applies to method calls, too. Let’s experiment to make sure. Continue reading “ERROR_MESSAGE: Predefined exception for function modules and methods”

Hello ABAP world!

Greetings to fellow SAP ABAP developers from around the world. I have just decided to start a new ABAP blog (yes, yet another) and this first post is here just to share my excitement.

So why another ABAP blog?

Of course I know there are already many ABAP blogs and tutorial sites who are actually doing great job. They give us useful tips on solving problems. But I will not only focus on solving problems but another aspect of programming: quality of code. Continue reading “Hello ABAP world!”