/* REXX */ PARSE UPPER ARG tr_vsam user_team generic . IF user_team = '' THEN DO SAY tr_vsam 'No team specified. Records not read.' zrc = 16 SIGNAL Done END zrc = VSAMFILE(tr_vsam 'SHR') IF zrc > 0 THEN DO SAY tr_vsam 'Records not read.' SIGNAL Done END IF \ABBREV('GENERIC',generic,1) THEN tr_key = LEFT(user_team,4,' ') /* No generic (partial) key. */ ELSE tr_key = user_team /* Generic key processing. */ x = OUTTRAP('ztrap.','*','NOCONCAT') ADDRESS TSO "REPRO INFILE(TRVSAM) OUTFILE(TRQSAM)", "FROMKEY('"tr_key"') TOKEY('"tr_key"')" x = OUTTRAP('OFF') zrc = RC SELECT WHEN zrc = 4 THEN SAY tr_vsam 'No records with key' tr_key'.' WHEN zrc = 12 & WORD(ztrap.1,WORDS(ztrap.1)) = 0 THEN SAY tr_vsam 'Record with key' tr_key 'is past EOF.' WHEN zrc > 0 THEN DO x = 1 TO ztrap.0; SAY ztrap.x; END x OTHERWISE ADDRESS TSO "EXECIO 1 DISKR TRQSAM (OPEN)" DO WHILE RC = 0 PARSE PULL tr_record SAY LEFT(tr_record,79) /* Display purposes. */ ADDRESS TSO "EXECIO 1 DISKR TRQSAM" END /* WHILE */ ADDRESS TSO "EXECIO 0 DISKR TRQSAM (FINIS)" zrc = RC END /* SELECT */ CALL VSAMFILE 'FREE' Done: EXIT zrc