/* REXX */ PARSE UPPER ARG tr_vsam action . SELECT WHEN ABBREV('SHR',action,1) THEN action = 'SHR' WHEN ABBREV('OLD',action,1) THEN action = 'OLD' OTHERWISE RC = 0 SIGNAL Error END /* SELECT */ x = OUTTRAP('ztrap.','*','NOCONCAT') zrc = LISTVS(tr_vsam) x = OUTTRAP('OFF') IF zrc = 0 THEN DO lrecl = WORD(ztrap.3,2) IF WORD(ztrap.3,1) = WORD(ztrap.3,2) THEN recfm = 'F' ELSE recfm = 'V' END ELSE DO DO x = 1 TO ztrap.0; SAY ztrap.x; END x SIGNAL Error END SIGNAL ON Error ADDRESS TSO "ALLOCATE F(TRVSAM) DA('"tr_vsam"') REUSE" action ADDRESS TSO "ALLOCATE F(SYSIN) DA(*) REUSE" ADDRESS TSO "ALLOCATE F(SYSOUT) DA(*) REUSE" ADDRESS TSO "ALLOCATE F(SYSPRINT) DA(*) REUSE" ADDRESS TSO "ALLOCATE F(TRQSAM) NEW DELETE", "UNIT(SYSDA) TRACK SPACE(1 1)", "DSORG(PS) RECFM("recfm "B) LRECL("lrecl") BLKSIZE(0)" SIGNAL OFF Error zrc = 0 SIGNAL Done Error: zrc = RC x = MSG('OFF') ADDRESS TSO "FREE F(TRVSAM TRQSAM)" x = MSG('ON') Done: EXIT zrc