/* REXX */ PARSE UPPER ARG tr_vsam tr_disp tr_load . IF tr_load = '' THEN tr_load = SYSVAR("SYSUID")".REXXA.LOAD(TROPEN)" SELECT WHEN ABBREV('SHR',tr_disp,0) THEN tr_disp = 'SHR' /* Null. */ WHEN ABBREV('OLD',tr_disp,1) THEN tr_disp = 'OLD' OTHERWISE SAY 'Disposition passed to VOPENEXE not SHR or OLD.' zrc = 16 SIGNAL Done END /* SELECT */ zrc = VSAMFILE(tr_vsam tr_disp) IF zrc > 0 THEN DO SAY tr_vsam 'Cluster not allocated.' SIGNAL Done END SAY 'VSAM Cluster:' tr_vsam 'is about to be opened' tr_disp'.' SAY 'Press ENTER to continue or EXIT to stop.' PULL response IF ABBREV('EXIT',response,1) THEN SIGNAL Done ADDRESS TSO "CALL '"tr_load"'" /* Program prompts for close. */ zrc = RC CALL VSAMFILE 'FREE' Done: EXIT zrc