/* REXX */ PARSE UPPER ARG tr_vsam user_team user_num user_data . tr_key = user_team''user_num zrc = VSAMEDIT(user_team user_num user_data) IF zrc > 0 THEN DO SAY tr_vsam 'Record with key' tr_key 'not updated.' SIGNAL Done END x = OUTTRAP('ztrap.','*','NOCONCAT') zrc = VSAMDIR(tr_vsam user_team user_num) x = OUTTRAP('OFF') IF zrc = 0 THEN DO; tr_record = ztrap.2; END ELSE DO DO x = 1 TO ztrap.0; SAY ztrap.x; END x SAY tr_vsam 'Record with key' tr_key 'not updated.' SIGNAL Done END zrc = VSAMFILE(tr_vsam 'SHR') tr_record = OVERLAY(user_data,tr_record,7,8,' ') QUEUE tr_record ADDRESS TSO "EXECIO 1 DISKW TRQSAM (OPEN FINIS)" x = OUTTRAP('ztrap.','*','NOCONCAT') ADDRESS TSO "REPRO OUTFILE(TRVSAM) INFILE(TRQSAM) REPLACE" x = OUTTRAP('OFF') zrc = RC SELECT WHEN zrc = 0 THEN SAY tr_vsam 'Record with key' tr_key 'updated.' OTHERWISE DO x = 1 TO ztrap.0; SAY ztrap.x; END x END /* SELECT */ CALL VSAMFILE tr_vsam 'FREE' Done: EXIT zrc