|
The procedures for volume-reserve-time report and for resource-usage
report require a region size below 16MB large enough to hold an internal
table created by the programs. The table requires 144 byte of virtual
storage for each resource name that has been requested by the RESERVE
macro and 56 byte for each DASD volume with reserve activity. For
example, to process 10 thousand different resources and 300 volumes,
GRS uses 1.5MB of virtual storage.
The ISGAMVOL program at the end of its processing issues messages
about the number of table entries used. ELEMENTS=00000988 (resource name entries)
VOLUMES =00000105 (volumes entries)
Use different selections during the sort steps to get different
aggregation of the data collected. The layout of the output records
generated by the programs are shown in ISGAMEDM ISGAMED1 ISGAMVOL output record fields.
The following is the JCL for the reports' procedures:
Figure 1. JCL for Trace Report for Single MVS™ System Input//ISGAJE1 JOB CLASS=A,MSGCLASS=X
//*
//* SEQUENTIAL TRACE REPORT
//*
//JOBLIB DD DSN=SYS1.MIGLIB,DISP=SHR
//STEP001 EXEC PGM=ISGAMED1,
//*
//* TRACE REPORT
//*
//*Note: DNS=USERID.AUDIT.OUT1,DISP=SHR has to be modified to get the
//* correct dataset.
//*
//INPUT DD DSN=USERID.AUDIT.OUT1,DISP=SHR
//OUTPUT DD SYSOUT=*,
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSUDUMP DD SYSOUT=*
Figure 2. JCL for Trace Report for Multiple MVS Systems Input//ISGAJE1A JOB CLASS=A,MSGCLASS=X
//*
//* SEQUENTIAL TRACE REPORT
//*
//******************************************************************
//JOBLIB DD DSN=SYS1.MIGLIB,DISP=SHR
//JCL1A PROC WORK1=90,OUT1=300,
// INPUT1=USERID.AUDIT.OUT1,
// INPUT2=USERID.AUDIT.OUT2,
// INPUT3=USERID.AUDIT.OUT3,
// INPUT4=USERID.AUDIT.OUT4
//* UP TO 32 INPUT DATA SETS
//******************************************************************
//STEP001 EXEC PGM=ISGAMED2,
// PARM='DATE=(95215.0800:95215.1100),DELTA=(+2)'
//******************************************************************
//*
//* TRACE REPORT
//*
//******************************************************************
//INPUT DD DSN=&INPUT1,DISP=SHR
// DD DSN=&INPUT2,DISP=SHR
// DD DSN=&INPUT3,DISP=SHR
// DD DSN=&INPUT4,DISP=SHR
//* UP TO 32 INPUT DATA SETS
//OUTPUT DD DSN=&&OUT2,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSUDUMP DD SYSOUT=*
//*
//STEP002 EXEC PGM=SORT,
// COND=(0,LT,STEP001)
//*
//* SORT TOD
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD=DSN=&&OUT3,DISP=(,PASS), UNIT=SYSDA, SPACE=(CYL, &OUT1),
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP003 EXEC PGM=ISGAMED3,
// COND=(0,LT,STEP001)
//*
//* TRANSLATE TOD
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD SYSOUT=*,DCB=(LRECL=132,RECFM=FB,BLKSIZE=13200)
//SYSUDUMP DD SYSOUT=*
// PEND
// EXEC JCL1A
//STEP002.SYSIN DD *
SORT FIELDS=(1,8,A),FORMAT=BI,FILSZ=E5000,EQUALS
Figure 3. JCL for Volume Reserve
Report for Single MVS System
Input//ISGAJE2 JOB CLASS=A,MSGCLASS=X
//*
//* VOLUMES RESERVE TIME REPORT
//*********************************************************************
//JCL2 PROC WORK1=30,WORK2=1,OUT1=90,OUT2=60,OUT3=1,
// INPUT=USERID.AUDIT.OUT1,LOGR=USERID.LOGR
//*********************************************************************
//*
//* VOLUMES RESERVE TIME REPORT
//*
//STEP001 EXEC PGM=ISGAMEDM,
//* PARM='DELTA=(+2),DATE=(94011.0800:94012.0900)'
//INPUT DD DSN=&INPUT,DISP=SHR
//OUTPUT DD DSN=&&OUT2,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//STEP002 EXEC PGM=ISGAMVOL,
// COND=(0,LT,STEP001)
//* PARM='TPVOL ,XA9RES'
//*
//* INSERTS VOLID AND RESERVE COUNT IN PROBABLE RELEASE
//*
//INPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//OUTPUT DD DSN=&&OUT3,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//OUTPUT1 DD DSN=&&OUT4,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT2),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//*OG2 DD DUMMY
//LOG2 DD SYSOUT=*,
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSDUMP DD SYSOUT=*
//*
//STEP003 EXEC PGM=SORT,
// COND=(0,LT,STEP002)
//*
//* SORT VOLID - SMFID
//*
//SORTIN DD DSN=&&OUT3,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP004 EXEC PGM=ISGAMCTM,
// COND=(0,LT,STEP001)
//*
//* RESERVE TIME AND FREQUENCY
//*
//INPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//*UTPUT DD SYSOUT=*,DCB=(LRECL=132,RECFM=FB,BLKSIZE=13200)
//OUTPUT DD DSN=&&OUT5,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT3),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//WORK DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSUDUMP DD SYSOUT=*
//STEP005 EXEC PGM=SORT,
// COND=(0,LT,STEP001)
//*
//* SORT TOTAL VOLUME RESERVE TIME
//*
//SORTIN DD DSN=&&OUT5,DISP=(OLD,PASS)
//SORTOUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//STEP006 EXEC PGM=SORT,
// COND=(0,LT,STEP005)
//*
//* SORT TOTAL RESOURCE RESERVE TIME
//*
//SORTIN DD DSN=&&OUT4,DISP=(OLD,PASS)
//SORTOUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//STEP007 EXEC PGM=ISGAMMRT,
// COND=(0,LT,STEP001),
// PARM='TOP=20'
//*
//* MERGE VOLUME AND RESOURCE DATA
//*
//INPUT1 DD DSN=&&OUT2,DISP=(OLD,PASS)
//INPUT2 DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD SYSOUT=*
//LOGV DD SYSOUT=*
//LOGR DD DSN=&LOGR,DISP=SHR
//SYSDUMP DD SYSOUT=*
// PEND
// EXEC JCL2
//STEP003.SYSIN DD *
SORT FIELDS=(53,6,A,126,4,A),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP005.SYSIN DD *
SORT FIELDS=(37,8,D),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP006.SYSIN DD *
SORT FIELDS=(110,10,D),FORMAT=BI,FILSZ=E5000,EQUALS
Figure 4. JCL for Volume Reserve Report for Multiple MVS Systems Input//ISGAJE2A JOB CLASS=A,MSGCLASS=X
//*
//* VOLUME RESERVE TIME REPORT
//******************************************************************
//JOBLIB DD DNS=SYS1.MIGLIB,DISP=SHR
//JCL2A PROC WORK1=90,WORK2=30,OUT1=300,OUT2=100,OUT3=1,
// INPUT1='USERID.AUDIT.OUT1',LOGR='USERID.LOGR',
// INPUT2='USERID.AUDIT.OUT2',
// INPUT3='USERID.AUDIT.OUT3',
// INPUT4='USERID.AUDIT.OUT4'
//* UP TO 32 INPUT DATA SETS
//******************************************************************
//*
//* VOLUME RESERVES TIME REPORT
//*
//******************************************************************
//STEP001 EXEC PGM=ISGAMEDM,
// PARM='DELTA=(+2),DATE=(93202.1400:93203.0800)'
//INPUT DD DSN=&INPUT1,DISP=SHR
// DD DSN=&INPUT2,DISP=SHR
// DD DSN=&INPUT3,DISP=SHR
// DD DSN=&INPUT4,DISP=SHR
//* UP TO 32 INPUT DATA SETS
//OUTPUT DD DSN=&&OUT2,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LREC=132,RECFM=FB,BLKSIZE=18348)
//STEP002 EXEC PGM=ISGAMVOL,
// COND=(0,LT,STEP001)
//* PARM='TPVOL ,XA9RES'
//*
//* INSERTS VOLID AND RESERVE COUNT IN PROBABLE RELEASES
//*
//INPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//OUTPUT DD DSN=&&OUT3,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECRM=FB,BLKSIZE=18348)
//OUTPUT1 DD DSN=&&OUT4,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&&OUT2),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//*OG2 DD DUMMY
//LOG2 DD SYSOUT=*,
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSUDUMP DD SYSOUT=*
//*
//STEP003 EXEC PGM=SORT,
// COND=(0,LT,STEP002)
//*
//* SORT VOLID AND SMFID
//*
//SORTIN DD DSN=&&OUT3,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*,
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SUSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SUSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SUSDA,SPACE=(CYL,&WORK1)
//STEP004 EXEC PGM=ISAMCTM,
// COND=(0,LT,STEP003)
//*
//* RESERVE TIME AND FREQUENCY
//*
//INPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//*UTPUT DD SYSOUT=*,DCB=(LRECL=132,RECFM=FB,BLKSIZE=13200)
//OUTPUT DD DSN=&&OUT5,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT3),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//WORK DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSDUMP DD SYSOUT=*
//STEP005 EXEC PGM=SHORT,
// COND=(0,LT,STEP004)
//*
//* SORT VOLUME, SMFID, TOTAL VOLUME RESERVE TIME
//*
//SORTIN DD DSN=&&OUT5,DISP=(OLD,PASS)
//SORTOUT DD DSN=&&OUT5,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//STEP006 EXEC PGM=SHORT,
// COND=(0,LT,STEP005)
//*
//* SORT TOTAL RESOURCE RESERVE TIME
//*
//SORTIN DD DSN=&&OUT4,DISP=(OLD,PASS)
//SORTOUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK2)
//STEP007 EXEC PGM=ISAMMRT,
// COND=(0,LT,STEP006)
//* PARM='TOP=20'
//* MERGE VOLUME AND RESOURCE DATA
//*
//INPUT1 DD DSN=&&OUT2,DISP=(OLD,PASS)
//INPUT2 DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD SYSOUT=*
//LOGV DD SYSOUT=*
//LOGR DD DSN=&LOGR,DISP=SHR
//SYSUDUMP DD SYSOUT=*
// PEND
// EXEC JCL2A
//STEP003.SYSIN DD *
SORT FIELDS=(53,6,A,126,4,A),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP005.SYSIN DD *
SORT FIELDS=(25,6,D,32,4,A,37,8,D),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP006.SYSIN DD *
SORT FIELDS=(110,10,D),FORMAT=BI,FILSZ=E5000,EQUALS
Figure 5. JCL for Resource Usage Report
for Single MVS System Input//ISGAJE3 JOB CLASS=A,MSGCLASS=X
//* RESOURCES REPORT
//********************************************************************
//JCL3 PROC WORK1=30,OUT1=180,INPUT=USERID.AUDIT.OUT1,
// LOGR=USERID.LOGR
//********************************************************************
//*
//* RESOURCES REPORT
//*
//STEP001 EXEC PGM=ISGAMEDM,
//* PARM='DATE=(93274.0800:93274.1300),DELTA=(+2)'
//INPUT DD DSN=&INPUT,DISP=SHR
//OUTPUT DD DSN=&&OUT2,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//STEP002 EXEC PGM=SORT,
// COND=(0,LT,STEP001)
//*
//* SORT SCOPE, MAJOR/MINOR NAME, SMFID
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT3,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP003 EXEC PGM=ISGAMCNT,
//* PARM=('SYSZRACF,SYSZJES2,SYSDSN')
// COND=(0,LT,STEP002)
//*
//* COUNT RESOURCE
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//SYSUDUMP DD SYSOUT=*
//STEP004 EXEC PGM=SORT,
// COND=(0,LT,STEP003)
//*
//* SORT MAJOR/SCOPE AND NUMBER OF REQUEST
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP005 EXEC PGM=ISGAMSRT,
// COND=(0,LT,STEP001)
//*
//* INSERT COUNT FOR SORT
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//*UTPUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//STEP006 EXEC PGM=SORT,
// COND=(0,LT,STEP005)
//*
//* SORT SCOPE AND NUMER OF MAJOR REQUEST
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP007 EXEC PGM=ISGAMERN,
// COND=(0,LT,STEP006),
// PARM='COUNT=00000001'
//*
//* COUNT RESOURCE WITH SAME SCOPE
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD SYSOUT=*,
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//LOG1 DD SYSOUT=*,
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//* LOGR IS CREATED BY VOLUMES-RESERVE-TIME REPORT
//LOGR DD DSN=&LOGR,DISP=SHR
//SYSUDUMP DD SYSOUT=*
// PEND
// EXEC JCL3
//STEP002.SYSIN DD *
SORT FIELDS=(42,7,A,60,61,A,126,4,A),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP004.SYSIN DD *
SORT FIELDS=(61,8,A,42,7,A,11,8,D),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP006.SYSIN DD *
SORT FIELDS=(42,7,A,20,8,D),FORMAT=BI,FILSZ=E5000,EQUALS
Figure 6. JCL for Resource Usage Report for Multiple MVS Systems Input//ISGAJE3A JOB CLASS=A,MSGCLASS=X
//*
//* RESOURCES REPORT
//******************************************************************
//JOBLIB DD DSN=SYS1.MIGLIB,DISP=SHR
//JCL3A PROC WORK1=90,WORK2=30,OUT1=300,OUT2=150,OUT3=31,
// INPUT1='USERID.AUDIT.OUT1',LOGR='USERID.LOGR',
// INPUT2='USERID.AUDIT.OUT2',
// INPUT3='USERID.AUDIT.OUT3',
// INPUT4='USERID.AUDIT.OUT4'
//* UP TO 32 INPUT DATA SETS
//******************************************************************
//*
//* RESOURCES REPORT
//*
//******************************************************************
//STEP001 EXEC PGM=ISGAMEDM,
//* PARM='DARE=(93202.1400:93203.0800) ,DELTA=(+2)'
//INPUT DD DSN=&INPUT1,DISP=SHR
// DD DSN=&INPUT2,DISP=SHR
// DD DSN=&INPUT3,DISP=SHR
// DD DSN=&INPUT4,DISP=SHR
//* UP TO 32 INPUT DATA SETS
//OUTPUT DD DSN=&&OUT2,DISP=(,PASS) ,UNIT=SYSDA,SPACE=(CYL,&OUT1),
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//STEP002 EXEC PGM=SORT,
// COND=(0,LT,STEP001)
//*
//* SORT SCOPE, MAJOR, SMF-ID, MINOR
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*,
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT3,DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,&OUT1)
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP003 EXEC PGM=ISGAMCNT,
// COND=(0,LT,STEP002)
//* PARM=('SYSZRACF,SYSZJES2,SYSDSN')
//*
//* COUNT RESOURCE
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD DSN=&& OUT2,DISP=(OLD,PASS)
//SYSUDUMP DD SYSOUT=*
//STEP004 EXEC PGM=SORT,
// COND=0,LT,STEP003)
//*
//* SORT MAJOR/SCOPE AND NUMBER OF REQUEST
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*,
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP005 EXEC PGM=ISGAMSRT
// COND=(0,LT,STEP004)
//*
//* INSERT COUNT FOR SORT
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD DSN=&&OUT2,DISP=(OLD,PASS)
//*UTPUT DD SYSOUT=*
//* DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//STEP006 EXEC PGM=SORT,
// COND=(0,LT,STEP005)
//*
//* SORT SCOPE, MAJOR, SMFID, NUMBER OF REQUESTS
//*
//SORTIN DD DSN=&&OUT2,DISP=(OLD,PASS)
//*ORTOUT DD SYSOUT=*
//* DCB=(LREC=132,RECFM=FB,BLKSIZE=18348)
//SORTOUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//SYSOUT DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,&WORK1)
//STEP007 EXEC PGM=ISGAMERN,
// COND=(0,LT,STEP006),
// PARM='COUNT=00000001'
//*
//* COUNT RESORCE WITH SAME SCOPE
//*
//INPUT DD DSN=&&OUT3,DISP=(OLD,PASS)
//OUTPUT DD SYSOUT=*,
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//LOG1 DD SYSOUT=*
// DCB=(LRECL=132,RECFM=FB,BLKSIZE=18348)
//LOGR DD DSN=&LOGR,DISP=SHR
//SYSUDUMP DD SYSOUT=*
// PEND
// EXEC JCL3A
//STEP002.SYSIN DD *
SORT FIELDS=(42,7,A,126,4,A,60,61,A),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP004.SYSIN DD *
SORT FIELDS=(61,8,A,42,7,A,11,8,D),FORMAT=BI,FILSZ=E5000,EQUALS
//STEP006.SYSIN DD *
SORT FIELDS=(42,7,A,60,8,A,126,4,A,20,8,D),FORMAT=BI, X
FILSZ=E5000,EQUALS
|