*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,WCBUF[1],ABHBUF[1],APSTXT); END # IF AST$UPANAM NQ 0 # RETURN; # **** RETURN **** # END # NVFOFAD # TERM