*DECK OVERFLO 
USETEXT COMCBEG 
USETEXT COMRAPL 
USETEXT COMRQUE 
USETEXT COMRRTN 
PROC OVERFLO; 
# TITLE OVERFLO - PROCESS ENTRIES ON ACCOUNTING OVERFLOW QUEUE.  #
  
      BEGIN  # OVERFLO #
  
# 
**    OVERFLO - PROCESS ENTRIES ON ACCOUNTING OVERFLOW QUEUE. 
* 
*     SENDS DAYFILE MESSAGES TO UCP AND TO RHF INDICATING ACCOUNTING
*     OVERFLOW. 
* 
*     PROC OVERFLO. 
* 
*     ENTRY   - AT LEAST ONE ENTRY ON ACCOUNTING OVERFLOW QUEUE.
* 
*     EXIT    - ALL ACCOUNTING OVERFLOW ENTRIES ARE PROCESSED.
* 
*     PROCESS - FOR EACH ENTRY ON ACCOUNTING OVERFLOW QUEUE:  
*                 DEQUEUE ENTRY.
*                 INSERT COUNTER TYPE AND ACN INTO MESSAGE. 
*                 SEND OVERFLOW DAYFILE MESSAGE TO UCP AND RHF. 
*                 FREE ENTRY. 
*               RETURN. 
* 
* 
****  PROC OVERFLO - XREF LIST BEGIN. 
# 
  
      XREF
        BEGIN 
        FUNC BINTODD    C(10);       # CONVERT BINARY TO DISPLAY CODE # 
        PROC DEQUEUE;                # REMOVE ENTRY FROM QUEUE #
        PROC FREE;                   # RELEASE QUEUE ENTRY #
        PROC RHFMSGJ;                # ISSUE RHF DAYFILE MESSAGE #
        END 
  
# 
****  PROC OVERFLO - XREF LIST END. 
# 
  
  
      ARRAY MSG$OVRFLO [0:0] S(6);
        BEGIN  # ACCOUNTING OVERFLOW MESSAGE #
        ITEM MSGOV      C(00,00,56) = 
          ["ACNXXXX ACCOUNTING OVERFLOW-ADD 32767 TO XXXXXX XXXXXXXX"]; 
        ITEM MSGOVACN   C(00,24,04);
        ITEM MSGOVCNTR  C(04,06,14);
        END 
  
      ARRAY MSG$DETAIL [0:3] S(3);
        BEGIN  # COUNTER TYPE # 
        ITEM MSGCOUNTER C(00,00,15) = ["BLOCKS RECEIVED", 
                                       "BLOCKS SENT", 
                                       "ACKS RECEIVED", 
                                       "ACKS SENT"];
        ITEM MSGCHARCNT I(02,00,60) = [56,52,54,50];
        END 
  
CONTROL EJECT;
  
      ASLONGAS OVERFLOWQ NE 0 
      DO
        BEGIN 
        DEQUEUE(LOC(OVERFLOWQ));
        MSGOVACN = BINTODD(QU$ACN,4); 
        MSGOVCNTR = MSGCOUNTER[QU$COUNTER]; 
        P<APL$HEADER> = QU$APPL;
        RHFMSGJ(APL$JOBID,LOC(MSG$OVRFLO),MSGCHARCNT[QU$COUNTER]);
        FREE; 
        END 
  
      END  # OVERFLO #
  
      TERM
