Troubleshooting
Problem
COBOL does not currently have a syntax to retrieve the job date. However, COBOL programs can call the system API QWDRJOBD to retrieve the Job Description which contains the job date.
Resolving The Problem
COBOL does not currently have a syntax to retrieve the job date. However, COBOL programs can call the system API QWDRJOBD to retrieve the Job Description which contains the job date.
Following is an example in the API Reference of how to code this. This example works for ILE COBOL and OPM COBOL.
-----------------------------------------------------------------------------------------
Example source WDRJOBD
Compile using CRTBNDCBL PGM(<yourlib>/WDRJOBD) SRCFILE(<yourlib>/QCBLLESRC)
Call from command line. The sample requires two parameters to be passed, the jobd description and the library for the jobd.
05/10/25
DMSG QPGMR
Use cmd DSPMSG QPGMR to display the messages:
Following is an example in the API Reference of how to code this. This example works for ILE COBOL and OPM COBOL.
-----------------------------------------------------------------------------------------
Example source WDRJOBD
05 JOB-DESCRIPTION-NAME PIC X(00010).
05 JOB-DESCRIPTION-LIB-NAME PIC X(00010).
05 USER-NAME PIC X(00010).
05 JOB-DATE PIC X(00008).
05 JOB-SWITCHES PIC X(00008).
05 JOB-QUEUE-NAME PIC X(00010).
05 JOB-QUEUE-LIB-NAME PIC X(00010).
05 JOB-QUEUE-PRIORITY PIC X(00002).
05 HOLD-JOB-QUEUE PIC X(00010).
05 OUTPUT-QUEUE-NAME PIC X(00010).
05 OUTPUT-QUEUE-LIB-NAME PIC X(00010).
05 OUTPUT-QUEUE-PRIORITY PIC X(00002).
05 PRINTER-DEVICE-NAME PIC X(00010).
05 PRINT-TEXT PIC X(00030).
05 SYNTAX-CHECK-SEVERITY PIC S9(00009) BINARY.
05 END-SEVERITY PIC S9(00009) BINARY.
05 MESSAGE-LOG-SEVERITY PIC S9(00009) BINARY.
05 MESSAGE-LOG-LEVEL PIC X(00001).
05 MESSAGE-LOG-TEXT PIC X(00010).
05 LOG-CL-PROGRAMS PIC X(00010).
05 INQUIRY-MESSAGE-REPLY PIC X(00010).
05 DEVICE-RECOVERY-ACTION PIC X(00013).
05 TIME-SLICE-END-POOL PIC X(00010).
05 ACCOUNTING-CODE PIC X(00015).
05 ROUTING-DATA PIC X(00080).
05 TEXT-DESCRIPTION PIC X(00050).
05 RESERVED PIC X(00001).
05 OFFSET-INITIAL-LIB-LIST PIC S9(00009) BINARY. (1)
05 NUMBER-LIBS-IN-LIB-LIST PIC S9(00009) BINARY. (2)
05 OFFSET-REQUEST-DATA PIC S9(00009) BINARY.
05 LENGTH-REQUEST-DATA PIC S9(00009) BINARY.
05 JOB-MESSAGE-QUEUE-MAX-SIZE PIC S9(00009) BINARY.
05 JOB-MESSAGE-QUEUE-FULL-ACTION PIC X(00010).
* 05 RESERVED2 PIC X(00001).
*
* Varying length
* 05 INITIAL-LIB-LIST PIC X(00011).
*
*
* Varying length
* 05 REQUEST-DATA PIC X(00001).
*
* Varying length
*
* Command String Data Structure
*
01 COMMAND-STRING.
05 TEXT1 PIC X(22) VALUE 'SNDMSG MSG(''LIBRARY- '.
05 LIB PIC X(10).
05 TEXT2 PIC X(15) VALUE ''') TOUSR(QPGMR)'.
*
01 COMMAND-LENGTH PIC S9(10)V99999 COMP-3.
01 RECEIVER-LENGTH PIC S9(9) COMP-4.
01 FORMAT-NAME PIC X(8) VALUE 'JOBD0100'.
01 QCMDEXC PIC X(10) VALUE 'QCMDEXC'.
01 X PIC S9(9) BINARY.
*
* Job Description and Library Name Structure
*
01 JOBD-AND-LIB-NAME.
05 JOB-DESC PIC X(10).
05 JOB-DESC-LIB PIC X(10).
*
LINKAGE SECTION.
*
* Two Parameters are being passed into this program.
*
01 JOBD PIC X(10).
01 JOBDL PIC X(10).
*
PROCEDURE DIVISION USING JOBD, JOBDL.
MAIN-LINE.
*
* Beginning of Mainline
*
* Move the two parameters passed into JOB-DESC and JOB-DESC-LIB.
*
MOVE JOBD TO JOB-DESC.
MOVE JOBDL TO JOB-DESC-LIB.
*
* Error Code Parameter is set to 100.
*
* MOVE 100 TO BYTES-PROVIDED.
*
* Receiver Length Set to 5000.
*
MOVE 5000 TO RECEIVER-LENGTH.
*
* Call the QWDRJOBD API.
*
CALL QWDRJOBD USING RECEIVER-VARIABLE, RECEIVER-LENGTH,
FORMAT-NAME, JOBD-AND-LIB-NAME, QUS-EC.
*
* See if any errors were returned in the error code parameter.
*
PERFORM ERRCOD.
*
* Add one to the Initial library list offset because COBOL is a
* Base 1 language.
*
DISPLAY JOB-DATE.
MOVE OFFSET-INITIAL-LIB-LIST TO X.
ADD 1 TO X.
MOVE 47 TO COMMAND-LENGTH.
*
* Let's tell QGPMR the library value was for this job.
*
PERFORM NUMBER-LIBS-IN-LIB-LIST TIMES
MOVE RECEIVER-VARIABLE(X:10) TO LIB,
CALL QCMDEXC USING COMMAND-STRING, COMMAND-LENGTH,
ADD 11 TO X,
PERFORM RECLEN,
END-PERFORM.
*
STOP RUN.
*
* End of Mainline
*
*
* Subroutine to handle errors returned in the error code
* parameter.
*
ERRCOD.
*
IF BYTES-AVAILABLE OF QUS-EC > 0
*
* Process errors returned from the API.
*
STOP RUN.
*
* Subroutine to check to see if there is enough room in the
* receiver variable for the next library in the list.
*
RECLEN.
*
IF (X + 10) >= RECEIVER-LENGTH
STOP RUN.
Compile using CRTBNDCBL PGM(<yourlib>/WDRJOBD) SRCFILE(<yourlib>/QCBLLESRC)
Call from command line. The sample requires two parameters to be passed, the jobd description and the library for the jobd.
The sample will send a message to userid QPGMR.
To demonstrate this sample the TOSHJTB jobd was changed to use a hard coded job date 05/10/2025
To demonstrate this sample the TOSHJTB jobd was changed to use a hard coded job date 05/10/2025
Job description: TOSHJTB Library: QGPL
User profile . . . . . . . . . . . . . . . . . . : *RQD
CL syntax check . . . . . . . . . . . . . . . . : *NOCHK
Hold on job queue . . . . . . . . . . . . . . . : *NO
End severity . . . . . . . . . . . . . . . . . . : 30
Job date . . . . . . . . . . . . . . . . . . . . : 05/10/2025
Job switches . . . . . . . . . . . . . . . . . . : 00000000
Inquiry message reply . . . . . . . . . . . . . : *RQD
Job priority (on job queue) . . . . . . . . . . : 5
Job queue . . . . . . . . . . . . . . . . . . . : QBATCH
Library . . . . . . . . . . . . . . . . . . . : QGPL
Output priority (on output queue) . . . . . . . : 5
Printer device . . . . . . . . . . . . . . . . . : *USRPRF
Output queue . . . . . . . . . . . . . . . . . . : *USRPRF
Library . . . . . . . . . . . . . . . . . . . :
> CALL PGM(WDRJOBD) PARM(('TOSHJTB') ('QGPL')) 05/10/25
DMSG QPGMR
Use cmd DSPMSG QPGMR to display the messages:
Queue . . . . . : QPGMR Program . . . . : *DSPMSG
Library . . . : QUSRSYS Library . . . :
Severity . . . : 00 Delivery . . . : *HOLD
Type reply (if required), press Enter.
From . . . : BIMBRA 05/13/25 13:39:56
LIBRARY- TOSHLAB
From . . . : BIMBRA 05/13/25 13:39:56
LIBRARY- QGPL
From . . . : BIMBRA 05/13/25 13:39:56
LIBRARY- QTEMP
From . . . : BIMBRA 05/13/25 13:39:56
LIBRARY- TOSHX
[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m3p000000F98bAAC","label":"Programming ILE Languages-\u003ECOBOL"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"and future releases;7.1.0"}]
Historical Number
427927123
Was this topic helpful?
Document Information
Modified date:
13 May 2025
UID
nas8N1014761