*DECK     NVFOFAD 
USETEXT TEXTNVF 
USETEXT TEXTSS
USETEXT TXCMDNV 
USETEXT TXSMNVF 
USETEXT TXTAPSS 
      PROC NVFOFAD(AORD); 
# TITLE - FORMAT APPLICATION DATA.                                     #
      BEGIN 
# 
**    NVFOFAD - FORMAT APPLICATION DATA.
* 
*     D.K. ENDO    82/05/06 
*     C.J. BRION   82/06/18, 83/06/23.
* 
*     THIS PROCEDURE FORMATS THE APPLICATION STATUS MESSAGES. 
* 
*     PROC NVFOFAD(AORD)
* 
*     ENTRY        1. ORDINAL OF AST ENTRY FOR THE APPLICATION. 
* 
*     EXIT         1. ENTRY IN THE C-LAYER QUEUE WITH MESSAGE.
* 
# 
# 
****  PROC NVFOFAD - XREF LIST BEGINS.
# 
      XREF
        BEGIN 
        PROC SSBSBF;         # STORE BIT FIELD                         #
        PROC SSTAQE;         # ACCEPT QUEUE ENTRY                      #
        FUNC XCDD U;         # CONVERT INTEGER TO DECIMAL DISPLAY CODE #
        END 
# 
****
# 
  
  
      ITEM AORD;           # ORDINAL OF AST ENTRY FOR APPLICATION    #
  
  
      DEF APSTXTL # 40 #;    # CHAR COUNT OF APPL STATUS TEXT          #
  
  
      ITEM CNST1;            # CONSTANT 1                              #
      ITEM CNST2;            # CONSTANT 2                              #
      ITEM CNST3;            # CONSTANT 3                              #
      ITEM ITEMP U;          # UNSIGNED INTEGER TEMPORARY              #
  
  
# 
      THIS ARRAY DEFINES THE FORMAT OF THE APPLICATION STATUS MESSAGE.
# 
      ARRAY APSTXT [00:00] S(4);
        BEGIN 
        ITEM APS$APPL   C(00,00,06) = ["APPL: "]; 
        ITEM APS$ANAM   C(00,36,07);
        ITEM APS$C1     C(01,18,01) = [","];
        ITEM APS$ST     C(01,24,02);
        ITEM APS$C2     C(01,36,01) = [","];
        ITEM APS$CCNT   C(01,42,04);
        ITEM APS$C3     C(02,06,01) = [","];
        ITEM APS$MXC    C(02,12,02);
        ITEM APS$C4     C(02,24,01) = [","];
        ITEM APS$JSN    C(02,30,04);
        ITEM APS$RS     C(03,00,03);
        ITEM APS$ZBYT   U(03,18,42) = [0];
        END 
      CONTROL EJECT;
#                                                                      #
#                            NVFOFAD CODE BEGINS HERE                  #
#                                                                      #
  
# 
*     GENERATE STATUS LINE ONLY IF PRIMARY APPLICATION NAME IS
*     NOT ZERO. 
# 
      IF AST$UPANAM[AORD] NQ 0
      THEN
        BEGIN 
  
  
  
  
  
  
  
  
# 
*     PUT THE APPLICATION NAME IN THE STATUS TEXT.  ADD THE T-A, A-A, 
*     AND RESERVED CONNECTION COUNTS, CONVERT THE SUM TO DISPLAY CODE 
*     AND PUT IT IN THE TEXT.  DETERMINE THE STATUS AND PUT IT IN THE 
*     TEXT.  PUT THE MAXIMUMCOPIES, JSN AND RS INDICATOR IN THE TEXT, 
*     THEN SEND THE TEXT TO THE HOP.
# 
  
  
  
      CNST1 = 0;
      CNST2 = 36; 
      CNST3 = 42; 
      SSBSBF(APSTXT,CNST1,CNST2,CNST3,B<0,42>AST$ANAM[AORD]); 
  
      ITEMP = XCDD(AST$TACN[AORD] + AST$AACN[AORD] + AST$RACN[AORD]); 
      CNST1 = 1;
      CNST2 = 42; 
      CNST3 = 24; 
      SSBSBF(APSTXT,CNST1,CNST2,CNST3,ITEMP); 
  
      IF AST$DIF[AORD]
      THEN
        BEGIN 
        APS$ST[0] = "DI"; 
        END 
      ELSE IF AST$DNF[AORD] 
      THEN
        BEGIN 
        APS$ST[0] = "DN"; 
        END 
      ELSE IF AST$JSN[AORD] EQ " " AND
              AST$TACN[AORD] EQ 0 AND 
              AST$CUCOP[AORD] EQ 0 AND
              AST$AACN[AORD] EQ 0 AND NOT 
              AST$SNPF[AORD]
      THEN
        BEGIN 
        APS$ST[0] = "EN"; 
        END 
      ELSE
        BEGIN 
        APS$ST[0] = "AC"; 
        END 
  
# 
*     CONVERT THE MAX COPIES VALUE AND ADD TO TEXT. 
# 
  
      ITEMP = XCDD(AST$MXCOP[AORD]);
      CNST1 = 2;
      CNST2 = 12; 
      CNST3 = 12; 
      SSBSBF(APSTXT,CNST1,CNST2,CNST3,ITEMP); 
  
# 
*     STORE THE JSN AND RS INDICATOR INTO THE TEXT. 
# 
  
      APS$JSN[0] = AST$JSN[AORD]; 
      IF AST$RS[AORD] 
      THEN
        APS$RS[0] = ",RS";
      ELSE
        APS$RS[0] = "   ";
  
      WCB$WORD[1] = 0;
      WCB$WC[1] = 2 + APSTXTL/10; 
      ABHWORD[1] = 0; 
      ABHABT[1] = HOPTX$; 
  
      SSTAQE(P<CTQ>,WCBUF[1],ABHBUF[1],APSTXT); 
  
  
      END # IF AST$UPANAM NQ 0 #
  
      RETURN;                # **** RETURN ****                        #
      END # NVFOFAD # 
      TERM
