DSNTEJ2H

This JCL prepares and executes the following.

//*
//*    DB2 Sample Application
//*    Phase 2
//*    Sample XML application
//*    IBM C/C++ for OS/390
//*
//*    LICENSED MATERIALS - PROPERTY OF IBM
//*    5650-DB2
//*    (C) COPYRIGHT 2006, 2016 IBM Corp.
//*
//*    STATUS = Version 12
//*
//*  Function =
//*    This JCL prepares and executes the following:
//*    * DSN8EDXR: Sample application to format and display an
//*                XML record
//*    * DSN8EDXU: Sample application to format and update an
//*                existing XML record
//*    * DSN8EDXI: Sample application to insert an XML record
//*    * DSN8EDXD: Sample application to delete an XML record
//*
//*  Pseudocode =
//*    PH02HS01 Step     Prepare DSN8EDXR
//*    PH02HS02 Step     Prepare DSN8EDXU
//*    PH02HS03 Step     Prepare DSN8EDXI
//*    PH02HS04 Step     Prepare DSN8EDXD
//*    PH02HS05 Step     Bind packages and plans for DSN8EDX*
//*    PH02HS06 Step     Execute DSN8EDXR
//*    PH02HS07 Step     Execute DSN8EDXI
//*    PH02HS08 Step     Execute DSN8EDXU
//*    PH02HS09 Step     Execute DSN8EDXD
//*
//*  Dependencies =
//*  (1) Run this job only after running job DSNTEJ1
//*
//*  Notes =
//*
//*  Change Activity =
//*    10/16/2013 Don't use prelinker by default         PI13612 DM1812
//*    08/18/2014 Single-phase migration            s21938_inst1 s21938
//*
//*********************************************************************
//*
//JOBLIB   DD  DISP=SHR,DSN=DSN!!0.SDSNEXIT
//         DD  DISP=SHR,DSN=DSN!!0.SDSNLOAD
//         DD  DISP=SHR,DSN=CEE.V!R!M!.SCEERUN
//*
//*   Step  1: Prepare DSN8EDXR: Format and display an XML record
//*
//PH02HS01 EXEC DSNHC,MEM=DSN8EDXR,COND=(4,LT),
//         PARM.PC=('HOST(C),CCSID(1047),MARGINS(1,72),STDSQL(NO)',
//             SOURCE,XREF),
//         PARM.C='SOURCE LIST MAR(1,72) LO RENT OPTFILE(DD:CCOPTS)',
//         PARM.LKED='AMODE=31,RMODE=ANY,MAP,RENT,REUS,UPCASE'
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8EDXR),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8EDXR),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8EDXR),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNELI)
 INCLUDE SYSLIB(DSNTIAR)
//*
//*   Step  2: Prepare DSN8EDXI: Insert an XML record
//*
//PH02HS02 EXEC DSNHC,MEM=DSN8EDXI,COND=(4,LT),
//         PARM.PC=('HOST(C),CCSID(1047),MARGINS(1,72),STDSQL(NO)',
//             SOURCE,XREF),
//         PARM.C='SOURCE LIST MAR(1,72) LO RENT OPTFILE(DD:CCOPTS)',
//         PARM.LKED='AMODE=31,RMODE=ANY,MAP,RENT,REUS,UPCASE'
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8EDXI),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8EDXI),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8EDXI),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNELI)
 INCLUDE SYSLIB(DSNTIAR)
//*
//*   Step  3: Prepare DSN8EDXU: Update an XML record
//*
//PH02HS03 EXEC DSNHC,MEM=DSN8EDXU,COND=(4,LT),
//         PARM.PC=('HOST(C),CCSID(1047),MARGINS(1,72),STDSQL(NO)',
//             SOURCE,XREF),
//         PARM.C='SOURCE LIST MAR(1,72) LO RENT OPTFILE(DD:CCOPTS)',
//         PARM.LKED='AMODE=31,RMODE=ANY,MAP,RENT,REUS,UPCASE'
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8EDXU),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8EDXU),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8EDXU),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNELI)
 INCLUDE SYSLIB(DSNTIAR)
