DSNTEJ6T

THIS JCL PREPARES AND EXECUTES A SAMPLE APPLICATION PROGRAM, DSN8ED2, THAT DEMONSTRATES A Db2 STORED PROCEDURE THAT RETURNS A RESULT SET.

//********************************************************************
//*  DESCRIPTIVE NAME = DB2 SAMPLE APPLICATION
//*                     PHASE 6
//*                     SAMPLE STORED PROCEDURE WITH RESULT SET
//*                     C 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, DSN8ED2, THAT DEMONSTRATES A DB2 STORED
//*             PROCEDURE THAT RETURNS A RESULT SET.
//*
//*             DSN8ED2 ACCEPTS A DB2 COMMAND PASSED AS AN INPUT
//*             PARAMETER FROM A CLIENT PROGRAM ON A REMOTE DB2
//*             SUBSYSTEM.  IT CALLS THE IFI UTILITY TO PROCESS THE
//*             COMMAND AND PLACES THE RESPONSES IN A TEMPORARY DB2
//*             TABLE SO THEY CAN BE RETURNED AS A RESULT SET TO THE
//*             CLIENT.
//*
//*  DEPENDENCIES:
//*  (1) RUN THIS JOB AT THE SERVER SITE BEFORE RUNNING SAMPLE JOB
//*      DSNTEJ6D 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:  DROP OBJECTS CREATED BY ANY PREVIOUS RUN OF DSNTEJ6T:
//*           - SAMPLE STORED PROCEDURE DSN8.DSN8ED2
//*           - GLOBAL TEMPORARY TABLE DSN8.DSN8ED2_RS_TBL
//********************************************************************
//PH06TS01 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.DSN8ED2 RESTRICT;
 COMMIT;

 DROP TABLE DSN8.DSN8ED2_RS_TBL;
 COMMIT;

//*
//********************************************************************
//*  STEP 2:  CREATE SAMPLE STORED PROCEDURE DSN8.DSN8ED2
//*           AND GLOBAL TEMPORARY TABLE DSN8.DSN8ED2_RS_TBL
//********************************************************************
//PH06TS02 EXEC PGM=IKJEFT01,DYNAMNBR=20,
//         COND=(4,LT)
//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.DSN8ED2(
     IN VARCHAR(4096)    CCSID EBCDIC,
    OUT INTEGER,
    OUT INTEGER,
    OUT INTEGER,
    OUT VARCHAR(880)     CCSID EBCDIC )
   LANGUAGE C
   DETERMINISTIC
   MODIFIES SQL DATA
   EXTERNAL NAME DSN8ED2
   PARAMETER STYLE GENERAL WITH NULLS
   COLLID DSN8ED!!
   WLM ENVIRONMENT WLMENV
   ASUTIME LIMIT 50
   STAY RESIDENT NO
   PROGRAM TYPE MAIN
   SECURITY DB2
   NO DBINFO
   RESULT SET 1
   COMMIT ON RETURN NO;

 CREATE GLOBAL TEMPORARY TABLE DSN8.DSN8ED2_RS_TBL
      ( RS_SEQUENCE   INTEGER      NOT NULL,
        RS_DATA       CHAR( 80 )   NOT NULL )
   CCSID EBCDIC;

//*
//********************************************************************
//*  STEP 3:  PRE-COMPILE, COMPILE, AND LINK-EDIT THE STORED PROCEDURE
//********************************************************************
//PH06TS03 EXEC DSNHC,MEM=DSN8ED2,
//         COND=(4,LT),
//         PARM.PC=('HOST(C),CCSID(1047),MARGINS(1,72),STDSQL(NO)',
//             SOURCE,XREF),
//         PARM.C='SOURCE LIST MARGINS(1,72),RENT OPTFILE(DD:CCOPTS)',
//         PARM.LKED='AMODE=31,RMODE=ANY,MAP,RENT'
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8ED2),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8ED2),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8ED2),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNRLI)
 INCLUDE SYSLIB(DSNTIAR)
//*
//********************************************************************
//*  STEP 4:  BIND THE STORED PROCEDURE PACKAGE
//********************************************************************
//PH06TS04 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(DSN8ED!!) APPLCOMPAT(V!!R1) +
      MEMBER(DSN8ED2) ACT(REP) -
      ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
//*