Figure 1 is an example of JCL
that invokes the sample application program that is shown in Figure 2. The read-only access to the
MCDS and BCDS uses a shared disposition, which allows the sample program
to run while DFSMShsm is
currently active.
Figure 1. Invocation of the ARCUTIL Load Module with
a User-Written Program.
This JCL program example invokes
the ARCUTIL load module by using a user-written program. //JOB1 JOB accounting information,REGION=nnnnK
//STEP1 EXEC PGM=USRPGM
//STEPLIB DD DSN=MY.LINKLIB,DISP=SHR
//ARCSNAP DD SYSOUT=*
//COLLECT DD DSN=MY.COLLECT.DATA,DISP=(,CATLG),
// SPACE=(CYL,(5,10)),UNIT=SYSDA
//MCDS DD DSN=HSM.MCDS,DISP=SHR
//BCDS DD DSN=HSM.BCDS,DISP=SHR
//*
The sample program in Figure 2 opens
the collection data set, links to ARCUTIL, and then closes the collection
data set. All DFSMShsm-specific
collection record types are requested. If the return code is not
zero, a snap dump is written to a SYSOUT file.
Figure 2. Sample Program for Data Collection Part 1
of 2**************************************************************************
* MODULE NAME: USRPGM *
* DESCRIPTION: DFSMSHSM DATA COLLECTION INTERFACE, PROGRAM EXAMPLE *
* FUNCTION: INVOKE THE DFSMSHSM DATA COLLECTION INTERFACE TO *
* CREATE A SEQUENTIAL FILE THAT CONTAINS INFORMATION *
* ABOUT MIGRATED DATA, BACKED UP DATA, DFSMSHSM DASD *
* VOLUMES AND DFSMSHSM TAPE VOLUMES. *
* DETAILS: *
* THE UPRECORD FIELD IS SET TO REQUEST THE *
* FOLLOWING RECORDS: *
* - MIGRATED DATA SET *
* - BACKUP VERSION *
* - DASD VOLUME PLANNING *
* - TAPE VOLUME PLANNING *
* *
* THE UPOPTION FIELD IS SET TO REQUEST A SNAP DUMP *
* IF THE RETURN CODE IS NONZERO. THE ERROR *
* INFORMATION IS WRITTEN TO A DATASET WITH A DDNAME *
* OF ARCSNAP. *
* EXIT SUPPORT IS NOT REQUESTED. *
**************************************************************************
USRPGM CSECT ,
USRPGM AMODE 24
USRPGM RMODE 24
* SAVE REGISTERS IN SAVE AREA
STM 14,12,12(13)
BALR 12,0
USING *,12
LA 3,SAVEAREA
ST 3,8(13)
ST 13,4(3)
LR 13,3
* OPEN COLLECTION DATA SET
OPEN (DCBOUT,OUTPUT)
* SET PARAMETERS IN ARCUTILP DATA AREA
LA 2,DCBOUT
ST 2,UPOUTDCB SET OUTPUT DCB ADDRESS
TIME DEC
ST 0,UPHTIME SET TIME AND DATE STAMP
ST 1,UPHDATE
*
LA 2,UTILP
LINK EP=ARCUTIL,PARAM=((2)) INVOKE INTERFACE
*
Figure 3. Sample Program for Data Collection Part 2 of 2 CLOSE DCBOUT CLOSE COLLECTION DATA SET
L 15,UPRC SAVE RETURN CODE
L 13,4(13)
L 14,12(13)
LM 0,12,20(13)
BR 14 RETURN TO CALLER
*
*
DCBOUT DCB DDNAME=COLLECT,LRECL=264,BLKSIZE=5280,DSORG=PS, X
MACRF=(PL),RECFM=VB
*
CNOP 0,4 BEGIN ARCUTILP DATA AREA
UTILP DC CL8'ARCUTILP'
UPVERS DC X'01'
UPRECORD DC B'11110000' REQUEST ALL RECORD TYPES
DC XL1'00'
UPOPTION DC B'01000000' CREATE SNAP DUMP IF ERROR OCCURS
UPOUTDCB DS AL4
UPHTIME DS CL4
UPHDATE DS CL4
DC XL20'00'
UPNUMIGR DC F'0' NUMBER OF RECORDS WRITTEN
UPNUBACK DC F'0'
UPNUDASD DC F'0'
UPNUTAPE DC F'0'
DC XL20'00'
UPRC DC F'0' RETURN CODE
UPREAS DC F'0' REASON CODE
*
SAVEAREA DS 18F SAVE AREA FOR REGISTERS
*
END