CL Programming

Obtaining a Procedure Dump

You can obtain a CL procedure dump during procedure processing. The CL procedure dump consists of a listing of all messages on the procedure's message queue and the values of all variables used in the procedure. This information may be useful in determining the cause of a problem affecting procedure processing.

To obtain a CL procedure dump, do one of the following:

Changing the message default causes a dump to be printed under any of the following conditions:

           (1)
 5763SS1 V3R1M0 940909                                    CL Program Dump                      5/24/94  11:05:03(2) Page 1
 
 Job name . . . . . . . . :  DSP04(3)  User name . . . . . . :   SMITH (3)  Job number  . . . . . . : 01329 (3)
 Program name . . . . . . :  DUMP(4)   Library . . . . . . . :   MYLIB(4)   Statement . . . . . . . : 1200 (5)
 Module name  . . . . . . :  DUMP      Procedure name  . . . :   DUMP
 
                                                              Messages
 
             Message (6)                   Message                         From                         To
 Time        ID                  Sev       Type    Text                    Program          Inst        Program          Inst
 110503      CPC2102             00        COMP    Library LARRY created.  QLICRLIB         *N          DUMP             *N
 110503      CPF2110             40        ESC     Library MOE not found.  QLICLLIB         *N          DUMP             *N
 
                                                             Variables (7)
 
 Variable           Type        Length             Value                          Value in Hexadecimal
                                                    *...+....1....+....2....+     * . . . + . . . . 1 . . . . + . . . . 2 . . . . +
 &ABC               *CHAR                10        'ONE       '                   D6D5C540404040404040
 &XYZ               *CHAR                10        'TWO       '                   E3E6D640404040404040
 
                                          * * * * *   E N D   O F   D U M P   * * * * *

(1)
The program number, release, modification level and date of OS/400.

(2)
The date and time the dump was printed.

(3)
The fully qualified name of the job in which the procedure was running.

(4)
The name and library of the program.

(5)
The number of the statement running when the dump was taken. If the command is a nested command, the statement number is that of the outer command.

(6)
Each message on the call message queue, including the time the message was sent, message ID, severity, type, text, sending program and instruction number, and receiving program and instruction number.

(7)
All variables declared in the procedure, including variable name, type, length, value, and hexadecimal value.

If a decimal variable contains decimal data that is not valid, the character and hexadecimal values are printed as *CHAR variables.

If the value for the variable cannot be located, *NOT ADDRESSABLE is printed. This can occur if the CL procedure is used in a command processing program for a command that has a parameter with either TYPE(*NULL) or PASSVAL(*NULL) specified, or if RTNVAL(*YES) was specified for the parameter and a return variable is not coded on the command.

If a variable is declared as TYPE(*LGL), it is shown on the dump as *CHAR with a length of 1.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]