//*
//*   Step  4: Prepare DSN8EDXI: Delete an XML record
//*
//PH02HS04 EXEC DSNHC,MEM=DSN8EDXD,COND=(4,LT),
//         PARM.PC=('HOST(C),CCSID(1047),MARGINS(1,72),STDSQL(NO)',
//             SOURCE,XREF),
//         PARM.C='SOURCE LIST MAR(1,72) LO RENT OPTFILE(DD:CCOPTS)',
//         PARM.LKED='AMODE=31,RMODE=ANY,MAP,RENT,REUS,UPCASE'
//PC.DBRMLIB   DD DSN=DSN!!0.DBRMLIB.DATA(DSN8EDXD),
//             DISP=SHR
//PC.SYSLIB    DD DSN=DSN!!0.SRCLIB.DATA,
//             DISP=SHR
//PC.SYSIN     DD DSN=DSN!!0.SDSNSAMP(DSN8EDXD),
//             DISP=SHR
//LKED.SYSLMOD DD DSN=DSN!!0.RUNLIB.LOAD(DSN8EDXD),
//             DISP=SHR
//LKED.SYSIN   DD *
 INCLUDE SYSLIB(DSNELI)
 INCLUDE SYSLIB(DSNTIAR)
//*
//*   Step  5: Bind packages and plans for DSN8EDX*
//*
//PH02HS05 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//DBRMLIB  DD  DISP=SHR,DSN=DSN!!0.DBRMLIB.DATA
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
  DSN SYSTEM(DSN)
    BIND PACKAGE(DSN8ED!!) MEMBER(DSN8EDXR) APPLCOMPAT(V!!R1) +
         ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PLAN(DSN8EDXR) -
         PKLIST(DSN8ED!!.DSN8EDXR) -
         ACTION(REPLACE) RETAIN +
         ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PACKAGE(DSN8ED!!) MEMBER(DSN8EDXI) APPLCOMPAT(V!!R1) +
         ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PLAN(DSN8EDXI) -
         PKLIST(DSN8ED!!.DSN8EDXI) -
         ACTION(REPLACE) RETAIN +
         ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PACKAGE(DSN8ED!!) MEMBER(DSN8EDXU) APPLCOMPAT(V!!R1) +
         ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PLAN(DSN8EDXU) -
         PKLIST(DSN8ED!!.DSN8EDXU) -
         ACTION(REPLACE) RETAIN +
         ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PACKAGE(DSN8ED!!) MEMBER(DSN8EDXD) APPLCOMPAT(V!!R1) +
         ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    BIND PLAN(DSN8EDXD) -
         PKLIST(DSN8ED!!.DSN8EDXD) -
         ACTION(REPLACE) RETAIN +
         ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC)
    RUN PROGRAM(DSNTIAD) PLAN(DSNTIA!!)  -
        LIB('DSN!!0.RUNLIB.LOAD')
  END
//SYSIN    DD  *
  SET CURRENT SQLID = 'SYSADM';
  GRANT BIND, EXECUTE ON PLAN DSN8EDXR
    TO PUBLIC;
  GRANT BIND, EXECUTE ON PLAN DSN8EDXI
    TO PUBLIC;
  GRANT BIND, EXECUTE ON PLAN DSN8EDXU
    TO PUBLIC;
  GRANT BIND, EXECUTE ON PLAN DSN8EDXD
    TO PUBLIC;
//*
//*   Step  6: Execute DSN8EDXR
//*
//PH02HS06 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
  DSN SYSTEM(DSN)
    RUN PROGRAM(DSN8EDXR) PLAN(DSN8EDXR) -
        LIB('DSN!!0.RUNLIB.LOAD')
  END
//PRODID   DD  *
100-100-01
//*
//*   Step  7: Execute DSN8EDXI
//*
//PH02HS07 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
  DSN SYSTEM(DSN)
    RUN PROGRAM(DSN8EDXI) PLAN(DSN8EDXI) -
        LIB('DSN!!0.RUNLIB.LOAD')
  END
//PRODDESC DD  *
<product pid="100-102-01" xmlns="http://podemo.org">
  <description>
    <name>Shovel, Basic 22"</name>
    <details>Bow Shovel, 22" wide, straight handle with D-Grip</details>
    <price>9.9</price>
    <weight>1 kg</weight>
    <PromoPrice> 2</PromoPrice>
  </description>
</product>
//*
//*   Step  8: Execute DSN8EDXU
//*
//PH02HS08 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
  DSN SYSTEM(DSN)
    RUN PROGRAM(DSN8EDXU) PLAN(DSN8EDXU) -
        LIB('DSN!!0.RUNLIB.LOAD')
  END
//PRODID  DD  *
100-100-01
//DESCUPDT DD *
<price>11.99</price>
//*
//*   Step  9: Execute DSN8EDXD
//*
//PH02HS09 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//SYSTSIN  DD  *
  DSN SYSTEM(DSN)
    RUN PROGRAM(DSN8EDXD) PLAN(DSN8EDXD) -
        LIB('DSN!!0.RUNLIB.LOAD')
  END
//PRODID   DD  *
100-100-01
/*