/********************************************************************/ 00050003 /* @Y30LB38*/ 00100003 /* PROCEDURE NAME - VOLEXIT @Y30LB38*/ 00150003 /* @Y30LB38*/ 00200003 /* FUNCTION - REMOVES A VOLUME FROM THE MSF. @Y30LB38*/ 00250003 /* IF THE VOLUME IS EJECTED SUCCESSFULLY, @Y30LB38*/ 00260003 /* ISSUES MESSAGE IDC0085I TO SYSPRINT AND @Y30LB38*/ 00270003 /* MESSAGE IDC083E TO THE OPERATOR. IF THE @Y30LB38*/ 00280003 /* VOLUME IS NOT EJECTED SUCCESSFULLY, AN @Y30LB38*/ 00290003 /* ERROR MESSAGE IS ISSUED VIA SSCMSG @Y30LB38*/ 00292003 /* PROCEDURE AND MESSAGE IDC2084I IS ISSUED @Y30LB38*/ 00294003 /* TO SYSPRINT. @Y30LB38*/ 00296003 /* @Y30LB38*/ 00300003 /* INPUT - THE FOLLOWING POSITIONAL PARAMETERS ARE @Y30LB38*/ 00350003 /* PASSED AS INPUT: @Y30LB38*/ 00400003 /* ARG1 = CSN OF FIRST VOLUME CARTRIDGE @Y30LB38*/ 00450003 /* ARG2 = VOLUME SERIAL NUMBER @Y30LB38*/ 00500003 /* ARG3 = VVI ERROR FLAG @Y30LB38*/ 00550003 /* ARG4 = RETAIN RECORD FLAG @Y30LB38*/ 00600003 /* ARG5 = VOLUME STORAGE LOCATION @Y30LB38*/ 00650003 /* @Y30LB38*/ 00700003 /* OUTPUT - RETURN CODE IN REG15 @Y30LB38*/ 00750003 /* REG15 = 00 CARTRIDGES EJECTED SUCCESSFULLY @Y30LB38*/ 00800003 /* REG15 = 04 CARTRIDGES NOT EJECTED @Y30LB38*/ 00850003 /* SUCCESSFULLY @Y30LB38*/ 00900003 /* REG15 = 08 SECOND CARTRIDGE NOT EJECTED @Y30LB38*/ 00950003 /* SUCCESSFULLY @Y30LB38*/ 01000003 /* @Y30LB38*/ 01050003 /********************************************************************/ 01100003 VOLEXIT: 01200003 PROCEDURE(VECSN1, /* CART SERIAL NUMBER @Y30LB38*/ 01250003 VEVOLUME, /* VOL SERIAL NUMBER @Y30LB38*/ 01300003 VEVVIERR, /* VVI ERROR FLAG @Y30LB38*/ 01350003 VERECFLG, /* RETAIN RECORD FLAG @Y30LB38*/ 01400003 VEVOLLOC) /* VOL STORAGE LOC @Y30LB38*/ 01450003 OPTIONS(NOSAVE,NOSAVEAREA); /*@Y30LB38*/ 01500003 @EJECT; /*@Y30LB38*/ 01510003 %INCLUDE SYSLIB(IEZMCRTE); /*@Y30LB38*/ 01550003 @EJECT; /*@Y30LB38*/ 01600003 /* DECLARATIONS FOR VOLEXIT @Y30LB38*/ 01650003 DCL VEDDSTRU POINTER(31); /* DARGLIST POINTER @Y30LB38*/ 01700003 DCL MCLSTPTR POINTER(31); /* BASE PTR FOR MCLIST@Y30LB38*/ 01750003 DCL MCRTEPTR POINTER(31); /* PTR FOR MCLIST EXT @Y30LB38*/ 01800003 DCL VERETADR POINTER(31); /* RETURN ADDR @Y30LB38*/ 01850003 DCL VEMSGPTR POINTER(31); /* MESSAGE PTR AREA @Y30LB38*/ 01900003 DCL VEWTOPTR POINTER(31); /* WTO MSG POINTER @Y30LB38*/ 02000003 DCL VECOND FIXED(15); /* CONDITION CODE @Y30LB38*/ 02050003 DCL VEWTOLEN FIXED(15); /* LENGTH OF WTO MSG @Y30LB38*/ 02100003 DCL VERESNCD FIXED(31); /* RSN CODE FOR USSC @Y30LB38*/ 02150003 DCL VEECB CHAR (1); /* ECB RETURN AREA @Y30LB38*/ 02200003 /* PARM LIST FOR UPRINT MACRO WITH MULTIPLE INSERTS @Y30LB38*/ 02250003 DCL VELIST CHAR(LENGTH(DARGLIST)+(4*LENGTH(DARGARY))); /*@Y30LB38*/ 02300003 /* POSITIONAL PARMS FOR INPUT PARMAMETERS @Y30LB38*/ 02350003 DCL VECSN1 CHAR(12); /* CART SERIAL NUM @Y30LB38*/ 02400003 DCL VEVOLUME CHAR(6); /* VOL SER NUMBER @Y30LB38*/ 02450003 DCL VEVVIERR BIT(1); /* VVI ERROR FLAG @Y30LB38*/ 02500003 DCL VERECFLG BIT(1); /* RETAIN REC FLAG @Y30LB38*/ 02550003 DCL VEVOLLOC CHAR(30); /* VOL LOCATION @Y30LB38*/ 02600003 DCL VEWTOMSG CHAR(72); /* UWTO MSG AREA @Y30LB38*/ 02650003 /* INVOKE LIST FORM OF MCLIST MACRO @Y30LB38*/ 02700003 ? ICBMCRT MF(L,MCLIST,BASED(MCLSTPTR)); /*@Y30LB38*/ 02750003 @EJECT; 02760003 /* DECLARE WORK AREA FOR MC LIST AND EXTENSION LIST @Y30LB38*/ 02800003 DCL VEMCLIST CHAR(LENGTH(MCLIST)); /*@Y30LB38*/ 02850003 DCL VEEXLIST CHAR(LENGTH(MCRTE)); /*@Y30LB38*/ 02900003 /* DECLARE WORK AREA FOR JOBNAME AND STEPNAME USED BY @Y30LB38 02950003 USYSINFO MACRO @Y30LB38*/ 03000003 DCL 1 VESYSIN CHAR(16), 03050003 2 VEJOBNAM CHAR(8), 03100003 2 VESTEPNM CHAR(8); /*@Y30LB38*/ 03150003 /* DECLARE ROUTING AND DESCRIPTOR CODE AREAS FOR UWTO @Y30LB38*/ 03200003 DCL 1 VEROUTCD BIT(16), 03250003 2 VECD1 BIT(1), 03300003 2 * BIT(15); /*@Y30LB38*/ 03350003 DCL 1 VEDESCCD BIT(16), 03400003 2 * BIT(2), 03450003 2 VEDESC3 BIT(1), 03500003 2 * BIT(12); /*@Y30LB38*/ 03550003 /* DECLARE WORK AREA FOR UDUMP MACRO @Y30LB38*/ 03600003 DCL VEDMPSTG CHAR(17); /*@Y30LB38*/ 03650003 /* DECLARE STATIC MODULE ID FOR MESSAGES USED BY @Y30LB38 03700003 COMMON FSR'S @Y30LB38*/ 03750003 DCL VECMOMSG CHAR(3) CONSTANT('CM0'); /*@Y30LB38*/ 03800003 DCL MSG0085I PTR(8) CONSTANT(21); /* MSG ENTRY NUMBER @Y30LB38*/ 03850003 DCL MSG2084I PTR(8) CONSTANT(22); /* MSG ENTRY NUMBER @Y30LB38*/ 03900003 DCL MSG083E PTR(8) CONSTANT(23); /* MSG ENTRY NUMBER @Y30LB38*/ 03950003 /* VOLEXIT CONSTANTS @Y30LB38*/ 04000003 DCL VEECBLEN FIXED(31) CONSTANT(4); /* LENGTH OF ECB @Y30LB38*/ 04050003 @EJECT; 04100003 /* SAVE RETURN ADDRESS AND INITIALIZE PARAMETER LISTS @Y30LB38*/ 04150003 VERETADR = REG14; /*@Y30LB38*/ 04200003 UTRACE = 'VESR'; /*@Y30LB38*/ 04250003 VELIST = ''B; /*@Y30LB38*/ 04300003 VEDDSTRU = ADDR(VELIST); /*@Y30LB38*/ 04350003 MCLSTPTR = ADDR(VEMCLIST); /*@Y30LB38*/ 04400003 MCRTEPTR = ADDR(VEEXLIST); /*@Y30LB38*/ 04450003 VEWTOPTR = ADDR(VEWTOMSG); /*@Y30LB38*/ 04460003 MCLIST = ''B; /*@Y30LB38*/ 04500003 MCRTE = ''B; /*@Y30LB38*/ 04550003 VECOND = '0'X; /*@Y30LB38*/ 04600003 /* INITIALIZE MCLIST FOR USSC MACRO @Y30LB38*/ 04650003 MCRLNGTH = MCRLEN; /*@Y30LB38*/ 04660003 MCRTCSN = VECSN1; /*@Y30LB38*/ 04700003 MCRTTRAN = ON; /*@Y30LB38*/ 04750003 IF VERECFLG = ON THEN 04800003 MCRREC = ON; /*@Y30LB38*/ 04850003 MCRLOC = VEVOLLOC; /*@Y30LB38*/ 04900003 MCRTVEXT = MCRTEPTR; /*@Y30LB38*/ 04950003 MCRSPLOC = ON; /*@Y30LB38*/ 05000003 /* TAKE UDUMP OF MOVE VOLUME PARAMETER LIST (MCLIST) @Y30LB38*/ 05050003 ? DMPSTART LIST(VEDMPSTG); /*@Y30LB38*/ 05100003 ? DMPITEM NAME(MCLIST) LENGTH(LENGTH(MCLIST)) TYPE(H) 05150003 ADDRESS(MCLSTPTR); /*@Y30LB38*/ 05200003 ? DMPEND; /*@Y30LB38*/ 05250003 UDUMP (GDTTBL,'VEBM',ADDR(VEDMPSTG)); /*@Y30LB38*/ 05300003 /* ISSUE USSC MACRO TO EJECT THE VOLUME @Y30LB38*/ 05350003 USSC(GDTTBL,MOVE,MCLSTPTR,VERESNCD,VEECB,VEMSGPTR); /*@Y30LB38*/ 05400003 USAVERC; /*@Y30LB38*/ 05450003 /* SET UP ADDRESSABILITY TO MESSAGE AREA FROM USSC @Y30LB38*/ 05500003 VEMSGPTR = VEMSGPTR+VEECBLEN; /*@Y30LB38*/ 05550003 @EJECT; /*@Y30LB38*/ 05560003 /* IF CARTRIDGE WERE SUCCESSFULLY EJECTED; ISSUE THE @Y30LB38 05600003 APPROPRIATE MESSAGE @Y30LB38*/ 05650003 IF TESTRC = LASTCC00 | TESTRC = LASTCC12 THEN 05750003 DO; /*@Y30LB38*/ 05800003 /* IF AN ERROR OCCURRES UPDATING INVENTORY, SET A @Y30LB38 05850003 FLAG ON FOR THE CALLER @Y30LB38*/ 05900003 IF TESTRC = LASTCC12 THEN 05950003 VEVVIERR = ON; /*@Y30LB38*/ 06000003 /* ISSUE USYSINFO MACRO TO OBTAIN JOBNAME AND STEPNAME @Y30LB38 06050003 TO BE USED IN MESSAGE IDC083E @Y30LB38*/ 06100003 USYSINFO (GDTTBL,NAMES,ADDR(VESYSIN)); /*@Y30LB38*/ 06150003 /* INITIIALIZE DARGLIST WITH MULTIPLE INSERTS @Y30LB38 06200003 FOR MESSAGE IDC083E @Y30LB38*/ 06250003 VEDDSTRU -> DARGSMOD = VECMOMSG; /*@Y30LB38*/ 06300003 VEDDSTRU -> DARGSENT = MSG083E; /*@Y30LB38*/ 06350003 VEDDSTRU -> DARGDBP =ADDR(VEMSGPTR->CMCSN1); /*@Y30LB38*/ 06400003 VEDDSTRU -> DARGILP = LENGTH(CMCSN1); /*@Y30LB38*/ 06450003 VEDDSTRU -> DARGRETP = VEWTOPTR; /*@Y30LB38*/ 06500003 VEDDSTRU -> DARGRETL = LENGTH(VEWTOMSG); /*@Y30LB38*/ 06550003 /* IF BOTH CARTRIDGES WERE EJECTED, SET DARGLIST @Y30LB38 06600003 FOR FIVE INSERTS. IF NOT USE FOUR INSERTS. @Y30LB38 06650003 IF FIVE INSERTS ARE USED, THEY WILL BE CSN1, CSN2, @Y30LB38 06700003 VOLUME SERIAL NUMBER, JOB NAME AND STEP NAME. @Y30LB38 06750003 IF FOUR INSERTS ARE USED CSN2 WILL BE OMMITTED. @Y30LB38*/ 06800003 IF VEMSGPTR -> CMNUMCRT = 'F2'X THEN /*@Y30LB38*/ 06850003 DO; /*@Y30LB38*/ 06900003 VEDDSTRU -> DARGCNT = '4'X; /*@Y30LB38*/ 06950003 VEDDSTRU -> DARGINS(1) = '1'X; /*@Y30LB38*/ 07000003 VEDDSTRU -> DARGINL(1)=LENGTH(CMCSN2); /*@Y30LB38*/ 07050003 VEDDSTRU -> DARGDTM(1) =ADDR(VEMSGPTR->CMCSN2); /*@Y30LB38*/ 07100003 VEDDSTRU -> DARGINS(2) = '2'X; /*@Y30LB38*/ 07150003 VEDDSTRU -> DARGINL(2) = LENGTH(VEVOLUME); /*@Y30LB38*/ 07200003 VEDDSTRU -> DARGDTM(2) = ADDR(VEVOLUME); /*@Y30LB38*/ 07250003 VEDDSTRU -> DARGINS(3) = '3'X; /*@Y30LB38*/ 07300003 VEDDSTRU -> DARGINL(3) = LENGTH(VEJOBNAM); /*@Y30LB38*/ 07350003 VEDDSTRU -> DARGDTM(3) = ADDR(VEJOBNAM); /*@Y30LB38*/ 07400003 VEDDSTRU -> DARGINS(4) = '4'X; /*@Y30LB38*/ 07450003 VEDDSTRU -> DARGINL(4) = LENGTH(VESTEPNM); /*@Y30LB38*/ 07500003 VEDDSTRU -> DARGDTM(4) = ADDR(VESTEPNM); /*@Y30LB38*/ 07550003 END; /*@Y30LB38*/ 07600003 ELSE 07650003 DO; /*@Y30LB38*/ 07700003 VEDDSTRU -> DARGCNT = '3'X; /*@Y30LB38*/ 07750003 VEDDSTRU -> DARGINS(1) = '2'X; /*@Y30LB38*/ 07800003 VEDDSTRU -> DARGINL(1) = LENGTH(VEVOLUME); /*@Y30LB38*/ 07850003 VEDDSTRU -> DARGDTM(1) = ADDR(VEVOLUME); /*@Y30LB38*/ 07900003 VEDDSTRU -> DARGINS(2) = '3'X; /*@Y30LB38*/ 07950003 VEDDSTRU -> DARGINL(2) = LENGTH(VEJOBNAM); /*@Y30LB38*/ 08000003 VEDDSTRU -> DARGDTM(2) = ADDR(VEJOBNAM); /*@Y30LB38*/ 08050003 VEDDSTRU -> DARGINS(3) = '4'X; /*@Y30LB38*/ 08100003 VEDDSTRU -> DARGINL(3) = LENGTH(VESTEPNM); /*@Y30LB38*/ 08150003 VEDDSTRU -> DARGDTM(3) = ADDR(VESTEPNM); /*@Y30LB38*/ 08200003 END; /*@Y30LB38*/ 08250003 /* ISSUE UPRINT MACRO TO RETRIEVE MESSAGE IDC0083I @Y30LB38*/ 08300003 UPRINT (GDTTBL,PRTFILE,VEDDSTRU); /*@Y30LB38*/ 08350003 /* SET MESSAGE LENGTH AND ROUTING AND DESCRIPTOR CODES @Y30LB38 08450003 FOR UWTO MACRO. ISSUE UWTO MACRO TO WRITE MESSAGE 08500003 IDC2083E TO THE SYSTEM OPERATOR. @Y30LB38*/ 08550003 VEWTOLEN = LENGTH(VEWTOMSG); /*@Y30LB38*/ 08600003 VEROUTCD = ''B; /*@Y30LB38*/ 08650003 VECD1 = ON; /*@Y30LB38*/ 08700003 VEDESCCD = ''B; /*@Y30LB38*/ 08750003 VEDESC3 = ON; /*@Y30LB38*/ 08800003 UWTO (GDTTBL,VEWTOLEN,VEWTOPTR,VEROUTCD,VEDESCCD); /*@Y30LB38*/ 08850003 @EJECT; /*@Y30LB38*/ 08860003 /* TEST IF BOTH SERIAL NUMBERS WERE SPECIFIED? IF @Y30LB38 08900003 YES, PUT BOTH CSN'S IN MESSAGE IDC0085I AND 08950003 PRINT THE MESSAGE. IF NO, USE ONLY THE FIRST CSN. @Y30LB38*/ 09000003 VELIST = ''B; /*@Y30LB38*/ 09050003 VEDDSTRU -> DARGSMOD = VECMOMSG; /*@Y30LB38*/ 09100003 VEDDSTRU -> DARGSENT = MSG0085I; /*@Y30LB38*/ 09150003 VEDDSTRU -> DARGDBP =ADDR(VEMSGPTR->CMCSN1); /*@Y30LB38*/ 09200003 VEDDSTRU -> DARGILP = LENGTH(CMCSN1); /*@Y30LB38*/ 09250003 IF VEMSGPTR -> CMNUMCRT = 'F2'X THEN /*@Y30LB38*/ 09300003 DO; /*@Y30LB38*/ 09350003 VEDDSTRU -> DARGCNT = '1'X; /*@Y30LB38*/ 09400003 VEDDSTRU -> DARGINS(1) = '1'X; /*@Y30LB38*/ 09450003 VEDDSTRU -> DARGINL(1)=LENGTH(CMCSN2); /*@Y30LB38*/ 09500003 VEDDSTRU -> DARGDTM(1) =ADDR(VEMSGPTR->CMCSN2); /*@Y30LB38*/ 09550003 END; /*@Y30LB38*/ 09600003 UPRINT (GDTTBL,PRTFILE,VEDDSTRU); /*@Y30LB38*/ 09650003 /* ISSUE UFSPACE MACRO TO FREE MESSAGE AREA SPACE @Y30LB38 09700003 FROM THE USSC MACRO @Y30LB38*/ 09750003 VEMSGPTR = VEMSGPTR-VEECBLEN; /*@Y30LB38*/ 09800003 UFSPACE (GDTTBL,VEMSGPTR); /*@Y30LB38*/ 09850003 END; /*@Y30LB38*/ 09900003 @EJECT; /*@Y30LB38*/ 09950003 ELSE 10000003 DO; /*@Y30LB38*/ 10050003 /* THE RETURN CODE FROM THE USSC MACRO WAS NOT 0 OR 12. @Y30LB38 10100003 A RETURN CODE OF 8 IS CHECKED TO DETERMINE IF USSC 10150003 COULD NOT GET STORAGE. IF YES, MESSAGE IDC2084I 10200003 IS WRITTEN AND RETURN TO CALLER WITH CONDITION 10250003 CODE 4. @Y30LB38*/ 10300003 IF TESTRC = LASTCC08 THEN 10350003 DO; /*@Y30LB38*/ 10400003 VELIST = ''B; /*@Y30LB38*/ 10450003 VEDDSTRU -> DARGSMOD = VECMOMSG; /*@Y30LB38*/ 10500003 VEDDSTRU -> DARGSENT = MSG2084I; /*@Y30LB38*/ 10550003 UPRINT (GDTTBL,PRTFILE,VEDDSTRU); /*@Y30LB38*/ 10600003 VECOND = LASTCC04; /*@Y30LB38*/ 10650003 END; /*@Y30LB38*/ 10700003 ELSE 10750003 DO; /*@Y30LB38*/ 10800003 /* IF THE RETURN CODE WAS NOT 8, TEST IF THE REASON @Y30LB38 10850003 CODE WAS '4C'X INDICATING THAT THE FIRST CARTRIDGE 10900003 WAS EJECTED BUT THE SECOND WAS NOT. IF YES, 10950003 ISSUE UPRINT AND UWTO MACROS TO WRITE MESSAGE 11000003 IDC083E TO THE SYSTEM OPERATOR AND ISSUE UPRINT 11050003 MACRO TO WRITE MESSAGE IDC0085I TO THE USER. @Y30LB38 11100003 ISSUE USYSINFO MACRO TO OBTAIN JOBNAME AND STEPNAME @Y30LB38 11150003 TO BE USED IN MESSAGE IDC083E @Y30LB38*/ 11200003 IF VERESNCD = '4C'X THEN 11250003 DO; /*@Y30LB38*/ 11300003 USYSINFO (GDTTBL,NAMES,ADDR(VESYSIN)); /*@Y30LB38*/ 11350003 VEDDSTRU -> DARGSMOD = VECMOMSG; /*@Y30LB38*/ 11400003 VEDDSTRU -> DARGSENT = MSG083E; /*@Y30LB38*/ 11450003 VEDDSTRU -> DARGDBP=ADDR(VECSN1); /*@Y30LB38*/ 11500003 VEDDSTRU ->DARGILP=LENGTH(VECSN1); /*@Y30LB38*/ 11550003 VEDDSTRU -> DARGRETP = VEWTOPTR; /*@Y30LB38*/ 11600003 VEDDSTRU -> DARGRETL = LENGTH(VEWTOMSG); /*@Y30LB38*/ 11650003 VEDDSTRU -> DARGCNT = '3'X; /*@Y30LB38*/ 11700003 VEDDSTRU -> DARGINS(1) = '2'X; /*@Y30LB38*/ 11750003 VEDDSTRU -> DARGINL(1) = LENGTH(VEVOLUME); /*@Y30LB38*/ 11800003 VEDDSTRU -> DARGDTM(1) = ADDR(VEVOLUME); /*@Y30LB38*/ 11850003 VEDDSTRU -> DARGINS(2) = '3'X; /*@Y30LB38*/ 11900003 VEDDSTRU -> DARGINL(2) = LENGTH(VEJOBNAM); /*@Y30LB38*/ 11950003 VEDDSTRU -> DARGDTM(2) = ADDR(VEJOBNAM); /*@Y30LB38*/ 12000003 VEDDSTRU -> DARGINS(3) = '4'X; /*@Y30LB38*/ 12050003 VEDDSTRU -> DARGINL(3) = LENGTH(VESTEPNM); /*@Y30LB38*/ 12100003 VEDDSTRU -> DARGDTM(3) = ADDR(VESTEPNM); /*@Y30LB38*/ 12150003 UPRINT (GDTTBL,PRTFILE,VEDDSTRU); /*@Y30LB38*/ 12200003 /* SET MESSAGE LENGTH AND ROUTING AND DESCRIPTOR CODES @Y30LB38 12250003 FOR UWTO MACRO. ISSUE UWTO MACRO TO WRITE MESSAGE 12300003 IDC083E TO THE SYSTEM OPERATOR. @Y30LB38*/ 12350003 VEWTOLEN = LENGTH(VEWTOMSG); /*@Y30LB38*/ 12400003 VEROUTCD = ''B; /*@Y30LB38*/ 12450003 VECD1 = ON; /*@Y30LB38*/ 12500003 VEDESCCD = ''B; /*@Y30LB38*/ 12550003 VEDESC3 = ON; /*@Y30LB38*/ 12600003 UWTO(GDTTBL,VEWTOLEN,VEWTOPTR,VEROUTCD,VEDESCCD);/*@Y30LB38*/ 12650003 /* ISSUE UPRINT MACRO TO PRINT MESSAGE IDC0085I @Y30LB38*/ 12700003 VELIST = ''B; /*@Y30LB38*/ 12750003 VEDDSTRU -> DARGSMOD = VECMOMSG; /*@Y30LB38*/ 12800003 VEDDSTRU -> DARGSENT = MSG0085I; /*@Y30LB38*/ 12850003 VEDDSTRU -> DARGDBP =ADDR(VECSN1); /*@Y30LB38*/ 12900003 VEDDSTRU ->DARGILP=LENGTH(VECSN1); /*@Y30LB38*/ 12950003 UPRINT (GDTTBL,PRTFILE,VEDDSTRU); /*@Y30LB38*/ 13000003 /* THE SSCMSG ROUTINE IS CALLED TO WRITE THE MSS @Y30LB38 13050003 MESSAGE EXPLAINING THE SECOND CARTRIDGE 13100003 WAS NOT EJECTED. @Y30LB38*/ 13150003 CALL SSCMSG(VERESNCD); /*@Y30LB38*/ 13200003 VECOND = LASTCC08; /*@Y30LB38*/ 13250003 END; /*@Y30LB38*/ 13300003 @EJECT; 13310003 ELSE 13350003 DO; /*@Y30LB38*/ 13400003 /* RETURN CODE FROM USSC IS 4 INDICATING THAT @Y30LB38 13450003 THE CARTRIDGES WERE NOT EJECTED. THE SSCMSG 13500003 ROUTINE IS CALLED TO WRITE THE MSS MESSAGE 13550003 EXPLAINING THE ERROR. MESSAGE IDC2048I IS 13600003 WRITTEN TO THE USER WITH THE UPRINT MACRO. @Y30LB38*/ 13650003 CALL SSCMSG(VERESNCD); /*@Y30LB38*/ 13700003 VEDDSTRU -> DARGSMOD = VECMOMSG; /*@Y30LB38*/ 13750003 VEDDSTRU -> DARGSENT = MSG2084I; /*@Y30LB38*/ 13800003 UPRINT (GDTTBL,PRTFILE,VEDDSTRU); /*@Y30LB38*/ 13850003 VECOND = LASTCC04; /*@Y30LB38*/ 13900003 END; /*@Y30LB38*/ 13950003 END; /*@Y30LB38*/ 14000003 END; /*@Y30LB38*/ 14050003 /* RESTORE RETURN ADDRESS AND RETURN TO CALLER @Y30LB38*/ 14060003 REG14 = VERETADR; /*@Y30LB38*/ 14100003 RETURN CODE(VECOND); /*@Y30LB38*/ 14150003 END VOLEXIT; /*@Y30LB38*/ 14200003