Accessing the RETURNCODE Data Area
Accessing the RETURNCODE Data Area
Both the CRTBNDRPG and CRTRPGMOD (see Using the CRTRPGMOD Command) commands create and update a data area with the status of the last compilation. This data area is named RETURNCODE, is 400 characters long, and is placed into library QTEMP.
To access the RETURNCODE data area, specify RETURNCODE in factor 2 of a *DTAARA DEFINE statement.
The data area RETURNCODE has the following format:
Byte : Content and Meaning
1 : For CRTRPGMOD, character ‘1’ means that a module was created in the specified library. For CRTBNDRPG, character ‘1’ means a module with the same name as the program name was created in QTEMP.
2 : Character ‘1’ means that the compilation failed because of compiler errors.
3 : Character ‘1’ means that the compilation failed because of source errors.
4 : Not set. Always ‘0’.
5 : Character ‘1’ means the translator was not called because either OPTION(*NOGEN) was specified on the CRTRPGMOD or CRTBNDRPG command; or the compilation failed before the translator was called.
6-10 : Number of source statements
11-12 : Severity level from command
13-14 : Highest severity of diagnostic messages
15-20 : Number of errors that are found in the module (CRTRPGMOD) or program (CRTBNDRPG).
21-26 : Compile date
27-32 : Compile time
33-100 : Not set. Always blank
101-110 : Module (CRTRPGMOD) name or program (CRTBNDRPG) name.
111-120 : Module (CRTRPGMOD) library name or program (CRTBNDRPG) library name.
121-130 : Source file name
131-140 : Source file library name
141-150 : Source file member name
151-160 : Compiler listing file name
161-170 : Compiler listing library name
171-180 : Compiler listing member name
181-329 : Not set. Always blank
330-334 : Total elapsed compile time to the nearest 10th of a second (or -1 if an error occurs while this time is being calculated)
335 : Not set. Always blank
336-340 : Elapsed compile time to the nearest 10th of a second (or -1 if an error occurs while this time is being calculated)
341-345 : Elapsed translator time to the nearest 10th of a second (or -1 if an error occurs while this time is being calculated)
346-379 : Not set. Always blank
380-384 : Total compile CPU time to the nearest 10th of a second
385 : Not set. Always blank
386-390 : CPU time that is used by compiler to the nearest 10th of a second
391-395 : CPU time that is used by the translator to the nearest 10th of a second
396-400 : Not set. Always blank