z/OS MVS Planning: Global Resource Serialization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Region requirements

z/OS MVS Planning: Global Resource Serialization
SA23-1389-00

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

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014