/* rexx */ /*-------------------------------------------------------------------*/ /* */ /* REXX Exec : SNAP */ /* */ /* Description : Moves a dataset from one volume to another. */ /* Works for sequential and for PDS datasets. To */ /* invoke type SNAP next to the dataset to be moved. */ /* You will be prompted for the new name and volume. */ /* */ /* Created on : 31 Mar 2018 */ /* Created by : KEVIN FERGUSON */ /* : Userid(MIT001) */ /* : using ABBYDALE.XFER.REXX(SNAP) */ /* */ /* Called by : */ /* */ /* Calls : LISTDSI, IEBCOPY, REPRO */ /* */ /* Change Activity : */ /* */ /* ©Copyright of Abbydale Systems LLC. */ /* */ /*-------------------------------------------------------------------*/ parse upper arg dsn vol dsn = strip(dsn,b,"'") s = userid() if vol = '' then do say 'Move ' dsn ' to where?' pull vol end DSN_STATUS = LISTDSI(''''dsn'''' DIRECTORY) SELECT WHEN sysdsorg = 'PS' then do if sysunits = BLOCK then do "ALLOC DATASET('"dsn".SNP') NEW CATALOG VOL("vol") UNIT(SYSALLDA)" , sysunits"("sysblksize") LIKE('"dsn"')" , "SPACE("sysprimary sysseconds")" end else do "ALLOC DATASET('"dsn".SNP') NEW CATALOG VOL("vol") UNIT(SYSALLDA)" , "SPACE("sysprimary sysseconds") "sysunits "LIKE('"dsn"')" end "Alloc F(DATAIN) da('"dsn"') SHR REUS" "Alloc F(DATAOUT) da('"dsn".SNP') SHR REUS" "repro infile(DATAIN) outfile(DATAOUT)" kef = rc 'FREE F (DATAIN DATAOUT)' say "Copy ended Return code" kef end WHEN sysdsorg = 'PO' then do "ALLOC DATASET('"dsn".SNP') NEW CATALOG VOL("vol") UNIT(SYSALLDA)" , "LIKE('"dsn"')" "Alloc F(DATAIN) da('"dsn"') SHR REUS" "Alloc F(DATAOUT) da('"dsn".SNP') SHR REUS" "FREE FI(SYSIN,SYSPRINT,SYSUT3,SYSUT4)" "ALLOC FILE(SYSIN) SPACE(1,1) TRACK LRECL(80) RECFM(F) BLKSIZE(80) REU" "ALLOC FILE(SYSPRINT) da(*) BLKSIZE(121)" "ALLOC FILE(SYSUT3) UNIT(SYSDA) SPACE(1,1) CYLINDERS REU" "ALLOC FILE(SYSUT4) UNIT(SYSDA) SPACE(1,1) CYLINDERS REU" SYSIN.1 = " COPY OUTDD=DATAOUT,INDD=((DATAIN,R))" 'EXECIO * DISKW SYSIN (STEM SYSIN. FINIS' "CALL 'SYS1.LINKLIB(IEBCOPY)' 'SIZE=512K'" kef = rc say "Copy ended Return code" kef end otherwise do say sysdsorg " Files are not supported" exit end end trace o "free da('"dsn".SNP')" if kef = 0 then do "del '"dsn"'" "alter '"dsn".SNP' NEWNAME('"dsn"')" end else do Say "rename aborted due to return code of " kef end exit /*-------------------------------------------------------------------*/ /* End of SNAP */ /*-------------------------------------------------------------------*/