Maintaining Program Attributes 

BC - Benutzer und Rollen

In the program attributes, you set the runtime environment of a program, and thus determine how it runs. The most important attribute is the program type. This specifies how the program can be executed.

The program attributes also tell you the application to which the program belongs, and, in the case of executable programs (reports), the name of any associated logical database.

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.

To create an executable program (report), enter 1 in the Type field. To create a module pool, enter M in the Type field. For a list of other possible types, use the possible entries button.

If you create a report (type = 1), choose Enter .

The system automatically displays the input fields for report-specific attributes. Only now are the additional input fields Logical database, from application, and Selection screen visible.

Overview of all program attributes

The following section provides 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.

Version

These fields are used for version administration. The system fills them.

Title

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.

Maintenance Language

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.

Type

In the Type field, you must specify the execution mode of your program.

Use Type 1 (report) to 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 (reports) in the background.

Use Type M to declare your program as a module pool. 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 a 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.

Apart form type 1 (for executable programs (reports)) and type M (for module pools), you should also know Type I for include programs. An inlcude program is an independent program with two main functions: On one hand, it contains program code that can be used by different 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.

Status

This entry describes the status of the program development; for example, T for test program.

Application

This field contains the short form of your application, for example, F for Financial accounting. This required entry enables the system to allocate the program to the correct business area.

Authorization Group

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 creating function modules, refer to the Users and Authorizations documentation.

Development Class

The development class is important for transports between systems. You combine all Workbench objects assigned to one development class in one transportation request.

If you are working in a team, you may have to assign your program to an existing development class, or you may be free to create a new class. All programs assigned to the development class $TMP are private objects and cannot be transported into other systems. You can enter the development class 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 Development class. You can change the development class of a program later on by choosing, for example, Program ® Reassign in the ABAP: Program Attributes screen.

Logical Database from Application

Only for Executable Programs (Reports)

These attributes determine the logical database used by the executable program (report) to read data, and the application to which it belongs. Logical databases have unique names within their application. However, systemwide, you can have more than one logical database with the same name. This is why you also need to specify the application.

If you read data directly in your program instead of using a logical database, you should enter an application, but leave the logical database field empty.

Selection Screen Version

Only for Executable Programs (Reports)

If you do not specify a selection screen version, the system automatically creates a selection screen based on the selection criteria of the logical datbase and the parameters and select-options statements in the program.

If you want to use a different selection screen, enter the number here (not 1000, since this is reserved for the standard selection screen). 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).

Upper/Lower Case

If you do not want the ABAP Editor to change the case of your code when you display the program, leave this field empty. If you select it, the program code (apart from literals and comments) is converted to uppercase. The screen display depends on the Editor mode.

Editor Lock

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 (Reports)

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.