Receiving data from JCL PARM Example


Scenario - Receiving the data from JCL PARM.

Run JCL -

----+----1----+----2----+----3----+----4----+----5----+
//MATEGJR JOB MSGLEVEL=(1,1), NOTIFY=&SYSUID
//*
//STEP01  EXEC PGM=LINKPROG,PARM=(10,20)
//STEPLIB  DD  DSN=MATEGJ.COBOL.LOADLIB,DISP=SHR
//SYSOUT   DD  SYSOUT=*

Code -

----+----1----+----2----+----3----+----4----+----5----+
       IDENTIFICATION DIVISION.
       PROGRAM-ID. LINKPROG.
       AUTHOR. MTH.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-RESULT       PIC 9(04). 
       LINKAGE SECTION.
       01 LN-VAR.
          05 LN-LENGTH    PIC S9(04) COMP.
          05 LN-IP1       PIC 9(02).
          05 FILLER       PIC X(01).
          05 LN-IP2       PIC 9(02).

       PROCEDURE DIVISION USING LN-VAR.
           COMPUTE WS-RESULT = LN-IP1 * LN-IP2.
           DISPLAY "RESULT: " WS-RESULT.

           STOP RUN.

Output -

RESULT: 0200

Explaining Example -

In the above example:

  • LINKPROG is receiving the data from run JCL. LN-IP1, LN-IP2 receives the data from JCL, multiply those values and place the result into WS-RESULT.