SAP PROC VOLUME - Guide

Get Example source ABAP code based on a different SAP table
  


GUIDELINE 4.23

Procedure Volume

ABAP_BACKGROUND
The procedure volume is the number of executable ABAP statements in a procedure (method). In theory, this number has no upper limit and is only limited by the maximum program size that fits into the current program memory.

ABAP_RULE
Restrict the number of statements in procedures
Restrict the number of executable ABAP statements in a procedure ( method) to a manageable size. A maximum of 150 executable statements per procedure is the recommended guideline.

ABAP_DETAILS
Procedures with large volumes ( methods) generally have a complex decision structure, a lot of procedure parameters and work with a multitude of local data. These procedures, which often do not perform a clearly defined single task, are difficult to understand and therefore particularly prone to errors. You should use several small procedures with narrow interfaces and closely defined tasks. The ideal parameter interface has a small number of input parameters and only one return value.
The number of executable statements is a simple measure of the complexity of a procedure. All statements that are not declarations and do not define processing blocks can be regarded as executable statements. This is very similar to statements at which program exe cution can be stopped in the debugger. Procedure-concluding statements, such as ENDMETHOD, at which you can stop in the debugger are exceptions. However, these are not regarded as executable statements.

Note
The recommendation not to write procedures that are too large should not lead to the other extreme (too many procedures that are very small). Procedures should be of a reasonable size that is consistent with the ABAP programming language (modularize instead of atomize).

Exception
Strict linear code (for example, programmatic filling of a table with single values) cannot be subdivided into multiple procedures. In these cases, a restriction on the number of statements does not make sense.

Example
See the KISS Principle figure.