Sign in

docs RPG Guide

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