/* 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 added.' SIGNAL Done END zrc = VSAMFILE(tr_vsam 'SHR') IF zrc > 0 THEN DO SAY tr_vsam 'Record with key' tr_key 'not added.' SIGNAL Done END tr_record = tr_key''LEFT(user_data,8,' ')''COPIES(' ',66) QUEUE tr_record ADDRESS TSO "EXECIO 1 DISKW TRQSAM (OPEN FINIS)" x = OUTTRAP('ztrap.','*','NOCONCAT') ADDRESS TSO "REPRO OUTFILE(TRVSAM) INFILE(TRQSAM)" x = OUTTRAP('OFF') zrc = RC SELECT WHEN zrc = 0 THEN SAY tr_vsam 'Record with key' tr_key 'added.' WHEN zrc = 8 THEN SAY tr_vsam 'Record with key' tr_key 'already exists.' OTHERWISE DO x = 1 TO ztrap.0; SAY ztrap.x; END x END /* SELECT */ CALL VSAMFILE 'FREE' Done: EXIT zrc