cdc:nos2.source:nam5871:hlglerr
Table of Contents
HLGLERR
Table Of Contents
- [00013] PRGM HLGLERR
Source Code
- HLGLERR.txt
- *DECK HLGLERR
- USETEXT NIPDEF
- USETEXT ACB
- USETEXT AHEADER
- USETEXT APPSTAT
- USETEXT AT
- USETEXT AWLNTRY
- USETEXT DRHDR
- USETEXT NWLNTRY
- USETEXT PARAMS
- USETEXT PT
- USETEXT SUPMSG
- PRGM HLGLERR; # FORM LOGICAL ERROR MESSAGE #
- STARTIMS; NAMA378
- #
- *1DC HLGLERR NAMA378
- * NAMA378
- * 1. PROC NAME AUTHOR DATE NAMA378
- * HLGLERR Y. HSIEH 78/02/15
- * NAMA378
- * 2. FUNCTIONAL DESCRIPTION. NAMA378
- * THIS ROUTINE IS RESPONSIBLE FOR FORMATTING A LOGICAL ERROR NAMA378
- * MESSAGE AND SENDING IT TO THE APPROPRIATE APPLICATION. NAMA378
- * NAMA378
- * 3. METHOD USED. NAMA378
- * FORM A LOGICAL ERROR MESSAGE WITH ERROR CODE TO THE
- * APPLICATION BY LINKING TO THE PROPER ACB.
- * NAMA378
- * 4. ENTRY PARAMETERS. NAMA378
- * PARAMS1 REASON CODE FOR THE ERROR
- * NAMA378
- * 5. EXIT PARAMETERS.
- * BUFADDR LOCATION OF LOGICAL ERROR MESSAGE
- * NAMA378
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * ACB AHEADER APPSTAT
- * DRHDR NIPDEF NWLNTRY
- * OSSIZE PARAMS SUPMSG
- * NAMA378
- * 7. ROUTINES CALLED. NAMA378
- * BLINK LINK DATA BLOCK INTO DATA RING
- * MGETS ALLOCATE EMPTY BUFFER
- * XTRACE RECORD CALL NAMA378
- * NAMA378
- * 8. DAYFILE MESSAGES. NAMA378
- * NONE NAMA378
- *
- * THIS PROGRAM IS A SECONDARY OVERLAY LOADED BY OVLCALL.
- * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION
- * RJMAIN TO RETURN TO THE CALLING PROGRAM.
- *
- * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
- *CALL OSSIZE
- *
- * THIS OVERLAY IS CALLED BY MANY ROUTINE WHICH DETECTED
- * AN APPLICATION-S LOGICAL ERRORS.
- * NAMA378
- # NAMA378
- STOPIMS; NAMA378
- # INPUT PARAMETERS # NAMA378
- NAMA378
- # OUTPUT PARAMETERS NONE # NAMA378
- # NAMA378
- EXTERNAL VARIABLES NAMA378
- # NAMA378
- XREF PROC BLINK; # LINK DATA BLOCK INTO DATA RING #
- XREF PROC MGETS; # ALLOCATE EMPTY BUFFER #
- XREF PROC XTRACE; # RECORD CALL # NAMA378
- XREF LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
- NAMA378
- # NAMA378
- LOCAL VARIABLES NAMA378
- # NAMA378
- ITEM BUFADDR; # ADDR OF LOGICAL ERROR BUFFER #
- ITEM LENGTH; # LENGTH OF BUFFER FOR LOGICAL ERROR MSG #
- ITEM REASON; # REASON FOR LOGICAL ERROR #
- NAMA378
- #**********************************************************************# NAMA378
- NAMA378
- BEGIN NAMA378
- CONTROL IFEQ DEBUG,1; NAMA378
- XTRACE("HLGLE") ;
- CONTROL FI; NAMA378
- NAMA378
- # SET APPLICATION ACB POINTER #
- REASON = PARAMS1; # REASON CODE OF LOGICAL ERROR #
- P<ACB> = ACBADDR; # APPL ACB ADDRESS #
- # CHECK WHETHER LOGICAL ERROR LIMIT IS REACHED OR NOT #
- IF ACBERCNT[0] LQ MAXLGERR # NOT REACH LOGICAL ERR LIMIT #
- THEN
- BEGIN
- IF ACBERCNT[0] EQ MAXLGERR # LOGICAL ERR LIMIT REACHED #
- THEN
- REASON = RLG"IAL";
- ACBERCNT[0] = ACBERCNT[0] + 1; # INCRE LOGICAL ERR COUNT #
- #
- STEP 1 GET EMPTY BUFFER FOR LOGICAL ERROR MESSAGE
- #
- P<NWLENTRY> = WLADDR;
- LENGTH = BLKHSIZE + ABHSIZE + LERR;
- IF NWLTLC[0] EQ 0
- THEN
- LENGTH = LENGTH - 1;
- MGETS(LENGTH, BUFADDR, TRUE);
- #
- STEP 2 FILL IN FIELDS IN LOGICAL ERROR MESSAGE
- #
- P<AHEADER> = BUFADDR + BLKHSIZE;
- P<SUPMSG> = BUFADDR + BLKHSIZE + ABHSIZE;
- ABHABT[0] = APPCMD;
- ABHACT[0] = CT60TRANS;
- ABHTLC[0] = LENGTH - BLKHSIZE - ABHSIZE;
- PFCSFC[0] = ERRLGL; # FUNCTION CODE FOR LGL/ERR MSG#
- ERRRLG[0] = REASON; # REASON CODE #
- ERRABH[0] = NWLEABH[0]; # COPY ABH OF THE NWLENTRY IN ERROR #
- IF NWLTLC[0] NQ 0
- THEN
- BEGIN # COPY ONE WORD OF MSG FROM NWLENTRY #
- P<DRHDRWD> = 0;
- ERRMSG[0] = CMWORD[WLADDR + AIPHSIZE + ABHSIZE];
- END
- #
- LINK LOGICAL ERROR MESSAGE INTO PCB DATA RING
- #
- BLINK(BUFADDR,ACBADDR);
- END
- GOTO RJMAIN; # RETURN TO CALLING ROUTINE #
- END NAMA378
- TERM NAMA378
cdc/nos2.source/nam5871/hlglerr.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator