Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
23מתוך 1עמוד
DPT Version 3.30 January 2019
Migration Guide
For any questions, please contact:
DPT Support Center : 03-5763199
Email: [email protected]
23מתוך 2עמוד
This document provides the information needed in order to migrate to DPT version 3.30. DPT version 3.30 is fully LE compliant and repackaged to improve maintenance and support.
The Migration Guide contains five appendixes:
Appendix A: Describes the Migration Parameters Appendix B: Contains the list of the jobs in the Install library Appendix C: Describes the DPT program DPTDELTS that can be used to delete unused Temporary Storage queues created by DPT. Appendix D: Describes the DPT batch subroutine DPTWHITB that can be used to find out where a DPT table resides: in memory, in data set, or does not exist at all. Appendix E: Describes the DPT batch subroutine DPTTBUSD that can be used to find out how many and which tables have been used by the running job from the moment it started until the checkup. Appendix F: Describes the DPT subroutine DPTECST that can be used to find out whether a specific table is in the ECSA or not, and if the table is in the ECSA, the routine returns the load date and time and other information related to the ECSA load job.
DPT load libraries are distributed on both PDS and PDSE library types and the user can choose which one of these two to use. The migration plan described here requires the customer to create a new DPT environment, optionally test it with the IVP programs and then migrate the current DPT to the new version.
DPT V3.30 was tested in the following environments:
z/OS version 1.10 – 1.13, 2.1, 2.2, 2.3
CICSTS 3.2 – 5.5
Cobol 4.2-6.1
DB2 V9 – V12
Natural Version 8.2.6 - ADABAS – Versions 8.2.5-6
Preparing for Migration 1. DPT V3.30 software is delivered in two XMIT files:
DPT.V330.INSTALL.Dyymmdd.XMIT
DPT.V330.RECEIVE.JOB.TXT
2. Modify and run the following JCL to allocate two files, which will be used to receive the
PC files listed above. SMS users should change this JCL according to their site rules:
//xxxxxxx JOB (DPT),, //S010 EXEC PGM=IEFBR14 //XMIT DD DISP=(NEW,CATLG),DSN=DPT.V330.INSTALL.XMIT,
23מתוך 3עמוד
// SPACE=(CYL,(20,5),RLSE),VOL=SER=volser,UNIT=SYSDA, // DCB=(LRECL=80,BLKSIZE=27920,RECFM=FB) //JOB DD DISP=(NEW,CATLG),DSN=DPT.V330.RECEIVE.JOB.TXT, // SPACE=(TRKS,(2,1),RLSE),VOL=SER=volser,UNIT=SYSDA, // DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB)
3. Upload the above files to the mainframe with following definitions:
DPT.V330.RECEIVE.JOB.TXT should be uploaded as ‘ascii’.
DPT.V330.INSTALL.Dyymmdd.XMIT should be uploaded as ‘binary’ and
'nocrlf'.
4. EDIT the job ‘DPT.V330.RECEIVE.JOB.TXT‘ and change the parameters surrounded
with ‘%’ with the standards of your site. A list of these parameters can be found in
Appendix A.
One of the parameters is LIBTYPE, which determine your runtime load libraries, PDS or
PDSE. When you submit the job it will create all the required DPT V3.30 libraries,
corresponding to your selections.
The table below shows all the distributed libraries, PDS as well as PDSE runtime libraries.
23מתוך 4עמוד
Name of File
File Content DPT.V330.BATCH.LOAD DPT V3.30 Batch load modules
DPT.V330.BATCH.PDSE DPT V3.30 Batch PDSE load modules
DPT.V330.CICS.LOAD DPT V3.30 CICS load modules, English version, DPC and
DPU
DPT.V330.CICS.PDSE DPT V3.30 CICS load modules in a PDSE library, English
version, DPC and DPU
DPT.V330.CICS.LOAD.SAA DPT V3.30 CICS load modules, Hebrew version, DPC and
DPU
DPT.V330.CICS.PDSE.SAA DPT V3.30 CICS load modules in a PDSE library, Hebrew
version, DPC and DPU
DPT.V330.CICS.LOADF DPT V3.30 CICS load modules, English version, DPF
DPT.V330.CICS.PDSEF DPT V3.30 CICS load modules in a PDSE library, English
version, DPF
DPT.V330.CICS.LOADF.SAA DPT V3.30 CICS load modules, Hebrew version, DPF
DPT.V330.CICS.PDSEF.SAA DPT V3.30 CICS load modules in a PDSE library, Hebrew
version, DPF
DPT.V330.BATCH.NAT1.LOAD DPT V3.30 Natural 1 load modules, compiled with the
THREAD compiler option
DPT.V330.BATCH.NAT1.PDSE DPT V3.30 Natural 1 load modules in a PDSE library,
compiled with the THREAD compiler option
DPT.V330.TSO.LOAD DPT V3.30 TSO load modules, English version
DPT.V330.TSO.PDSE DPT V3.30 TSO load modules in a PDSE library, English
version
DPT.V330.TSO.LOAD.SAA DPT V3.30 TSO load modules, Hebrew version
DPT.V330.TSO.PDSE.SAA DPT V3.30 TSO load modules in a PDSE library, Hebrew
version
DPT.V330.APFLOAD DPT V3.30 APF modules (for ECSA and XXL services)
DPT.V330.APFPDSE DPT V3.30 APF modules in a PDSE library (for ECSA and
XXL services)
DPT.V330.DB2.LOAD DPT/DB2 V3.30 interface load modules
DPT.V330.DB2.PDSE DPT/DB2 V3.30 interface load modules in a PDSE library
DPT.V330.DB2.DBRM DPT/DB2 V3.30 installation library DBRM members
DPT.V330.SAMPLIB DPT V3.30 examples, including sample programs, sample
job, etc.
DPT.V330.ASMMAC DPT V3.30 Assembler macro library
DPT.V330.COPYLIB DPT V3.30 COBOL COPY library
DPT.V330.ISPMLIB DPT ISPF XXL
DPT.V330.ISPPLIB DPT ISPF XXL
DPT.V330.INSTALL DPT V3.30 DPT Install library, sample install jobs, sample
DPT Utilities jobs
5. The DPT PDS LOAD libraries includes a new member name called $$DPTMAP, which describes the content of the whole library. Please refer to the explanation below for details. This can help the help desk to determine which DPT Putlevel a customer is using.
Column 4-11 Load module name Column 16-23 CSECT name in the module
If more than one CSECT exists, the line will be repeated
23מתוך 5עמוד
Column 27-34 The date when the CSECT compiled Sample member $$DPTMAP: DPTABUE DPTABUE 3/25/15 DPTACBT DPTTKSTB 7/21/15 DPTACBT 3/25/15 DPTACBTR DPTTKSTB 7/21/15 DPTBDHS 3/25/15 DPTSGMG 3/25/15 DPTFRHX 3/25/15 DPTADHX 3/25/15 DPTPNBM 3/25/15 DPTACBTR 3/25/15 DPTACBTX DPTTKSTB 7/21/15 DPTACBTX 3/31/15 DPTBDFL 3/25/15 DPTADHX 3/25/15
6. The DPT.V330.INSTALL library contains the installation jobs, the IVP (Installation
Verification Process) jobs and DPT sample utilities jobs. See APPENDIX B for a list of all
members and their functionality.
Migration Considerations
Several DPT flavors are used today with customers on z/OS, in Hebrew or English:
VSAM/VSAM
VSAM/ADABAS
ADABAS/ADABAS
VSAM/DB2
DB2/DB2
The first indication defines where the DPT catalog (Table 1 - Table of tables and Table 2 - table of fields in tables) resides and the second indication defines where the table data resides. For example: VSAM/VSAM means the DPT catalog is in the DPT VSAM TABFILE and the DPT TABLE DATA resides in a VSAM file. DPT File concatenations (multiple DPT Files) are supported as a rule – some limitations apply for DPT utilities. The DPT catalog can reside in one environment only (VSAM, ADABAS or DB2) – whereas the data can reside in VSAM only, or in a mix of VSAM and ADABAS or VSAM and DB2.
7. In order to generate the DPT installation jobs update member #00PARMS in the
DPT.V330.INSTALL library (refer to APPENDIX A for an explanation of the parameters
in that member). Next, run the #01SUBS REXX to customize the installation jobs.
Retain the XMIT files so you can regenerate the DPT.V330.INSTALL library, which will
enable you to rerun the job tailoring.
The table below is a matrix that defines the steps that are needed to install DPT. Choose the DPT flavor that your installation is using and follow the installation and installation verification steps accordingly.
23מתוך 6עמוד
DPT Flavor VSAM Catalog VSAM DATA/ADABAS DATA
STEP 1 EDIT #00PARM according to your site’s standards. At the end of the member, you can set the DPT Table numbers for the IVP process; make sure to set those table numbers to numbers that are free in your installation. Defaults are 2700 to 2705, 2800 to 2805 and 3300 and 3301
STEP 2 Execute #01SUBS REXX to tailor all JCL in the INSTALL library
STEP 3 Run #02REXX to add the DPT/XXL inquiry REXX to the REXX library
STEP 4 Run #05CLIST to add the DPT/TSO interface to the CLIST library
STEP 5 Run #06CRTAB to define a DPT VSAM file
STEP 6 Run #07GENGB using #071INPT to define a DPT Global Block for VSAM. If two DPT Global Blocks, one for Batch and another one for CICS, are required, generate them by making the necessary changes in the job and submitting it.
STEP 7 Run #08INTAB to initialize the DPT Catalog (Table 1 and Table2) It is possible to use existing DPT tables – there are no version dependencies on the DPT table data and in a case of a fall back you can continue to use the existing DPT table data.
STEP 8 Run #09ECLM to generate the DPT/ECSA ROOT module
STEP 9 Run #10AUTH to generate DPT/ECSA Table-set authorization module
STEP 10 Run #11CSD to define DPT in CICS – do not use existing DPT definitions – use the new definitions. You can define the DPT files locally in one CICS region and refer to them remotely from other CICS regions. Make sure to read the comments in the job as you may have to use different resource definitions depending on your environment infrastructure.
STEP 11 DPT/IVP – Run @01ADDTB – Define the IVP tables to DPT
STEP 12 DPT/IVP – Run @06INSTB - Insert data into the IVP tables
STEP 13 DPT/IVP – Run @07ADBG1 – Fill the big table 1 with data
STEP 14 DPT/IVP – Run @09ECMG - Load the tables needed to DPT/ECSA and/ or DPT/XXL (After starting DPT/XXL server first!)
STEP 15 DPT/IVP - Run @10IVPTB – Compile the test plan using @101INPT
STEP 16 DPT/IVP - Run @11RNIVP – Run the IVP batch job. Check for error messages – job should finish with Return Code = 0
STEP 17 DPT/IVP - Run @12CSD - Define the IVP transaction, DPZT, in CICS
STEP 18 DPT/IVP - Run Transaction DPZT in CICS – Error messages with a return code of 165 will appear in the CICS SYSOUT (the JESMSGLG file) for any IVP table that is not loaded into memory (as some DPT Request Types work only if the table is in memory). When these tables are loaded into memory (CICS or ECSA or XXL) DPZT should run without any errors.
STEP 19 DPT/IVP – Run @13DELTB to delete all IVP DPT tables.
NOTE: ADABAS CATALOG/ADABAS DATA can be started from STEP 7 – assuming that the IVP process will use an existing ADABAS Test environment.
23מתוך 7עמוד
DPT Flavor DB2 Catalog DB2 DATA
STEP 1 EDIT #00PARM according to your site’s standards. At the end of the member, you can set the DPT Table numbers for the IVP process; make sure to set those table numbers to numbers that are free in your installation. Defaults are 2700 to 2705, 2800 to 2805 and 3300 and 3301
STEP 2 Execute #01SUBS REXX to tailor all JCL in the INSTALL library
STEP 3 RUN #02REXX to add the DPT/XXL inquiry REXX to a REXX library
STEP 4 RUN #05CLIST to add the DPT/TSO interface to a CLIST library
STEP 5 Run #07GENGB using #072INPT to define a DPT Global Block for DB2. If two DPT Global Blocks, one for Batch and another one for CICS, are required, generate them by making the necessary changes in the job and submitting it.
STEP 6 RUN job #50D2STG to define a DPT DB2 storage group
STEP 7 RUN job #51D2CRE to define a DPT DB2 Catalog
STEP 8 RUN job #52D2BND to BIND DPT plans
STEP 9 Run job #53D2INI to initialize DPT catalog tables (Table 1 and Table2). It is possible to use existing DPT tables – there are no version dependencies on the DPT table data and in a case of a fall back you can continue to use the existing DPT table data.
STEP 10 Run #09ECLM to generate the DPT/ECSA ROOT module
STEP 11 Run #10AUTH to generate DPT/ECSA Table-set authorization module
STEP 12 Run #11CSD to define DPT in CICS – do not use existing DPT definitions – use the new definitions. Make sure to read the comments in the job as you may have to use different resource definitions depending on your environment infrastructure.
STEP 13 Run #54D2CSD to define the necessary CICS definitions for DPT/DB2 under CICS
STEP 14 DPT/IVP – RUN @01ADDTB – Define the tables to DPT
STEP 15 DPT/IVP – RUN @02DB2DB – Define the IVP Database
STEP 16 DPT/IVP – RUN one of two jobs to create DB2 tables for the IVP: @03GNDB2 – To generate the DB2 DDL for the IVP DPT tables and run them, or @04CRTB2 – To create the DB2 tables for the IVP from the supplied DDL.
STEP 17 DPT/IVP – RUN @05UFUNC – Define User Functions required for signed, packed-decimal and binary, key fields.
STEP 18 DPT/IVP – RUN @06INSTB - Insert data into the IVP tables
STEP 19 DPT/IVP – RUN @08ADBG2 – Fill the big table 2 with data
STEP 20 DPT/IVP – RUN @09ECMG - Load the tables needed to DPT/ECSA and/ or DPT/XXL (After starting DPT/XXL server first!)
STEP 21 DPT/IVP – RUN @10IVPTB Compile the test plan – use @102INPT
STEP 22 DPT/IVP – RUN DPT/IVP RUN @11RNIVP – Run the IVP batch job. Check for error messages – job should finish with Return Code = 0
STEP 23 DPT/IVP – RUN @12CSD - Define the IVP transaction, DPZT, in CICS
23מתוך 8עמוד
STEP 24 DPT/IVP - RUN Transaction DPZT in CICS – Error messages with a return code of 165 will appear in the CICS SYSOUT (the JESMSGLG file) for any IVP table that is not loaded into memory (as some DPT Request Types work only if the table is in memory). When these tables are loaded into memory (CICS or ECSA or XXL) DPZT should run without any errors.
STEP 25 DPT/IVP – RUN @13DELTB to delete all IVP DPT tables.
STEP 26 DPT/IVP – RUN @14DELB2 – Delete all IVP DPT DB2 tables.
NOTE: To generate the DPT/DB2 static interface please consult the DPT/DB2 Guide.
8. All old DPT libraries including all JCL’s, CICS procedures, TSO CLISTs and all other
DPT component load libraries must be replaced by the new libraries according to each
environment. NO CONCATENATION with any old version of DPT is required except
the current Global Block load library. Any concatenation with an old version of DPT may
cause unpredictable results and are not supported
9. All DPT user exits must be recompiled.
10. DPT V3.30 does NOT support any non-LE applications. DPT/SAS users – please contact
Log-On support for a clarification of this statement.
11. DPT V3.30 has been tested to run correctly with COBOL 5.1 & COBOL 6.1. Please refer
to the Release notes for more information on COBOL 5.1 and COBOL II compatibility
issues.
12. For ADABAS – the DBID parameter was changed from 3 to 4 positions in order to support
a DBID value up to ‘9999’. When DPT/ECSA is employed, make sure to adjust the DIEI
parameter.
13. For Format Buffer users – A new Format |Buffer Front-End routine, DPTFBFEM was
introduced, replacing DPTFBFE. There is no need to modify current application code, as
using DPTFBFE is supported, but it is recommended to use DPTFBFEM for any new
code.
14. It is NOT necessary to recompile the DPT Global Block, unless DPT logging to SMF is
used, see item number 15 below. It is however, HIGHLY recommended to do so, in order
for the correct DPT version to show up on the screens and various reports. If the DPT
Global Block is recompiled, please KEEP it with the corresponding compile listing for
future reference.
15. Dynamic SVC number.
The DPT SMF logging is using a SVC for its functionality. In previous DPT versions the
default for the SVC number was 231 and for the SMF RECORD TYPE was 231 and the
user had to compile the DPTSMF module and all the programs that call it. One of the
enhancement of this new DPT release is that the SVC number and the SMF RECORD
TYPE are now Global Block parameters.
If the DPTSMF module was assembled in the previous DPT version with these default
23מתוך 9עמוד
values, you do not need to reassemble the Global Block.
If, however, the DPTSMF module was assembled with different SVC number and/or SMF
RECORD TYPE value, you need to recreate your Global Block(s). You should add the
SVCNUM and SVCTYPE parameters to your Global Block source, set their values to your
installation dependent values, and reassemble the Global Block(s). You will also need to
recompile all the programs that statically call the DPTSMF module.
16. There is no change in DPT internal table files for version 3.30. No conversion of an
existing DPT table is therefore needed.
17. No changes in CICS transactions are needed. For THREADSAFE SUPPORT please
contact DPT SUPPORT to clarify this statement. See also job #11CSD in the
DPT.V330.INSTALL library.
18. The CICSTS 5.4 default for the DATALOCATION CICS program definition attribute was
changed from BELOW to ANY. If the DPT CSD definitions are not upgraded from the
previous release, CICS will issue DFHPG0104 messages to indicate programs linkedited
with AMODE(24) but defined with DATALOCATION(ANY).
19. For customers using the DPT/CICS NATURAL interface, re-link the NATURAL nucleus
with the new DPCACNTN module. See job #40NATLK in the DPT.V330.INSTALL
library
20. For DPT/DB2 – BIND DPT/DB2 plans using the job #52D2BND in the
DPT.V330.INSTALL library.
21. In order to use DPT V3.30 under Natural-1 a z/OS exit has to be enabled for performance
reasons. Should this exit not be enabled results are unpredictable. The exit is needed to
provide an anchor point for DPT under Natural-1 and greatly improves performance.
Please follow instructions below to enable this DPT Exit:
SETPROG EXIT,ADD,EXITNAME=BPX_POSPROC_INIT,MODNAME=DPTNDVEX, DSN=DPT-load-library,JOBNAME=NDV-server-jobname In addition, a unique library for Natural-1 support is supplied. This library: DPT.V330.BATCH.NAT1.LOAD has to be concatenated in Natural-1 jobs before the
standard DPT batch load library.
22. No changes have to be applied to DPT/ECSA definitions, unless ADABAS is used (see
STEP 12 above). You can copy the ECSA related modules (DPTECLM and DPT$xxxx
modules) from the old DPT APF load library to the new DPT.V330.APFLOAD library, or
you can re-create these modules using the jobs at DPT.V330.INSTALL(#09ECLM, #10AUTH).
Note
If the first ECSA load (after an IPL) is done with DPT V3.0, subsequent loads can be done
with either V3.3 or V3.0. However, if the first ECSA load is done with DPT V3.3 any
23מתוך 10עמוד
subsequent loads with DPT V3.0 will fail and an IPL is needed in order to revert to V3.0
for the ECSA load.
Both DPT V3.0 and DPT V3.3 applications can read from either DPT/ECSA memory
version – whether it was loaded by DPT V3.0 or by DPT V3.3.
23. In order to use the DPT/XXL component, the procedure DPTXXL has to be added to a
system PROCLIB and changed according to the customer’s environment. Use the job in
DPT.V330.INSTALL(#03PROC) to create the DPTXXL procedure. This procedure must
be started before attempting to use the DPT/XXL component and has to be up and running
continuously for applications wishing to access DPT TABLES stored in DPT/XXL.
24. DPT/Easytrieve Considerations
DPT and the DPT/Easytrieve interface are LE compliant and therefor any non-LE
compliant Easytrieve programs may fail. To make your Easytrieve programs LE compliant
you need to recompile them with the ENVIRONMENT parameter set to COBOL as the
following paragraph explains.
If DPT table data is stored in DB2, the table data must be loaded into the ECSA for
Easytrieve programs who access DB2 after calling DPT, to work successfully.
25. ALLOWUSERKEYCSA(NO) Support
DPT V3.3 was successfully tested on z/OS 2.3 with NO setting for the ALLOWUSERKEYCSA
DIAGxx parmlib parameter.
23מתוך 11עמוד
Migration Steps
1. Your migration plan should include the following steps:
1.1. Define new environment (BATCH/TSO and CICS), copy the DPT table database to
this environment, upload DPT V3.30 libraries
1.2. Prepare and compile Global Blocks for BATCH/TSO and CICS using the names
DPTGB for batch and DPCGB/DPFGB for CICS.
1.3. If a private Security User Exit is used, compile it to a new private *.GB Load library
1.4. Prepare and compile DPT/ECSA modules:
1.4.1. Edit member DPT.V330.INSTALL(#09ECLM) by changing the default
definitions to the ones used in the previous version of DPT and submit the job.
1.4.2. For each DPT/ECSA environment prepare the appropriate DPT$xxxx module
by editing member DPT.V330.INSTALL(#10AUTH) and changing the
default definitions to the ones used in the previous version of DPT and submit
the job.
1.4.3. Define the new DPT.V330.APFLOAD as an APF authorized library.
1.5. Prepare DPT/ECSA functions: copy DPT/ECSA authorization modules (module
DPTECLM and the modules start with DPT$...) from the old APF authorized library
to the new DPT.V330.APFLOAD library
1.6. If the DPT/DB2 interface is used, run the BIND job at
DPT.V330.INSTALL(#52D2BND) library.
1.7. Define DPT CICS resources using #11CSD – do not use existing DPT definitions (as
an example, the definition of DPTACMM was changed to RESIDENT(YES) and if not applied CICS may crash).
1.8. Update the CICS procedure: Replace the current DPT load libraries defined under
the DFHRPL DD card in the CICS procedure with the new set of load libraries:
DPT.V330.GBLOAD (or DPT.V330.CICS.GBLOAD)
DPT.V330.DB2.LOAD (for DPT/DB2 users only)
DPT.V330.CICS.LOAD
1.9. Update all DPT utilities jobs: Replace the current DPT load libraries with the new
set of load libraries:
DPT.V330.GBLOAD (or DPT.V330.BATCH.GBLOAD)
DPT.V330.DB2.LOAD (for DPT/DB2 users only)
DPT.V330.BATCH.LOAD
1.10. Update DPT/TSO starting CLIST: Replace the current DPT load libraries with the
new set of load libraries:
DPT.V330.GBLOAD (or DPT.V330.TSO.GBLOAD)
23מתוך 12עמוד
DPT.V330.DB2.LOAD (for DPT/DB2 users only)
DPT.V330.TSO.LOAD
1.11. Upload to ECSA the DPT tables that usually reside in ECSA at your site.
1.12. Make sure that all DPT utilities are working as expected. You can use the sample
jobs in the DPT.V330.INSTALL library.
1.13. Start CICS and check that the transactions DPC (DPF), DPC4 and other DPT/CICS
transactions work as expected. Make sure you are testing DPT tables that reside in
various repositories such as VSAM, DB2, ECSA, CICS memory, ADABAS etc. –
sanity check.
If DPT/WINDOWS is used, check this component using the DPT CICS transaction
DPC2 and customer’s transactions that invoke DPT/WINDOWS – Sanity check.
1.14. Run and check DPT/TSO. Make sure you are testing DPT tables that reside in
various repositories such as VSAM, DB2, ECSA, ADABAS, etc. – sanity check.
1.15. After successful testing DPT V3.30 move all DPT V3.30 software components to
the next environment to repeat above tests with applications running in Batch,
CICS, TSO, etc.
1.16. If DPT/XXL was used, please modify its startup procedure using the sample job
DPT.V330.INSTALL(#03PROC).
1.17. If DPT/XXL will be used, copy its startup procedure to your system PROCLIB
using the job DPT.V330.INSTALL(#03PROC) and start the DPTXXL server.
Install the DPTXINQ REXX (or any other name you chose during the installation
process) and use it to monitor the status of the XXL tables.
1.18. This release includes a new DPT Temporary Storage clean-up program. It will
delete any unneeded TSQ created when a non-terminal transaction is using DPC.
For additional information, see Appendix C.
בהצלחה!
23מתוך 13עמוד
APPENDIX A
Migration Parameters
The following parameters will be used to generate sample jobs and define which empty DPT tables are being used for the IVP procedure in the DPT.V330.INSTALL library. Review the parameters and set them according to your site’s standard. ********************************************************************** * %JOBNAME%=JOBNAM JOBNAMES PREFIX (1-6 CHARS) %JOBCARD1%='(DPT),,MSGCLASS=H, CLASS=A,' JOBCARD %JOBCARD2%='// NOTIFY=&SYSUID' ADDITIONAL JCL %JOBCARD3%='//* COMMENT' ADDITIONAL JCL * %PRODPREF%=DPT.V330 PREFIX FOR DPT FILES * .. 1-30 CHARACTERS. * %GBLOAD%=DPT.V330.GBLOAD LOAD LIBRARY FOR GLOBAL BLOCK * %PRODVOL%=DPT001 VOLSER FOR PRODUCT LIBRARIES. * %PRODUNIT%=SYSALLDA UNIT NAME FOR PRODUCT * LIBRARIES. * %WORKUNIT%=SYSDA UNIT NAME FOR TEMPORARY * DATA SETS. * %LIBTYPE%=LOAD LOAD LIBRARY TYPE: LOAD or PDSE * %ECSSNM%=DPTS DPT/ECSA SUBSYSTEM NAME * .. NAME. 1-4 CHARACTERS. * %XXLPROC%=DPTXXL DPT XXL SERVER PROCEDURE * .. NAME. 1-8 CHARACTERS. * %XXLINQ%=DPTXINQ DPT XXL INQUIRY REXX * .. NAME. 1-8 CHARACTERS. * %TSOPROC%=DPTTSO DPT/TSO CLIST NAME * .. 1-8 CHARACTERS. * %SORTLIB%=SYS1.SORTLIB SYSTEM SORT LIBRARY. * %PROCLIB%=SYS1.PROCLIB SYSTEM PROCLIB NAME. * %REXXLIB%=SYS1.SYSEXEC SYSTEM REXX LIBRARY. * %CLISTLIB%=SYS1.CLIST SYSTEM CLIST LIBRARY. * %MEMLIMIT%=1G MAXIMUM ABOVE THE BAR MEMORY * TO BE USED BY DPT XXL. * PLEASE CONSULT YOUR SYSTEM * PROGRAMMER * %TABFILE%=DPT.TABFILE1 TABLE VSAM DATASET * * * - CICS PARAMETERS * ----------------
23מתוך 14עמוד
* %CICSLOAD%=DFH420.CICS.SDFHLOAD CICS.SDFHLOAD LIBRARY NAME. * %CICSCSD%=DFH420.DFHCSD CICS.DFHCSD LIBRARY NAME. * %CICSMAC%=DFH420.CICS.SDFHMAC CICS.SDFHMAC LIBRARY NAME. * %DPTFILER%=DPTB01R DPC RESOURCE FILE FOR READ * %DPTFILEU%=DPTB01U DPC RESOURCE FILE FOR UPDATE * * - DB2 PARAMETERS * --------------- * %DB2LOAD%=DSNA10.SDSNLOAD DB2 LOAD LIBRARY NAME. * %DB2EXIT%=DSNA10.SDSNEXIT DB2 EXIT LIBRARY NAME. * %DB2RUNL%=DSNA10.DBAG.RUNLIB.LOAD DB2 RUNLIB LOAD LIBRARY NAME. * *%DB2SSN%=DBAG DB2 SUBSYSTEM NAME * %DSNTIAD%=DSNTIA10 DSNTIAD PLAN NAME * %SGDPT%=SGDPT STORAGE GROUP FOR DPT * %DPTCAT%=DPTCAT VCAT HLQ FOR DPT/DB2 TABLES * %DPTDB%=DBDPT DATABASE FOR DPT CATALOG * %TABPREF%=DPT.T TABLES PREFIX * %%DPTSTAT%=DPTDB2_STATIC DPT/DB2 STATIC COLLECTION * IDENTIFIER * * - IVP PARAMETERS * --------------- * %IVPNAME%=IVPNAM JOBNAMES PREFIX (1-6 CHARS) * * THE FOLLOWING IS USED FOR IVP NEW TABLES TO BE DEFINED. * PLEASE SPECIFY 3 GROUPS OF TABLE NUMBERS THAT ARE NOT IN USE. * GROUP 1 CONTAINS 5 CONSECUTIVE TABLE NUMBERS * GROUP 2 CONTAINS 6 CONSECUTIVE TABLE NUMBERS * GROUP 3 CONTAINS 2 CONSECUTIVE TABLE NUMBERS * * GROUP 1 %A1%=2700 %A2%=2701 %A3%=2702 %A4%=2703 %A5%=2704 * GROUP 2 %B1%=2800 %B2%=2801 %B3%=2802 %B4%=2803 %B5%=2804 %B6%=2805 * GROUP 3 %C1%=3300 %C2%=3301
23מתוך 15עמוד
APPENDIX B Install Jobs List
Jobs in DPT.V330.INSTALL:
Member Description $$$RECV General – RECEIVE JOB for DPT DISTRIBUTION
LIBRARIES
#00PARMS General - Member that contains installation
specific parameters that will be used by #01SUBS
#01SUBS General - Member that will tailor the install
library and replace all %% surrounded strings with
those from #00PARMS
#02REXX DPT/XXL Users only: enables monitoring of DPT/XXL
#03PROC DPT/XXL Users only: Adds XXL procedure to PROCLIB
#04APF XXL/ECSA Users only: Adds library to APF authorized
list in z/OS
#05CLIST Adds DPT/TSO interface to a CLIST library
#06CRTAB DPT/VSAM: Defines DPT VSAM file – DPT Dictionary
plus DPT Table data
#07GENGB DPT/Global Block - Sample compile job for DPT
Global Block
#071INPT DPT/Global Block - Sample input for DPT Global
Block – DPT/VSAM and ECSA – may be used in job
#07GENGB
#072INPT DPT/Global Block – Sample input for DPT Global
Block – for DPT/DB2 - may be used in job #07GENGB
#08INTAB DPT/VSAM – Initialization of DPT FILE – enable
loading of DPT catalog to VSAM File (Table 1 and
Table 2)
#09ECLM DPT/ECSA – A sample compile job for DPT/ECSA ROOT
MODULE– local definitions need to be applied first
#10AUTH DPT/ECSA – GENERATE DPT/ECSA TABLE-SET
AUTHORIZATION MODULE – local definitions need to be
applied first
#11CSD DPT/CICS – A sample job to add DPT/CICS definitions
to the CSD file – defined as THREADSAFE
#40NATLK DPT/NATURAL – A sample job to link the DPT stub
into the Natural nucleus for performance
improvement
#50D2STG DPT/DB2 – A sample job to define DB2 Storage Group
for DPT
#501INPT DPT/DB2 – DDL for DB2 Storage Group definition
#51D2CRE DPT/DB2 – A sample job to define DPT catalog (Table
1 and Table 2) in DB2 – uses as input #511INPT
#511INPT DPT/DB2 – DDL’s used by job #51D2CRE
#52D2BND DPT/DB2 – A sample job to BIND DPT/DB2 plans
#53D2INI DPT/DB2 – A sample job to initialize DPT catalog
(Table 1 and Table 2 in DB2)
23מתוך 16עמוד
#54D2CSD DPT/DB2 - A sample job to add DPT/CICS definitions
to the CSD file for DPT/DB2 under CICS
#70BNDST DPT/DB2 static interface – A sample job to BIND
DPT/DB2 plans with the static packages
#71GCLSB DPT/DB2 static interface – A sample job to
generate the batch program cluster for the
DPT/DB2 static modules
#72GCLSC DPT/DB2 static interface – A sample job to
generate the CICS program cluster for the
DPT/DB2 static modules
#73GSTAT DPT/DB2 static interface – A sample job to
generate the static SQL program
#74BNDST DPT/DB2 static interface – Bind parameters used
by #73GSTAT
#75BNDST DPT/DB2 static interface – Bind parameters used
by #73GSTAT
#88UNB2 A sample job to run the DPT/DB2 DPTUNB2 utility
#89ASMTS A sample job to compile and link the DPTDELTS
parameters module
#90TBDEF DPT Utility – sample job DPTIDC – Table definition
#91TBUPD DPT Utility – sample job DPTIDC – Table update
#92TBREP DPT Utility – sample job for DPT SMF Logging print
#93TBCMP DPT Utility – sample job DPTCMTB – Table compare
#94TBGEN DPT Utility – sample job DPTGEN – DPT Copybook
generation
#95TBUNL DPT Utility – sample job DPTUNLD – unload DPT data
to flat file
#96GBREP DPT Utility – sample job DPTGBRPT – print Global
block
#97DGAC DPT Utility – run DPT in Batch debugger
#99CMPSC DPT/Security sample job for compiling DPT/Security
exit.
@01ADDTB DPT/IVP – define tables to DPT for IVP, uses
@011INPT (for non DB2) and @012INPT (for DB2) as
input
@011INPT DPT/IVP – used by @01ADDTB - table definitions (no
DB2)
@012INPT DPT/IVP – used by @01ADDTB - table definitions
(for DB2)
@02DB2DB DPT/IVP – define IVP DPT/DB2 Database
@03GNDB2 DPT/DB2 - To generate the DB2 DDL for the IVP DPT
tables and run them.
@04CRTB2 DPT/DB2 – DPT/IVP – To create the DB2 tables for
the IVP from the supplied DDL
@05UFUNC A sample job to create the DPT/DB2 user functions
required for signed, packed-decimal and binary, key
fields
@06INSTB DPT/DB2 – DPT/IVP insert data into the IVP tables
uses @061INPT (no DB2) and @062INPT (for DB2)
@061INPT DPT/IVP – used by @06INSTB
@062INPT DPT/IVP – used by @06INSTB
23מתוך 17עמוד
@07ADBG1 DPT/IVP - INSERT DATA INTO IVP BIG TABLE 1 (ONLY
FOR VSAM)
@08ADBG2 DPT/IVP - INSERT DATA INTO IVP BIG TABLE 1 (ONLY
FOR DB2)
@09ECMG DPT/IVP – loads IVP tables to ECSA and DPT/XXL
@10IVPTB DPT/IVP – Generates test data and test conditions
module for DPT/IVP
@101INPT DPT/IVP – contains source test data and test
conditions – for VSAM - DO NOT CHANGE
@102INPT DPT/IVP – contains source test data and test
conditions for non VSAM - DO NOT CHANGE
@11RNIVP DPT/IVP – BATCH run – must finish RC=0 and without
error message on the generated SYSOUT
@12CSD DPT/IVP – defines CICS definition in order to run
DPT/IVP under CICS
@13DELTB DPT/IVP – Clean up IVP tables (definition and data)
after successful run of IVP – uses @131INPT as
input
@131INPT DPT/IVP – input to @13DELTB
@14DELB2 DPT/IVP – DB2 - Clean up IVP DB2 table definitions
after successful run of IVP
B2CCDB2L DPT/IVP – concatenation order in DPT/DB2 for IVP
XEDITMAC Edit Macros used by JCL tailor Macro
XSUBS Edit Macros used by JCL tailor Macro
XSUBSINS Edit Macros used by JCL tailor Macro
23מתוך 18עמוד
APPENDIX C DPTDELTS
TS DELETE PROGRAM SPECIFICATIONS AND USAGE
1. General
The program DPTDELTS deletes all Temporary Storage queues created by DPT having a queue
name that starts with DC4x where:
DC4 is the default TS QUEUE prefix specified in the DPT Global Block,
x can be: B for TSQ generated by the DB2 interface
A for TSQ generated by the ADABAS interface,
and the last 4 bytes of its TSQ name constitute a packed decimal number.
DPTDELTS processing is driven by 3 parameters that can be supplied from a terminal or via a
parameter load module.
The program will be executed every predefined time interval to delete unneeded DPT TS queues.
The parameter load module DPTDELPR is supplied to the user in source and load module formats.
The DPTDELPR source is supplied in the DPT samplib. The supplied load module includes the
default parameters as specified below, and if these defaults are OK the user will be able to use the
supplied load module without any modifications.
If however there is a need, the user will be able to modify the supplied sample, compile and use his
customized version of the program.
To implement this solution new entries for the programs DPTDELTS and DPTDELPR and the
transaction, DPZD were added to the supplied CSD.
2. Program parameters.
The DPTDELTS will accept the following three parameters:
nnnn: the time interval in minutes that the TS queue to be deleted was not referenced, the
default is 0015 – fifteen minutes.
mm: the time in minutes to restart the non-terminal DPZD transaction. mm must not be zero
and the default is 5 minutes.
MSG|NOM: specifies whether or not to write a message on the TD queue that is defined in
the DPT Global Block which defaults to CSMT (associated with the MSGUSR
SYSOUT file), for every deleted TS queue.
MSG – write the message
NOM – don't write the message
The default is MSG.
When the parameters are received from the parameters load module, DPTDELPR, the parameters
will constitute a string of the following fixed format:
nnnnmm{MSG|NOM}
23מתוך 19עמוד
When the parameters are received from a terminal using the transaction DPZD the following syntax
has to be used:
DPZD{, nnnn,mm,{MSG|NOM}}
3. Program Flow
The user will be able to start the program by a transaction entered from a clear screen, DPZD or at
PLTPI startup time.
When the program is invoked from a clear screen the parameter string will be preceded by a
"DPZD," string which is the transaction id followed by a comma.
There are two ways to use the transaction from a terminal. The first one is to enter the transaction id
without any parameters and then the program will be executed with the parameters values as set in
the DPTDELPR load module. The second one is to enter the transaction with all the parameters, as
in the following example:
DPZD,0010,05,MSG
which tells the program:
1. To delete all TS queues that have not been referenced in the last 10 minutes.
2. To send a message to the MSGUSR CICS file for every deleted TSQ,
3. To start the non-terminal transaction DPZD in 5 minutes.
When the transaction id is followed by a "?", and when any error is found in the supplied
parameters, the program will respond with a help screen explaining the parameter string.
When the program is used during CICS startup it must be defined as a stage 3 PLTPI program. It
will not delete any TSQ but just start the non-terminal DPZD transaction using the parameters
values as set in the DPTDELPR load module. If any error is found in the supplied parameters an
error message will be written on the MSGUSR SYSOUT file
After the first invocation of the program the non-terminal transaction DPZD will be started
repeatedly every mm minutes.
4. Modifying the default parameters module
To modify the default parameters module DPTDELPR which is supplied in the DPT samplib and is
displayed below, please modify it and use the sample job:
TLGN.DPT.V330P.INSTALL(#89ASMTS) to assemble and link-edit it.
********************************************************************************
* DPTDELPR - PARAMETERS MODULE FOR DPTDELTS
* THIS MODULE SUPPLIES THE FOLLOWING PARAMETERS TO THE TSQ DELETE
* PROGRAM, DPTDELTS:
* TS_DELETE_TRANS: THE NAME OF THE TRANSACTION
* TS_DELETE_EXPINT: INTERVAL IN MINUTES SINCE THE TEMPORARY
23מתוך 20עמוד
* STORAGE QUEUE WAS LAST REFERENCED, DEFAULT 15 MINUTES
* TS_DELETE_RESTART_INT: TIME INTERVAL TO RESTART DPZD, MUST NOT BE
* ZERO, DEFAULT 5 MINUTES
* TS_DELETE_MSG_IND: MESSAGE NOTIFICATION INDICATOR
* 1. MSG = WRITE A MESSAGE FOR EVERY DELETED TSQ,
* 2. NOM = DO NOT WRITE DELETE MESSAGES
* DEFAULT MSG
*
DPTDELPR CSECT
DPTDELPR AMODE 31
DPTDELPR RMODE ANY
*
TS_DELETE_TRANS DC CL4'DPZD' TRANSACTION NAME
TS_DELETE_EXPINT DC CL4'0015' TSQ EXPIRY INTERVAL
TS_DELETE_RESTART_INT DC CL2'05' RESTART TRANS INTERVAL
TS_DELETE_MSG_IND DC CL3'MSG' TSQ DELETE MSG NOTIFICATION
END DPTDELPR
23מתוך 21עמוד
APPENDIX D DPTWHITB
TABLE ORIGIN CHECK SUBROUTINE
The DPTWHITB batch subroutine can be used to find out where a DPT table resides: in memory, in
data set, or does not exist at all. You can call this subroutine from an application program supplying
the table number you want to check. The response code will tell you where the DPT table resides.
A COBOL example:
CALL 'DPTWHITB' USING TABNO TABST Where TABNO is a PIC S9(4) COMP field containing the table number and TABST is a PIC S9(4) COMP field in which you get back the required information, which can be: 0 – Table is in ECSA, or XXL 1 – Table is in DATASET 2 – Table is not defined
23מתוך 22עמוד
APPENDIX E DPTTBUSD
USED TABLES SUBROUTINE
The DPTTBUSD batch subroutine can be used by a Batch program to find out how many and which tables have been used by the running job from the moment it started until the checkup time. You can call the DPTTBUSD subroutine from any application program supplying two parameters: a count field in which you get the number of tables used and a list in which you get a list of the tables that have been used. A COBOL example: CALL 'DPTTBUSD' USING DPT-USED-TABLES-COUNT DPT-USED-TABLES-ARRAY The COPYLIB library contains a COBOL copybook, DPTUSDTB that contains the definition of the parameters required to call the DPTTBUSD subroutine: ***************************************************** * * * THIS COPY IS A SAMPLE OF THE PARAMETERS NEEDED * * WHEN CALLING THE DPTTBUSD ROUTINE WHICH CAN BE * * USED TO FIND OUT HOW MANY AND WHICH DPT TABLES * * HAVE BEEN USED IN A BATCH JOB THAT ACCESS DPT. * * * * THE OUTPUT FROM THIS ROUTINE WILL BE A COUNT * * OF THE NUMBER OF DPT TABLES AND AN ARRAY WHICH * * CONTAINS A LIST OF THESE TABLES. * * * * THE COUNT CAN CONTATIN A NEGATIVE NUMBER WHICH * * INDICATES AN ERROR AS FOLLOWS: * * -1 -> GLOBAL BLOCK LOADING ERROR * * -2 -> GBVN ERROR - GLOBAL BLOCK VERSION ERROR * ***************************************************** 01 DPT-USED-TABLES-COUNT PIC S9(4) COMP. 01 DPT-USED-TABLES-ARRAY. 03 DPT-USED-TABLES-ENTRY PIC S9(4) COMP OCCURS 9999.
23מתוך 23עמוד
APPENDIX F DPTECST
ECSA TABLE STATUS SUBROUTINE
The DPTECST subroutine can be used by a Batch or CICS application program to find out whether a specific table is in the ECSA or not, and if the table is in the ECSA the routine returns the load date and time and other information related to the ECSA load job. You can call the DPTECST subroutine from any application program supplying two parameters: the Global Block address and a record, described below, that contains the input parameters supplied to the routine and the output parameters received from the routine. The input parameters that have to be supplied by the calling program to the subroutine are the table number and the DPT data set name. A COBOL example: CALL 'DPTECST' USING DPT-GLOBAL-ADDRESS DPTECSD The COPYLIB library contains a COBOL copybook, DPTECSD, which is listed below, that contains the definition of the parameters required to call the DPTECST subroutine: ***************************************************** * * * THIS COPY IS THE RECORD THAT SHOULD BE PASSED * * TO THE DPTECST SUBROUTINE SUPPLYING TO IT THE * * TABLE NUMBER AND THE DPT DATA SET NAME, RECEIVING * * BACK THE ECSA LOAD INFORMATION. * * * * WHEN CONTROL RETURNS TO THE CALLING APPLICATION, * * R15 WILL CONTAIN THE FOLLOWING VALUES: * * 0 -> THE TABLE IS IN THE ECSA * * 4 -> THE TABLE IS NOT IN THE ECSA * * 8 -> DPT/ECSA IS NOT UTILIZED AT ALL * * * * AND DPT-ECSD-USE-STATUS WILL CONTAIN THE * * FOLLOWING VALUES: * * 0 -> THE TABLE WAS USED BY THIS STEP * * 4 -> THE TABLE WAS NOT USED BY THIS STEP * ***************************************************** 01 DPTECSD. 03 DPT-ECSD-USE-STATUS PIC S9(4) COMP. 03 DPT-ECST-TABNO PIC S9(4) COMP. 03 DPT-ECST-LOAD-DATE PIC X(8). 03 DPT-ECST-LOAD-TIME PIC X(6). 03 DPT-ECST-JOB-NAME PIC X(8). 03 DPT-ECST-JOB-ID PIC X(8). 03 DPT-ECSD-DSNAME PIC X(44)