With parameters of:
MULTI=N
ALLOWMULTI=N
MAKEREADY=N
QUIT=N
PUSHWITH=UCOPY
This command will be generated:
ucopy -t yes -o 20160502090000_aszsMULTIZOS.1110
The “ucopy” parameter of “-t” says to copy the file using a temporary name and rename it when the data is all copied to the name of the “-o” parameter.
With parameters of:
MULTI=N
ALLOWMULTI=N
MAKEREADY=N
QUIT=N
GATEKEEPER=Y
PUSHWITH=UCOPY
As there are two systems’ data in the input dataset ACQPUSH will terminate with a return code of 8 and a message saying:
AZP019E MULTIZOS needed but ALLOWMULTI=N was set
If only the MRT4 data was in the file, this command would be generated:
ucopy -t yes -o g20160502090000_aszs00010037.1110
There the final file name is prefixed with the letter 'g' to tell Control Center to use Gatekeeping with this data.
JCL and parameters for ACQPUSH with ucopy
Member (HLQ).AZDvvvv.JCLLIB(PUSHUCPY) contains JCL similar to the following.
//S1 EXEC PGM=ACQPUSH
//STEPLIB DD DSN=(HLQ).AZD1220.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//ATHDATA DD DSN=YOUR.ACQUIRE.DATA,DISP=SHR <== SET DATASET NAME
//CMDFILE DD DSN=&&UCOPY,
// SPACE=(TRK,(1,1)),UNIT=SYSDA, <== CHECK UNITNAME
// LRECL=80,RECFM=FB,BLKSIZE=0,
// DISP=(,PASS)
//* Parameters are all Case-InsenSiTIVE
//PARMDATA DD *
PUSHWITH=ucopy
MAKEREADY=N
QUIT=N
ALLOWMULTI=N
/*
//* CONCATENATE ucopy COMMAND TO OTHER PARAMETERS
//*
//UCOPY EXEC P2UCPY,COND=(0,NE) <== Your ucopy procedure
//SYSPRINT DD SYSOUT=*
//*
//* Concatenate fixed commands with the 'ucopy' command and more
//*
//COMMAND DD * <== SYSIN says run this
PUSHD D:\zOSData <== Go to this directory
/*
// DD DSN=&&UCOPY,DISP=(OLD,DELETE) ucopy command
//*
//UNVIN DD DISP=SHR,DSN=YOUR.ACQUIRE.DATA
//SYSIN DD * <== ucopy credentials etc
-host 1.2.3.4 <== your IP/name
-userid prod\athenesvc <== userid
-pwd T0pSecret! <== password
-p 29798 <== port, maybe
JCL and parameters for ACQPUSH using the SPLIT facility
Member (HLQ).AZDvvvv.JCLLIB(PUSHSPLT) contains JCL similar to the following.
//S1 EXEC PGM=ACQPUSH
//STEPLIB DD DSN=(HLQ).AZD1220.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//ATHDATA DD DSN=YOUR.ACQUIRE.DATA,DISP=SHR <== SET DATASET NAME
//CMDFILE DD DSN=&CMDS,
// SPACE=(TRK,(1,1)),UNIT=SYSDA, <== CHECK UNITNAME
// LRECL=80,RECFM=FB,BLKSIZE=0,
// DISP=(,PASS)
//DELFILE DD DSN=&DELS,
// SPACE=(TRK,(1,1)),UNIT=SYSDA, <== CHECK UNITNAME
// LRECL=80,RECFM=FB,BLKSIZE=0,
// DISP=(,PASS)
//* Parameters are all Case-InsenSiTIVE
//* although ones in CMDS= sections are all left 'as-is'
//PARMDATA DD *
SPLIT=Y
SPLITUNIT=OPSPROD
SPLITPFX=OPS.SCMDATA
SPLITSIZE=30
CMDS=BEFORE
cd AtheneData
ls -l
CMDS=BODY
put '!z!' p!w!
rename p!w! !w!
CMDS=AFTER
ls -l
quit
/*
//* SEND DATA VIA FTP
//*
//FTP EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
123.231.132.213 <== IP address (or name) of FTP server
username password <== Credentials on FTP server
/*
// DD DSN=&CMDS,DISP=(OLD,DELETE)
//*
//* Delete split files after copying
//*
//TIDYUP EXEC PGM=IDCAMS,COND=(0,NE)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DISP=(OLD,DELETE),DSN=&&DELS
//
Example output:
AZP000I ACQPUSH V12.40.00 (140621)
AZP014I Reading parameters:
SPLIT=Y
SPLITPFX=ATHENE.PUSHZOS1
SPLITUNIT=SYSDA
SPLITSIZE=10
CMDS=BEFORE
user datatrans t()pSecret!
cd scmxfer
CMDS=BODY
put '!z!' +
p!w!
rename p!w! +
!w!
CMDS=AFTER
ls -l
quit
* The End
AZP015I End of parameters.
AZP040I Options in effect are:
AZP002I //ATHDATA will be split into DSNs of ~00010 MB
AZP002I Split DSN prefix is ATHENE.PUSHZOS1
AZP002I Split DSNs will be written to UNIT=SYSDA
AZP002I Split DSNs will have DELETE commands written
AZP041I All non-SPLIT options will be ignored
AZP024I End of options in effect
AZP050I Split DSN space allocation: CYLS(00013,00002)
AZP003I //ATHDATA dataset name is ATHENE.AZD1220.LIVE.ZOS1.TXT
AZP052I FILE TYPE TARGET START DATE/TIME ID RECORDS MEGABYTES
AZP053I 001 SYSTEM 00011092 26JUN21 23:30:00 S0101.T233000 108532 10.649
AZP053I 002 SYSTEM 00011092 27JUN21 17:00:00 S0102.T170000 40128 3.747
---------------------------------------------------------------------
AZP099I ACQPUSH has ended
These datasets will have been allocated:
ATHENE.PUSHZOS1.S0101.T233000
ATHENE.PUSHZOS1.S0102.T170000
The CMDFILE dataset will contain these statements:
user datatrans t()pSecret!
cd scmxfer
copy 'ATHENE.PUSHZOS1.S0101.T23300' +
p20210626233000_ASZS00011092.1220
rename p20210626233000_ASZS00011092.1220 +
20210626233000_ASZS00011092.1220
copy 'ATHENE.PUSHZOS1.S0102.T17000' +
p20210627170000_ASZS00011092.1220
rename p20210627170000_ASZS00011092.1220 +
20210627170000_ASZS00011092.1220
ls -l
quit
The DELFILE dataset will contain these statements, which are suitable for use by IDCAMS to tidy up after file copying completes:
DELETE 'ATHENE.PUSHZOS1.S0101.T233000'
DELETE 'ATHENE.PUSHZOS1.S0102.T233000'