We are hiring and constantly growing! Have a look through our vacancies to find the right role for you!
INSERT REPORT prog FROM itab
$[MAXIMUM WIDTH INTO wid$]
${ $[KEEPING DIRECTORY ENTRY$]
$| ${ $[PROGRAM TYPE pt$]
$[FIXED-POINT ARITHMETIC fp$]
$[VERSION vs$] $}
$| $[DIRECTORY ENTRY dir$] $}.
1. ... MAXIMUM WIDTH INTO wid
2. ... KEEPING DIRECTORY ENTRY
3. ... PROGRAM TYPE pt
4. ... FIXED-POINT ARITHMETIC fp
5. ... VERSION vs
6. ... DIRECTORY ENTRY dir
This statement passes the content of itab to the ABAP program specified in prog in the repository as source code. If a program with the specified name already exists, its source code is overwritten. Otherwise a new program with the name specified in prog and the source code from itab is created in the repository.
The additions for determining the program attributes create the program attributes in the system table TRDIR.
If none of the additions are specified, the following default values are set when a new program is created:
If none of the additions are specified, the attributes of an existing program are preserved if it is overwritten, with the following exceptions:
For itab, only a standard table without
secondary table keys is allowed. A source code line in itab must be character-like and can
have a maximum of 255 characters. Trailing blanks are ignored for line types with a fixed length. prog
must be a character-like flat data object, which can contain no more than 30 characters, and whose content is not case-sensitive.
System Fields
sy-subrc | Meaning |
0 | The program specified in prog was successfully created or overwritten. |
4 | An error occurred when creating or overwriting the program specified in prog. |
See ABAP Command Injections. |
... MAXIMUM WIDTH INTO wid
If the addition MAXIMUM WIDTH is used, the number of characters of the longest source code line in itab is assigned to the variable wid, which must have data type i.
... KEEPING DIRECTORY ENTRY
This addition is only effective when a program is overwritten. The statement behaves as if no additions are specified (see above), with the exception that the
ABAP language version remains intact in the overwritten program.
... PROGRAM TYPE pt
This addition defines the program
type of the new or overwritten program in accordance with the content of pt. pt must
be a data object of data type c with length 1 that contains a valid ID for a program type. The following table shows the case-sensitive IDs of all ABAP program types.
ID | Program Type |
1 | Executable program |
F | Function pool (or function group) |
I | Include program |
J | Interface pool |
K | Class pool |
M | Module pool |
S | Subroutine pool |
T | Type pool or type group |
... FIXED-POINT ARITHMETIC fp
This addition defines the fixed-point
arithmetic property of the new or overwritten program in accordance with the content of fp.
fp must be a data object of data type c with length 1 that contains either the value "X" or " ". The value "X" sets the fixed-point arithmetic attribute, while the value " " deactivates it.
... VERSION vs
This addition specifies the ABAP language version for the new or overwritten program in accordance with the content of vs. vs must be a data object of data type c with a length of 1, which can have the following values as version ID:
vs | ABAP Language Version | Meaning |
X | Basic version, Unicode check activated | |
2 | Restricted language scope for enhancements by key users | |
3 | Restricted use of external repository objects, dynamic language elements are not allowed | |
4 | Restricted use of external repository objects, dynamic language elements are allowed | |
5 | Restricted language scope for developments in the . | |
- | Obsolete, Unicode check deactivated |
Technically, the addition supplies the column UCCHECK of database table TRDIR. Values other than the ones shown here should not be specified. If incorrect values are specified as a literal and this is known statically, a syntax error occurs. Unknown values, on the other hand, are always saved in the database table TRDIR. Values not contained in the above table act as a version that does not support language elements.
An obsolete addition UNICODE ENABLING has the same meaning as VERSION.
... DIRECTORY ENTRY dir
This addition defines the program attributes for the new or overwritten program in accordance with the content of dir. dir must be a structure of data type TRDIR from the ABAP Dictionary. The required program attributes can be specified in the components of this structure. Invalid content produces invalid program attributes. All program attributes are obtained from dir, except for the creation and change dates, and the corresponding times, program authors or last changed by attributes, and the version numbers. The latter are set to the same values as if nothing were specified.
When using the addition DIRECTORY ENTRY, it is strongly recommended that the content of structure
dir is set only by reading the attributes of an existing program from database table TRDIR, and subsequently making specific changes to individual components.
Switches parts of a program to Unicode. A program with the obsolete language version is imported and the statement DESCRIBE FIELD is switched to the syntax for Unicode systems as an example. The source code of the program is then overwritten with the modified source code and the ABAP language version is set to .
DATA: itab TYPE TABLE OF string,
prog TYPE sy-repid,
uc TYPE trdir-uccheck.
FIELD-SYMBOLS line> TYPE string.
prog = ...
SELECT SINGLE uccheck
FROM trdir
WHERE name = @prog AND
uccheck = ' '
INTO (@uc).
IF sy-subrc = 0.
READ REPORT prog INTO itab.
LOOP AT itab ASSIGNING line>.
TRANSLATE line> TO UPPER CASE.
IF line> CS 'DESCRIBE FIELD' AND
line> CS 'LENGTH' AND
line> NS 'MODE'.
REPLACE '.' IN line> WITH ' IN CHARACTER MODE.'.
ENDIF.
...
ENDLOOP.
SYNTAX-CHECK FOR itab ...
IF sy-subrc = 0.
INSERT REPORT prog FROM itab VERSION 'X'.
ENDIF.
ENDIF.
Catchable Exceptions
Non-Catchable Exceptions
Leave us your contact details and we will call you back. Fields marked with * are mandatory.
We offer holistic SAP solutions from a single source to shape digital change and develop new business areas.
Switzerland
Schaffhausen
Germany
Mannheim, Düsseldorf, Munich
USA
Haverhill
Greece
Thessaloniki