Using subroutine pools for dynamic programming

The code to generate a temporary subroutine pool for dynamic programming in ABAP provided by a senior developer analyst at General Mills.

In this article we'll talk about using subroutine pools for dynamic programming in ABAP. The subroutine pools can be generated by using the following syntax:

GENERATE SUBROUTINE POOL itab NAME prog [error_handling].

This statement generates a temporary subroutine pool . The source code of the subroutine pool is taken from the internal table itab. The generated subroutine pool is stored internally in the current internal mode.

The name with a maximum of 30 digits for the temporary subroutine pool is assigned to the variable prog. The line type for itab must be character type (prior to Release 6.10 flat). A source code line in itab may contain a maximum of 255 characters. The data object prog must also be character type (prior to Release 6.10 flat). In an internal mode, a maximum of 36 temporary subroutine pools may be created. If the source text contained in itab has a syntax error, the subroutine pool is not generated and initialized using prog.

Using the addition error_handling, syntax and generation errors can be analyzed. Syntax errors can either occur in the source code specified in itab or in the include programs included using the statement INCLUDE. Generation errors can occur, among other things, if the program contains errors in the declaration statements that are not recognized during the static syntax check.

In the source code of the subroutine pool, subroutines can be called from all programs that are loaded in the same internal mode by specifying the program name prog using the statement PERFORM. At the first call of a subroutine in the subroutine pool, this is loaded into internal mode, where the event LOAD-OF-PROGRAM is initialized.

Now let's demonstrate in an example in which I am using subroutine pools for fetching data from a dynamic table:

Note :
A maximum of only 36 subroutine pools can be created in a program.

Ravi Shankar Rajan is a senior developer analyst working for General Mills.

This content is reposted from the SAP Developer Network.
Copyright 2007, SAP Developer Network

SAP Developer Network (SDN) is an active online community where ABAP, Java, .NET, and other cutting-edge technologies converge to form a resource and collaboration channel for SAP developers, consultants, integrators, and business analysts. SDN hosts a technical library, expert blogs, exclusive downloads and code samples, an extensive eLearning catalog, and active, moderated discussion forums. SDN membership is free.

Want to read more from this author? Click here to read Ravi Shankar Rajan's Weblog. Click here to read more about ABAP on SDN.

Dig Deeper on SAP development and programming languages

Data Management
Business Analytics
Content Management