DSNTEJ61

This JCL creates a sample application, DSN8EC1, that demonstrates a Db2 stored procedure for IMS ODBA.

//********************************************************************
//*  Name = DSNTEJ61
//*
//*  Descriptive Name = DB2 Sample Application
//*                     Phase 6
//*                     Sample 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 creates a sample application, DSN8EC1, that
//*             demonstrates a DB2 stored procedure for IMS ODBA.
//*
//*             DSN8EC1 can be used to insert, retrieve, update,
//*             and delete rows in the IMS IVP telephone directory
//*             database, DFSIVD1.
//*
//*             DSN8EC1 has one input-only parm, five input/output
//*             parms, and three output-only parms.
//*             - Input only:
//*               (1) TDBCTLID  : ID of IMS subsystem where data resides
//*             - Input/Output:
//*               (2) COMMAND   : Action to be taken, or action taken
//*                   - ADD: Add an entry
//*                   - DEL: Delete an entry
//*                   - DIS: Retrieve an entry
//*                   - UPD: Update an entry
//*               (3) LAST_NAME : Operand for, or result of, COMMAND
//*               (4) FIRST_NAME:    "     "   "    "    "      "
//*               (5) EXTENSION :    "     "   "    "    "      "
//*               (6) ZIP-CODE  :    "     "   "    "    "      "
//*             - Output only:
//*               (7) AIBRETRN  : Return code from IMS AIB
//*               (8) AIBREASN  : Reason code from IMS AIB
//*               (9) ERROR-CALL: DL/I command executed
//*
//*
//*  Dependencies:
//*  (1) Run this job at the server site before running sample job
//*      DSNTEJ62 at the client site
//*  (2) The server site must have an IMS subsystem running IMS/ESA V6
//*      or a subsequent release
//*  (3) This IMS subsystem must have the following IMS IVP parts
//*      available
//*      (A) DFSIVD1, the IMS IVP telephone directory database
//*      (B) DFSIVP64, the IMS IVP Cobol PSB for BMP access to DFSIVD1
//*  (4) Specify the id for this IMS subsystem in DB2 sample job
//*      DSNTEJ62, step PH062S03
//*  (5) The server site must also have a WLM environment started by
//*      a proc that references the IMS reslib in both the STEPLIB DD
//*      and the DFSRESLB DD.  See the DB2 Installation Guide for more
//*      information.
//*  (6) Before running this job, verify that this WLM environment is
//*      the one specified in the CREATE PROCEDURE statement in step
//*      PH061S01.
//*
//*  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:  Drop the sample ODBA stored procedure, DSN8.DSN8EC1
//********************************************************************
//PH061S01 EXEC PGM=IKJEFT01,DYNAMNBR=20
//SYSTSPRT DD  SYSOUT=*
//SYSTSIN  DD  *
 DSN SYSTEM(DSN)
 RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) -
      LIB('DSN!!0.RUNLIB.LOAD') -
      PARM('RC0')
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSIN    DD *
 SET CURRENT SQLID = 'SYSADM';

 DROP PROCEDURE DSN8.DSN8EC1 RESTRICT;

//*
//********************************************************************
//*  STEP 2:  Create the sample ODBA stored procedure, DSN8.DSN8EC1
//********************************************************************
//PH061S02 EXEC PGM=IKJEFT01,DYNAMNBR=20
//SYSTSPRT DD  SYSOUT=*
//SYSTSIN  DD  *
 DSN SYSTEM(DSN)
 RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!) -
      LIB('DSN!!0.RUNLIB.LOAD')
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSIN    DD *
 SET CURRENT SQLID = 'SYSADM';

 CREATE PROCEDURE
   DSN8.DSN8EC1(
     IN CHAR(8)     CCSID EBCDIC,
  INOUT CHAR(8)     CCSID EBCDIC,
  INOUT CHAR(10)    CCSID EBCDIC,
  INOUT CHAR(10)    CCSID EBCDIC,
  INOUT CHAR(10)    CCSID EBCDIC,
  INOUT CHAR(7)     CCSID EBCDIC,
    OUT INT,
    OUT INT,
    OUT CHAR(4)     CCSID EBCDIC )
   FENCED
   RESULT SETS 0
   EXTERNAL NAME DSN8EC1
   LANGUAGE COBOL
   PARAMETER STYLE GENERAL
   NOT DETERMINISTIC
   NO SQL
   NO DBINFO
   NO COLLID
   WLM ENVIRONMENT WLMENV
   ASUTIME LIMIT 50
   STAY RESIDENT NO
   PROGRAM TYPE MAIN
   SECURITY DB2
   RUN OPTIONS 'TRAP(OFF),RPTOPTS(OFF),TERMTHDAC((QUIET),NONOVR)'
   COMMIT ON RETURN NO;
//*
//********************************************************************
//*  Step 3:  Pre-compile, compile, and link-edit the stored procedure
//********************************************************************
//PH061S03 EXEC DSNHICOB,MEM=DSN8EC1,
//         COND=(4,LT),
//         PARM.PC=('HOST(IBMCOB)',APOST,APOSTSQL,SOURCE,
//         NOXREF,'SQL(DB2)','DEC(31)'),
//         PARM.COB=(NOSEQUENCE,QUOTE,RENT,'PGMNAME(LONGUPPER)')
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8EC1),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8EC1),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8EC1),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNRLI)
 NAME DSN8EC1(R)
//*
//********************************************************************
//*  Step 4:  Bind the stored procedure package
//*           Note: This step is commented out for sample stored
//*                 procedure DSN8EC1 because it contains no SQL
//*                 statements.  If your stored procedure contains
//*                 SQL statements, you must bind it as a package.
//********************************************************************
//**PH061S04   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(DSN8EC1) APPLCOMPAT(V!!R1) +
//**      ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
//*