*DECK DLREST
USETEXT DLFPDEF 
USETEXT DLONEL
USETEXT MISRES
USETEXT OFETB 
USETEXT OUTCDA
PROC DLREST;                 # NIP RESPONSE TIME AVERAGES              #
*IF DEF,IMS 
 #
*1DC  DLREST
* 
*     1. PROC NAME           AUTHOR              DATE.
*        DLREST              P.C.TAM             79/01/17 
* 
*     2. FUNCTIONAL DESCRIPTION.
*        OUTPUT THE AVERAGE RESPONSE TIME FOR EACH CONNECTION 
* 
*     3. METHOD USED. 
*        LOOP THROUGH CONNECTION TABLE
* 
*     4. ENTRY PARAMETERS.
*        MISRES              COMMON BLOCK CONTAINING SUMS OF
*                            RESPONSE TIME OF CONNECTIONS 
* 
*     5. EXIT PARAMETERS. 
*        NONE.
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        DLFPDEF   DLONEL    MISRES    OFETB
*        OUTCDA 
* 
*     7. ROUTINES CALLED
*        DLDISDE             CONVERT FIELD FROM BINARY TO DECIMAL 
*                            DISPLAY CODE 
*        DLFLUSH             EMPTY CIO BUFFER, WRITE EOR
*        DLRECL              WAIT FOR EVENT COMPLETION
*        DLWRITC             WRITE LINE TO CIO BUFFER 
* 
*     8. DAYFILE MESSAGES 
*        NONE.
* 
 #
*ENDIF
# 
      EXTERNAL ROUTINES 
# 
      XREF
        BEGIN 
        PROC DLDISDE;        # CONVERT FIELD TO DECIMAL DISPLAY        #
        PROC DLFLUSH;        # EMPTY CIO BUFFER, WRITE EOR             #
        PROC DLRECL;         # WAIT FOR EVENT COMPLETION               #
        PROC DLWRITC;        # WRITE LINE TO CIO BUFFER                #
        END 
# 
      LOCAL VARIABLES 
# 
      ITEM
      I            I,        # INDEX FOR CONNECTION TABLE              #
      TEMP1        C(WC);    # TEMPORARY VARIABLE                      #
  
      ARRAY L7 S(3);
        BEGIN 
        ITEM L7FIL1 C(0,0,6)      =[" "]; 
        ITEM L7FIL2 C(0,36,22)    =["AVERAGE RESPONSE TIME"]; 
        ITEM L7ZERO U(2,48,12)    =[0]; 
        END 
  
      ARRAY L8 S(4);
        BEGIN 
        ITEM L8FIL1 C(0,0,6)      = [" "];
        ITEM L8FIL2 C(0,36,19)    = ["   CN"];
        ITEM L8FIL3 C(2,30,13)    = ["MILLISECONDS"]; 
        ITEM L8FIL4 U(3,48,12)    = [0];
        END 
  
      ARRAY L9 S(4);
        BEGIN 
        ITEM L9FIL1 C(0,0,6)      = [" "];
        ITEM L9FIL2 C(0,36,19)    = [" ----"];
        ITEM L9FIL3 C(2,30,13)    = ["------------"]; 
        ITEM L9FIL4 U(3,48,12)    = [0];
        END 
  
      ARRAY L10 S(4); 
        BEGIN 
        ITEM L10FIL1 C(0,0,7)     = [" "];
        ITEM L10CN   C(0,42,4); 
        ITEM L10FIL2 C(1,6,16)    = [" "];
        ITEM L10MILS C(2,42,WC);
        ITEM L10FIL3 C(3,42,1)    = [" "];
        ITEM L10ZERO U(3,48,12)   = [0];
        END 
  
# ******************************************************************** #
      BEGIN     # OUTPUT RESPONSE TIME AVERAGES                        #
      DLFLUSH(OFET);         # EMPTY CIO BUFFER, WRITE EOR             #
      DLRECL(OFET);          # WAIT FOR EVENT COMPLETION               #
      LINE$COUNT = MAXNO; 
      DLWRITC(L7, 3); 
  
      DLWRITC(L8, 4); 
  
      DLWRITC(L9, 4); 
  
      DLWRITC(ONEL, 1); 
  
#     LOOP TO OUTPUT ALL ACCUMULATED RESPONSE TIME AVERAGE             #
  
      FOR I = 0 STEP 1 UNTIL MAXCN
      DO
        BEGIN 
        IF CNEXTF[I]
        THEN
          BEGIN 
          DLDISDE(I, 4, TEMP1); 
          L10CN[0] = TEMP1; 
          DLDISDE(CNSUM[I]/CNCTR[I], WC, TEMP1);
          L10MILS[0] = TEMP1; 
          DLWRITC(L10, 4);
          END 
        END 
      END                    # DLREST                                  #
TERM
