The program attributes tell the ABAP runtime analysis how to execute an ABAP program. The most important program attribute in this process is the type, which you can use to determine how an ABAP program is executed.
Furthermore, you can determine in the program attributes which application a program is assigned to, and determine the logical database for executable programs (reports) accordingly.
Take care to enter the correct program attributes, otherwise the system will not be able to run the program properly. You maintain the program attributes on the ABAP: Program Attributes screen.
You can obtain the list of possible program types by selecting the F4 input help function.
If you select an executable program (report, internal type = 1), the system automatically fills the input fields for specific attributes. Only now are the additional input fields Logical Database and Selection Screen visible.
Overview of All Program Attributes
The following section contains information about program attributes. Note that some of these attributes only apply to executable programs (reports), and not to other ABAP program types. The field help and possible values help for the fields on the ABAP: Program Attributes screen provide further information.
In the required entry field Title enter a program description that describes the function of the program. The system automatically includes the title into the text elements of the program. Thus, you can edit the title when maintaining the text elements.
The maintenance language is the logon language of the user who creates the program. The system fills this field automatically. You can change the maintenance language, if you maintain the program or its components in another logon language.
In the field Type you must specify the program type.
By selecting Executable Program you declare your program as executable. This means that the program can run on its own, and that you can start it in the R/3 system without a transaction code. You can also run executable programs in the background.
By selecting Module Pool you declare your program as a pool for dialog module. This means that your program cannot run on its own, but serves as a frame for program modules used for dialog programming. These program modules contain the application logic of a transaction and are called by separately programmed screen flow logic (programming screens using the Screen Painter tool). The screen flow logic itself can be called via a transaction code only.
As well as executable programs and module pools, there are also include programs. An include program is an independent program with two main functions. On the one hand, it contains the program code that can be used by other programs. On the other hand, it modularizes source code, which consists of several different, logically related parts. Each of these parts is stored in a different include program. Include programs make your source code easier to read and maintain.
This optional entry describes the status of the program development; for example, Test Program or Productive Customer Program.
This optional field contains the name of the application that is required in the program, for example Financial Accounting.
In this field, you can enter the name of a program group. This allows you to group different programs together for authorization checks. The group name is a field of the two authorization objects S_DEVELOP (program development and program execution) and S_PROGRAM (program maintenance). Thus, you can assign authorizations to users according to program groups. For more information about authorizations, refer to theUsers and Roles documentation.
The package is important for transports between systems. You combine all Workbench objects assigned to one package in one transportation request.
If you are working in a team, you may have to assign your program to an existing package, or you may be free to create a new package. All programs assigned to the package $TMP are private objects and cannot be transported into other systems. You can enter the package directly into this field. Otherwise, the system prompts for it when you save the attributes.
Choosing Local object is equivalent to entering $TMP in the field Package. You can change the package of a program afterwards.
Only for Executable Programs
These attributes determine the logical database used by the executable program (report) to read data.
Selection Screen Version
Only for Executable Programs
If you do not specify a selection screen version, the system automatically creates a selection screen based on the selection criteria of the logical database and the parameters and select-options statements in the program.
If you want to use a different selection screen of the logical database, enter a number in this field. The number must be smaller than 1000 and correspond to an additional selection screen of the logical database. The possible values help displays a list of available selection screens. You can also look in the selection include of the logical database (program DBxxxSEL, where xxx is the name of the logical database).
If you set this attribute, other users cannot change, rename, or delete your program. Only you will be able to change the program, its attributes, text elements, and documentation, or release the lock.
Fixed Point Arithmetic
If the attribute Fixed point arithmetic is set for a program, the system rounds type P fields according to the number of decimal places or pads them with zeros. The decimal sign in this case is always the period (.), regardless of the userís personal settings. We recommend that you always set the fixed point arithmetic attribute.
Start Using Variant
Only for Executable Programs
If you set this attribute, other users can only start your program using a variant. You must then create at least one variant before the report can be started.