DSNTEJ62

This JCL prepares and executes a sample application program, DSN8EC2, that demonstrates how to call a Db2 stored procedure for IMS ODBA.

//********************************************************************
//*  Name = DSNTEJ62
//*
//*  Descriptive Name = DB2 Sample Application
//*                     Phase 6
//*                     Sample Client: Stored procedure for IMS ODBA
//*                     Cobol Language
//*
//*
//*    LICENSED MATERIALS - PROPERTY OF IBM
//*    5650-DB2
//*    (C) COPYRIGHT 1982, 2016 IBM Corp.  All Rights Reserved.
//*
//*    STATUS = Version 12
//*
//*  Function = This JCL prepares and executes a sample application
//*             program, DSN8EC2, that demonstrates how to call a DB2
//*             stored procedure for IMS ODBA.  The results are
//*             directed to the SYSOUT DD.
//*
//*             DSN8EC2 accepts a runtime parameter in step PH062S03
//*             that specifies -both- the DB2 server location name
//*             where the stored procedure is registered -and- the id
//*             of the IMS subsystem where the ODBA activity is to
//*             occur.  You must modify this job to provide the IMS
//*             subsystem id.  See step PH062S03 for details.
//*
//*  Dependencies:
//*  (1) Run sample job DSNTEJ61 at the server site before running this
//*      job; DSNTEJ61 prepares the sample stored proc for IMS ODBA
//*  (2) Modify this job as directed in step PH062S03
//*  (3) Run this job at the client site
//*
//*
//*  Change activity =
//*    08/18/2014 Single-phase migration            s21938_inst1 s21938
//*
//********************************************************************
//JOBLIB   DD DSN=DSN!!0.SDSNEXIT,DISP=SHR
//         DD DSN=DSN!!0.SDSNLOAD,DISP=SHR
//         DD DSN=CEE.V!R!M!.SCEERUN,DISP=SHR
//         DD DSN=DSN!!0.RUNLIB.LOAD,DISP=SHR
//*
//********************************************************************
//*  Step 1:  Pre-compile, compile, and link-edit the client program
//********************************************************************
//PH062S01 EXEC DSNHICOB,MEM=DSN8EC2,
//         COND=(4,LT),
//         PARM.PC=('HOST(IBMCOB)',APOST,APOSTSQL,SOURCE,
//         NOXREF,'SQL(DB2)','DEC(31)'),
//         PARM.COB=(NOSEQUENCE,QUOTE,RENT,'PGMNAME(LONGUPPER)'),
//         PARM.LKED='AMODE=31,RMODE=ANY,MAP'
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8EC2),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8EC2),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8EC2),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNELI)
 INCLUDE SYSLIB(DSNTIAR)
//*
//********************************************************************
//*  Step 2:  Bind the client program package and plan
//********************************************************************
//PH062S02   EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA,
//             DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN  DD  *
 DSN SYSTEM(DSN)
 BIND PACKAGE(DSN8EC!!) MEMBER(DSN8EC2) APPLCOMPAT(V!!R1) +
      ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
 BIND PACKAGE(SAMPLOC.DSN8EC!!) APPLCOMPAT(V!!R1) +
      MEMBER(DSN8EC2) ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
 BIND PLAN(DSN8EC2) -
      PKLIST(DSN8EC!!.DSN8EC2, -
             SAMPLOC.DSN8EC!!.DSN8EC2) -
      ACTION(REPLACE) RETAIN +
      ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
 RUN  PROGRAM(DSNTIAD) PLAN(DSNTIA!!) -
     LIB('DSN!!0.RUNLIB.LOAD')
//SYSIN    DD *
 SET CURRENT SQLID = 'SYSADM';
 GRANT BIND, EXECUTE ON PLAN DSN8EC2
   TO PUBLIC;
//*
//********************************************************************
//*  STEP 3:  Invoke the client for the IMS ODBA stored procedure
//*    Note:  The PARMS keyword in the RUN statement below accepts a
//*           single argument that specifies the DB2 server location
//*           name -and- the IMS subsystem id, in that order and
//*           separated by a single blank character.
//*
//*           Example: PARMS('SANTA_TERESA_LAB IMSP')
//*
//*           Verify that the PARMS keyword below specifies the name
//*           of the DB2 server location name where you ran DSNTEJ61.
//*
//*           Change the string ?IMSID? to the id of the IMS subsystem
//*           where you want the ODBA-directed activity to occur.  This
//*           subsystem must reside on the same server as the DB2
//*           server and must be running IMS/ESA V6 or a subsequent
//*           release.
//*
//********************************************************************
//PH062S03 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
 DSN SYSTEM(DSN)
   RUN PROGRAM(DSN8EC2) -
   PLAN(DSN8EC2)        -
   PARMS('SAMPLOC ?IMSID?')
 END
//*