*DECK NP$ERR
PROC NP$ERR(DIGITS);
*IF DEF,IMS
#
*1DC NP$ERR
*
* 1. PROC NAME AUTHOR DATE
* NP$ERR S.KRULEVITCH 77/05/23
*
* 2. FUNCTIONAL DISCRIPTION
* CALLS DAYFILE MESSAGE PROCESSOR
*
* 3. METHOD USED
* DAYFILE MESSAGE
* ABORT APPLICATION
* 4. ENTRY CONDITIONS
* DIGITS - TWO CHARACTER RETURN CODE.
*
* 5. EXIT CONDITONS
* STOPS IN LIEU OF EXITING.
*
* 6. COMDECKS CALLED
* NP$CRT
*
* 7. ROUTINES CALLED
* NP$MSG - DAYFILE MESSAGE PROCESSOR
* NP$OSIF - ISSUES AN OPERATING SYSTEM REQUEST TO ABORT THE
* APPLICATION
*
* 8. DAYFILE MESSAGES
* NETWORK APPLICATION ABORTED, RC = XX.
* XX RANGE FROM 01 TO 99.
* RANGE 01 TO 29 USED BY NIP.
* RANGE 30 TO 69 USED BY AIP.
* RANGE 70 TO 99 USED BY QTRM.
*
#
*ENDIF
BEGIN
*CALL NP$CRT
# #
# PARAMETERS: #
# #
ITEM DIGITS C(2);
#
ROUTINES CALLED:
#
XREF BEGIN
PROC NP$MSG; # WRITE MESSAGE TO JOB DAYFILE. #
PROC NP$OSIF; # ISSUE OS REQUEST. #
END #XREF#
#
LOCAL DECLARATIONS:
#
ITEM ABT I = O"01022400000000000000"; # DISPLAY CODE FOR ABT #
ARRAY ERROR[0] S(4);
BEGIN
ITEM
ERRMSG C(0,0,38) =
["NETWORK APPLICATION ABORTED, RC = . "],
ERRCODE C(3,24,2),
EOL U(3,48,12) = [0];
END
*IF,DEF,DEBUG
ITEM INDEX I;
*IF -DEF,XFR,1
DEF LENGTH#42#;
*IF DEF,XFR,1
DEF LENGTH#48#;
*ENDIF
*IF -DEF,DEBUG
*IF DEF,XFR,1
DEF LENGTH #6# ;
*IF -DEF,XFR,1
DEF LENGTH #1# ;
*ENDIF
ARRAY ERRORS[0:LENGTH] S(4);
BEGIN
ITEM
EOLS U(3,48,12),
RCFIELDS C(3,48,2),
ERRMSGS C(0,0,40) = [
*IF,DEF,DEBUG
"NETFUNC: REQUEST INVALID BEFORE NETON.29",
"NETON: DUPLICATE NETON REQUEST. 30",
"NP$GET: REQUEST INVALID BEFORE NETON. 31",
"NP$PUT: REQUEST INVALID BEFORE NETON. 32",
"NETWAIT: REQUEST INVALID BEFORE NETON.33",
"NETDBG: REQUEST INVALID BEFORE NETON. 34",
"NETLOG: REQUEST INVALID BEFORE NETON. 35",
"NETGETQ: REQUEST INVALID BEFORE NETON.36",
"NETGTLQ: REQUEST INVALID BEFORE NETON.37",
"NETPUTS: REQUEST INVALID BEFORE NETON.38",
"NETON: PREVIOUS REQUEST INCOMPLETE. 40",
"NETSETP: PREVIOUS REQUEST INCOMPLETE. 41",
"NP$GET: PREVIOUS REQUEST INCOMPLETE. 42",
"NP$PUT: PREVIOUS REQUEST INCOMPLETE. 43",
"NETWAIT: PREVIOUS REQUEST INCOMPLETE. 44",
*IF DEF,XFR,6
"NETOFF: NETOFF DURING FILE TRANSFER 45",
"NETXFR: LOGIC ERROR AT XFT, BAD DD 46",
"NETXFR: LOGIC ERROR AT XFR, BAD OPCODE47",
"XFRINIT: NO ENTRY IN FTT AVAILABLE. 48",
"NP$LOC: NO ENTRY WITH MATCHING ACN 49",
"NETSTP: AIP INTERNAL STATE TABLE ERROR50",
*IF,DEF,DEBUG
"NP$ON: INVALID PROCESS NUMBER. 50",
"NP$XFER: NWL HAS OVERFLOWED. 51",
"NETFUNC: INVALID FUNCTION CODE USED. 52",
"NETGET: REQ INVALID FOR DATA QUEUE. 53",
"NETGETL: REQ INVALID FOR DATA QUEUE. 54",
"NETGETF: REQ INVALID FOR DATA QUEUE. 55",
"NETGTFL: REQ INVALID FOR DATA QUEUE. 56",
"NETPUT: REQ INVALID FOR DATA QUEUE. 57",
"NETPUTF: REQ INVALID FOR DATA QUEUE. 58",
"NETFUNC: DWNLINE BUFFERING ALREADY ON.59",
"NETFUNC: DOWNLINE BUF SIZE TOO SMALL. 60",
"NETFUNC: DWNLIN BUFFERING ALREADY OFF.61",
"NP$XFER: NIP NOT AVAILABLE AT SCP. 67",
"NFETCH: ILLEGAL FIELD MNEMONIC. 68",
"NSTORE: ILLEGAL FIELD MNEMONIC. 69",
"QTENDT: REQUEST INVALID BEFORE QTOPEN.70",
"QTGET: REQUEST INVALID BEFORE QTOPEN. 71",
"QTPUT: REQUEST INVALID BEFORE QTOPEN. 72",
"QTLINK: REQUEST INVALID BEFORE QTOPEN.73",
"QTTIP: REQUEST INVALID BEFORE QTOPEN. 74",
"QTCMD: REQUEST INVALID BEFORE QTOPEN. 75",
"QTLEND: REQUEST INVALID BEFORE QTOPEN.76",
"QTSUP: REQUEST INVALID BEFORE QTOPEN. 77",
"QTOPEN: DUPLICATE QTOPEN. 80",
"QTOPEN: NIT NUM-TERMS FIELD IS ZERO. 81",
"QTOPEN: NETON REJECTED. 82",
"QTOPEN: NETWORK NOT AVAILABLE. 83",
"QTSUP: SUPERVISORY MESSAGE REJECTED. 84",
"QTLINK: NO SUPPORT-A-TO-A 95",
"QTGET: NETWORK LOGICAL ERROR 99",
*ENDIF
"0"];
END
*ENDIF
#**********************************************************************#
#
NP$ERR EXECUTION BEGINS HERE.
#
ERRCODE[0] = DIGITS; # BUILD ERROR MESSAGE. #
NP$MSG(ERROR,0); # LIST ERROR IN DAYFILE. #
*IF,DEF,DEBUG
FOR INDEX = 0 STEP 1 UNTIL LENGTH DO
BEGIN
IF RCFIELDS[INDEX] EQ ERRCODE[0]
THEN
BEGIN
EOLS[INDEX] = 0;
NP$MSG(ERRORS[INDEX]);
RCFIELDS[INDEX] = DIGITS;
END
END
*ENDIF
NP$OSIF(ABT); # ABORT THE APPLICATION. #
END #NP$ERR#
TERM