*DECK DLAREP
USETEXT DLFPDEF 
USETEXT ABH 
USETEXT DEQCOM
USETEXT DLTLC 
USETEXT NP$NWN1 
USETEXT OUTCDA
USETEXT WRDPAIR 
USETEXT ZHRCD 
PROC DLAREP;                 # AIP DEBUG LOG FILE HEADER REPORT        #
*IF DEF,IMS 
 #
* 
*1DC  DLAREP
* 
*     1. PROC NAME           AUTHOR              DATE.
*        DLAREP              S.KRULEVITCH        78/12/19 
* 
*     2. FUNCTIONAL DESCRIPTION.
*        FORMATS AIP DEBUG LOG FILE HEADERS.
* 
*     3. METHOD USED. 
*        SWITCH ON OPERATION CODE TO FORMAT DATA
* 
*     4. ENTRY PARAMETERS.
*        ZHRCD - CONTAINS DEBUG LOG FILE ENTRY
* 
*     5. EXIT PARAMETERS. 
*        DLCC                TEXT LENGTH IN CHARACTERS
*        TRUNC               TEXT LENGTH IN CHARACTERS
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        ABH       DEQCOM    DLFPDEF   DLTLC
*        NP$DBA    NP$DLA    NP$NWNC   OUTCDA    WRDPAIR
*        NP$DBA    NP$DLA    OUTCDA    WRDPAIR
*        ZHRCD
* 
*     7. ROUTINES CALLED. 
*        DLDISDE             CONVERT FIELD TO DECIMAL DISPLAY 
*        DLDISO              CONVERT FIELD TO OCTAL DISPLAY 
*        DLWRITC             WRITE LINE TO CIO BUFFER 
* 
*     8. DAYFILE MESSAGES.
*        NONE.
* 
 #
*ENDIF
# 
      EXTERNAL REFERENCES 
# 
      XREF
        BEGIN 
        PROC DLDISDE;        # CONVERT FIELD TO DECIMAL DISPLAY        #
        PROC DLDISO;         # CONVERT FIELD TO OCTAL DISPLAY          #
        PROC DLWRITC;        # WRITE LINE TO CIO BUFFER                #
        END 
# 
      COMMON VARIABLES
# 
      BASED ARRAY DBGLG P(2); 
*CALL NP$DBA
      BASED ARRAY DATLINE P(4); 
*CALL NP$DLA
# 
      LOCAL VARIABLES 
# 
      BEGIN 
# 
      ITEM DEFINITIONS
# 
      ITEM CHARWD  C(WC);               # TEMPORARY VARIABLE           #
      ITEM I;                           # INDEX VARIABLE FOR TEXT      #
      ITEM LINLEN;                      # LENGTH OF OUTPUT LINE        #
#                                                                      #
#     ARRAY DEFINITIONS                                                #
#                                                                      #
      ARRAY LINE1  P(7);     # CHARACTER ARRAY FOR FORMATTING LINE 1   #
        BEGIN 
        ITEM L1$NAME  C(0, 0,10);      # PROCEDURE NAME                #
        ITEM L1$CALL  C(1, 0, 6);      # CALL ADDRESS                  #
        ITEM L1$FMT1  C(1,36, 4); 
        ITEM L1$WRD1  C(1,0,WC);
        ITEM L1$FMT2  C(2, 0, 4); 
        ITEM L1$CLN   C(2,24, 6);      # ACN OR ALN VALUE FOR GETS     #
        ITEM L1$HAPT  C(2,24, 6);      # HEADER ADDRESS FOR PUTS       #
        ITEM L1$WRD2  C(2,0,WC);
        ITEM L1$FMT3  C(3, 0, 7); 
        ITEM L1$HAGT  C(3,24, 6);      # HEADER ADDRESS FOR GETS       #
        ITEM L1$TAP1  C(3,42, 3);      # TEXT ADDR FOR PUT (LEFT 3)    #
        ITEM L1$NAPT  C(3,42, 3);      # NUMBER OF FRAGMENTS FOR PUTF  #
        ITEM L1$WRD3  C(3,0,WC);
        ITEM L1$TAP2  C(4, 0,10);      # TEXT ADDR FOR PUT (RIGHT 3)   #
        ITEM L1$FMT4  C(4, 0, 8); 
        ITEM L1$TAG1  C(4,36, 4);      # TEXT ADDR FOR GET (LEFT 4)    #
        ITEM L1$NAGT  C(4,42, 3); 
        ITEM L1$TAA1  C(4,48, 2);      # TAA ADDR FOR PUTF (LEFT 2)    #
        ITEM L1$WRD4  C(4,0,WC);
        ITEM L1$TAA2  C(5, 0,10);      # TAA ADDR FOR PUTF (RIGHT 4)   #
        ITEM L1$FMT5  C(5, 0,10); 
        ITEM L1$TAG2  C(5, 0, 2);      # TEXT ADDR FOR GET (RIGHT 2)   #
        ITEM L1$TAA3  C(5,42, 3);      # TAA ADDR FOR GETF (LEFT 3)    #
        ITEM L1$WRD5  C(5, 0,WC); 
        ITEM L1$TLMX  C(6, 0,10);      # TLMAX FOR GET                 #
        ITEM L1$TLEQ  C(6, 0, 1);      # INSERT = SIGN                 #
        ITEM L1$TAA4  C(6, 0,10);      # TAA ADDR FOR GETF (RIGHT 3)   #
        ITEM L1$WRD6  C(6, 0,WC); 
        END 
  
      ARRAY MSGNO P(2); 
        BEGIN 
        ITEM MSG$FMT    C(0,0,10)=["  MSG NO."];
        ITEM MSG$MCT    C(1,0,6);       # MSG$COUNT                    #
        ITEM MSG$TERM   I(1,36,24)=[0]; 
        END 
  
      ARRAY HDRLINE  P(9);
        BEGIN 
        ITEM HL$FMT1   C(0, 0,10) = ["  ABT =   "]; 
        ITEM HL$ABT    C(0,42, 2);
        ITEM HL$FMT2   C(1, 0,10) = [" ADR =    "]; 
        ITEM HL$ADR    C(1,36, 4);
        ITEM HL$FMT3   C(2, 0,10) = ["  ABN =   "]; 
        ITEM HL$ABN1   C(2,42, 3);
        ITEM HL$ABN2   C(3, 0, 3);
        ITEM HL$FMT4   C(3, 0,10) = ["     ACT ="]; 
        ITEM HL$ACT    C(4, 0, 2);
        ITEM HL$FMT5   C(4,12, 8) = ["  STATUS"]; 
        ITEM HL$FMT6   C(5, 0,10) = [" =        "]; 
        ITEM HL$ST1    U(5,18, 6);
        ITEM HL$ST2    U(5,24, 6);
        ITEM HL$ST3    U(5,30, 6);
        ITEM HL$ST4    U(5,36, 6);
        ITEM HL$ST5    U(5,42, 6);
        ITEM HL$ST6    U(5,48, 6);
        ITEM HL$ST7    U(5,54, 6);
        ITEM HL$ST8    U(6, 0, 6);
        ITEM HL$FMT7   C(6, 0,10) = ["    TLC = "]; 
        ITEM HL$TLC    C(7, 0,10);
        ITEM HL$FMT9   I(8, 0,WL) = [0];
        END 
  
#        HEADER BUFFER FOR BLOCK TYPE 4 (APPPN)                        #
      ARRAY HDRLINE2 P(9) ; 
      BEGIN 
      ITEM HL2$FMT1 C(0,0,10) = ["  ABT =   "] ;
      ITEM HL2$ABT  C(0,42,2) ; 
      ITEM HL2$FMT2 C(1,0,09) = [" DN =    "] ; 
      ITEM HL2$DN   C(1,36,3) ; 
      ITEM HL2$D1   C(1,54,1) = [" "] ; 
      ITEM HL2$FMT3 C(2,0,9) = [" SN =    "] ;
      ITEM HL2$SN   C(2,36,3) ; 
      ITEM HL2$D2   C(2,54,1) = [" "] ; 
      ITEM HL2$FMT4 C(3,0,09) = [" CN =    "] ; 
      ITEM HL2$CN   C(3,36,3) ; 
      ITEM HL2$D3   C(3,54,1) = [" "] ; 
      ITEM HL2$FMT5 C(4,0,09) = [" BT =    "] ; 
      ITEM HL2$BT   C(4,36,3) ; 
      ITEM HL2$D4   C(4,54,1) = [" "] ; 
      ITEM HL2$FMT6 C(5,0,10) = [" ACT =    "] ;
      ITEM HL2$ACT  C(5,42,3) ; 
      ITEM HL2$FMT7 C(6,0,10) = ["    TLC = "] ;
      ITEM HL2$TLC  C(7,0,10) ; 
      ITEM HL2$FMT8 I(8,0,WL) = [0] ; 
  
      END 
  
      ARRAY HDRLINB P(9) ;
        BEGIN                # HEADER LINE FOR NETLOG CALLS            #
        ITEM HB$FIL1   C(0,0,60)= [" "];
        ITEM HB$FIL2   C(6,0,10)= ["    TLW ="];
        ITEM HB$TLW    C(7,0,10) ;
        ITEM HB$FIL3   I(8,0,60) = [0] ;
        END 
  
      ARRAY ONLINE1  P(7);        # LOG ENTRY CHARACTER ARRAY - LINE 1 #
        BEGIN 
        ITEM ON1$OP   C(0, 0,10) = [" NETON   ("];
        ITEM ON1$CAD  C(1, 0, 6); 
        ITEM ON1$RP   C(1,36, 4) = [")   "];
        ITEM ON1$FM1  C(2, 0,10) = ["  ANAME = "];
        ITEM ON1$NAM  C(3, 0,10); 
        ITEM ON1$FM2  C(4, 0,10) = ["    DATE ="];
        ITEM ON1$DAT  C(5, 0,10); 
        ITEM ON1$FM3  C(6, 0,10) = [" "]; 
        END 
  
      ARRAY ONLINE2  P(6);        # LOG ENTRY CHARACTER ARRAY - LINE 2 #
        BEGIN 
        ITEM ON2$FM1  C(0, 0,10) = ["  NSUP ADD"];
        ITEM ON2$FM2  C(1, 0, 4) = ["R = "];
        ITEM ON2$NAD  C(1,24, 6); 
        ITEM ON2$FM3  C(2, 0,10) = ["  MINACN ="];
        ITEM ON2$MIN  C(3, 0, 5); 
        ITEM ON2$FM4  C(3,30, 5) = ["  MAX"]; 
        ITEM ON2$FM5  C(4, 0, 5) = ["ACN ="]; 
        ITEM ON2$MAX  C(4,30, 5); 
        ITEM ON2$FM6  I(5, 0,60) = [0]; 
        END 
  
      ARRAY DBGLOG  P(7);    # LOG NETDBG CALL MESSAGE CHARACTER ARRAY #
        BEGIN 
        ITEM TX$DBG   C(0, 0,10) = [" NETDBG  ("];
        ITEM TX$CALL  C(1, 0, 6); 
        ITEM TX$RP    C(1,36, 4) = [")   "];
        ITEM TX$OPT1  C(2, 0,10) = ["  OPT1 =  "];
        ITEM TX$OPV1  U(2,54, 6); 
        ITEM TX$OPT2  C(3, 0,10) = ["  OPT2 =  "];
        ITEM TX$OPV2  U(3,54, 6); 
        ITEM TX$DATE  C(4, 0,10) = ["    DATE ="];
        ITEM TX$YMD   C(5, 0,10); 
        ITEM TX$ZERO  C(6, 0,10) = [" "]; 
        END 
  
      ARRAY OFFLINE  P(7);        # LOG ENTRY CHARACTER ARRAY          #
        BEGIN 
        ITEM OFF$OP   C(0, 0,10) = [" NETOFF  ("];
        ITEM OFF$CAD  C(1, 0, 6); 
        ITEM OFF$FM1  C(1,36, 4) = [")   "];
        ITEM OFF$FM2  C(2, 0,10) = ["    DATE ="];
        ITEM OFF$DAT  C(3, 0,10); 
        ITEM OFF$FM3  C(4, 0,30) = [" "]; 
        END 
  
      ARRAY RSTLINE  P(7);        # LOG ENTRY FOR RESET WORKLIST       #
        BEGIN 
        ITEM RST$OP   C(0, 0,10) = [" NETRR   ("];
        ITEM RST$CAD  C(1, 0, 6); 
        ITEM RST$FM1  C(1,36, 4) = [")   "];
        ITEM RST$FM2  C(2, 0,10) = ["    DATE ="];
        ITEM RST$DAT  C(3, 0,10); 
        ITEM RST$FM3  C(4, 0,30) = [" "]; 
        END 
  
      BASED ARRAY ONLINE P(4);
        BEGIN 
        ITEM ON$NSUP    I(0,6,AL);      # USER COMMUNICATION WORD      #
        ITEM ON$CALL    I(0,24,AL); 
        ITEM ON$OPC     I(0,54,6);      # NETON OPCODE (=6)            #
        ITEM ON$MIN     I(1,0,WL);      # MINACN                       #
        ITEM ON$MAX     I(2,0,WL);      # MAXACN                       #
        END             # ONLINE        # 
  
#     SWITCH DEFINITION                                                #
#                                                                      #
      SWITCH NAMCALL  RTRN,PUT,GET,GETL,RTRN,RTRN,ON,OFF,GETF,
                    PUTF,GTFL,XFR,RST,LOG,RTRN,RTRN,RTRN,DBG; 
  
#**********************************************************************#
# 
      DLAREP EXECUTION STARTS HERE
# 
#     ZERO WORDS AT END OF CHARACTER ARRAY                             #
  
      L1$WRD1[0] = " "; 
      L1$WRD2[0] = " "; 
      L1$WRD3[0] = " "; 
      L1$WRD4[0] = " "; 
      L1$WRD5[0] = " "; 
      L1$WRD6[0] = " "; 
      DLDISDE(OUMSGNO, 6,CHARWD);       # CONVERT MESSAGE COUNT        #
      MSG$MCT[0] = CHARWD;
  
#     SWITCH ON OPERATION CODE FOR NAM PROCEDURE CALL                  #
  
      P<DATLINE> = LOC(TEMPB1); 
  
      GOTO NAMCALL [DL$OPC[0]]; 
  
    PUT:  
      L1$NAME[0] = " NETPUT  (";
  
#     FORMAT TA PARAMETER FOR NETPUT                                   #
  
      L1$FMT3[0] = "   TA ="; 
      DLDISO(DL$TA[0],6,CHARWD);        # CONVERT TEXT ADDR TO DISPLAY #
      L1$TAP1[0] = C<0,3> CHARWD;       # PUT TEXT ADDR IN OUTPUT LINE #
      L1$TAP2[0] = C<3,3> CHARWD; 
      LINLEN = 7; 
      GOTO FL11;
  
    PUTF: 
      L1$NAME[0] = " NETPUTF (";
  
#     FORMAT NA PARAMETER FOR NETPUTF                                  #
  
      LTAA = DL$TL[0];                  # NUMBER OF FRAGMENTS          #
      L1$FMT3[0] = "   NA ="; 
      DLDISDE(DL$TL[0],3,CHARWD);       # CONVERT NA TO DISPLAY CODE   #
      L1$NAPT[0] = C<0,3> CHARWD;       # PUT NA INTO OUTPUT LINE      #
  
#     FORMAT TAA PARAMETER FOR NETPUTF                                 #
  
      L1$FMT4[0] = "   TAA =";
      DLDISO(DL$TA[0],6,CHARWD);        # CONVERT TAA TO DISPLAY CODE  #
      L1$TAA1[0] = C<0,2> CHARWD;       # PUT TAA INTO OUTPUT LINE     #
      L1$TAA2[0] = C<2,4> CHARWD; 
      LINLEN = 7; 
  
    FL11: 
  
#     FORMAT HA PARAMETER FOR NETPUT AND NETPUTF                       #
  
      L1$FMT1[0] = ")   ";
      DLDISO(DL$HA[0],6,CHARWD);        # CONVERT HA TO DISPLAY        #
      L1$HAPT[0] = CHARWD;              #PUT HEADER ADDR IN OUTPUT LINE#
      L1$FMT2[0] = "HA =";
      GOTO FL110; 
  
    GET:  
      L1$NAME[0] = " NETGET  (";
      L1$FMT2[0] = "CN =";
      GOTO FL12;
  
    GETL: 
      L1$NAME[0] = " NETGETL (";
      L1$FMT2[0] = "LN =";
  
    FL12: 
  
#     FORMAT MESSAGE TEXT ADDRESS FOR NETGET AND NETGETL               #
  
      L1$FMT4[0] = "  TA =  ";
      DLDISO(DL$TA[0],6,CHARWD);        # CONVERT TA TO DISPLAY        #
      L1$TAG1[0] = C<0,4> CHARWD;       # PUT TEXT ADDR IN OUTPUT LINE #
      L1$FMT5[0] = "    TLMAX ";
      L1$TAG2[0] = C<4,2> CHARWD;       # OUTPUT LAST 2 CHAR OF TA     #
  
#     FORMAT TEXT LENGTH MAXIMUM FOR NETGET AND NETGETL                #
  
      DLDISDE(DL$TL[0],5,CHARWD);       # CONVERT TLMAX TO DISPLAY     #
      L1$TLMX[0] = C<0,5> CHARWD;       #PUT TLMAX VALUE IN OUTPUT LINE#
      L1$TLEQ[0] = "=";                 # PUT EQUAL SIGN IN OUTPUT     #
      LINLEN = 7; 
      GOTO FL19;
  
    GETF: 
      L1$NAME[0] = " NETGETF (";
      L1$FMT2[0] = "CN =";
      GOTO FL18;
  
    GTFL: 
      L1$NAME[0] = " NETGTFL (";
      L1$FMT2[0] = "LN =";
  
    FL18: 
  
#     FORMAT NUMBER OF FRAGMENTS FOR NETGETF AND NETGTFL               #
  
      LTAA = DL$TL[0];                  # NUMBER OF FRAGMENTS          #
      L1$FMT4[0] = "   NA = ";
      DLDISDE(DL$TL[0],3,CHARWD);       # CONVERT NA TO DISPLAY CODE   #
      L1$NAGT[0] = C<0,3> CHARWD;       # PUT NA VALUE IN OUTPUT LINE  #
  
#     FORMAT TAA PARAMETER FOR NETGETF AND NETGTFL                     #
  
      L1$FMT5[0] = "  TAA =   ";
      DLDISO(DL$TA[0],6,CHARWD);        # CONVERT TAA VALUE TO DISPLAY #
      L1$TAA3[0] = C<0,3> CHARWD;       # PUT TAA VALUE IN OUTPUT LINE #
      L1$TAA4[0] = C<3,3> CHARWD; 
      LINLEN = 7; 
  
    FL19: 
      L1$FMT1[0] = ")  A";
  
#     FORMAT ACN OR ALN VALUE                                          #
  
      DLDISDE(DL$ADR[0],4,CHARWD);      # CONVERT CONNECTION/LIST NO   #
      L1$CLN[0] = C<0,4> CHARWD;        # PUT CONNECT/LINE NO IN OUTPUT#
  
#     FORMAT HA PARAMETER                                              #
  
      L1$FMT3[0] = "HA =";
      DLDISO(DL$HA[0],6,CHARWD);        # CONVERT HA TO DISPLAY        #
      L1$HAGT[0] = C<0,6> CHARWD;       #PUT HEADER ADDR IN OUTPUT LINE#
  
    FL110:  
      DLDISO(DL$CALL[0],6,CHARWD);      # CONVERT CALL ADDR TO DISPLAY #
      L1$CALL = C<0,6>CHARWD;           # PUT CALL ADDR IN OUTPUT LINE #
  
      OUPART = TRUE;
      DLWRITC(LINE1,LINLEN);            # OUTPUT LINE 1 FOR LOG ENTRY  #
      OUPART = FALSE; 
      DLWRITC(MSGNO,2);                 # OUTPUT MESSAGE NUMBER        #
  
  
#     CONVERT HEADER FIELDS TO DISPLAY CODE.                           #
      P<ABH> = P<DATLINE> + 3;
  
      IF ABHABT[0] EQ APPPN 
      THEN
        BEGIN                # PROCESS FOR BT 4                        #
        DLDISDE(ABHABT[0],2,CHARWD) ; 
        HL2$ABT[0] = C<0,2>CHARWD ; 
  
        DLDISDE(ABHDN[0],3,CHARWD) ;
        HL2$DN[0] = C<0,3>CHARWD ;
  
        DLDISDE(ABHSN[0],3,CHARWD) ;
        HL2$SN[0] = C<0,3>CHARWD ;
  
        DLDISDE(ABHCN[0],3,CHARWD) ;
        HL2$CN[0] = C<0,3>CHARWD ;
  
        DLDISDE(ABHBT[0],2,CHARWD) ;
        HL2$BT[0] = C<0,2>CHARWD ;
  
        DLDISDE(ABHACT[0],3,CHARWD) ; 
        HL2$ACT[0] = C<0,3>CHARWD ; 
  
        DLDISDE(ABHTLC[0],4,CHARWD) ; 
        HL2$TLC[0] = C<0,4>CHARWD ; 
  
        DLWRITC(HDRLINE2,9) ; 
        END                  # PROCESS FOR BT 4                        #
      ELSE
        BEGIN                # PROCESS FOR OTHER BT                    #
  
      DLDISDE(ABHABT[0],2,CHARWD);      # CONVERT ABT TO DISPLAY CODE  #
      HL$ABT[0] = C<0,2> CHARWD;        # PUT IN OUTPUT LINE           #
  
      DLDISDE(ABHADR[0],4,CHARWD);      # CONVERT ADR TO DISPLAY CODE  #
      HL$ADR[0] = C<0,4> CHARWD;        # PUT ADR IN OUTPUT LINE       #
  
      DLDISDE(ABHABN[0],6,CHARWD);      # CONVERT ABN TO DISPLAY       #
      HL$ABN1[0] = C<0,3> CHARWD;       # PUT ABN IN OUTPUT LINE       #
      HL$ABN2[0] = C<3,3> CHARWD; 
  
      DLDISDE(ABHACT[0],2,CHARWD);      # CONVERT ACT TO DISPLAY CODE  #
      HL$ACT[0] = C<0,2> CHARWD;        # PUT ACT IN OUTPUT LINE       #
  
      DLDISDE(ABHTLC[0],4,CHARWD);      # CONVERT TLC TO DISPLAY CODE  #
      HL$TLC[0] = C<0,4> CHARWD;        # PUT TLC IN OUTPUT LINE       #
  
#     CONVERT VALUE OF EACH STATUS BIT AND FORMAT INTO OUTPUT LINE     #
  
      HL$ST1[0] = ABHIBU[0] + O"33";
      HL$ST2[0] = ABHB41[0] + O"33";
      HL$ST3[0] = ABHB42[0] + O"33";
      HL$ST4[0] = ABHB43[0] + O"33";
      HL$ST5[0] = ABHNFE[0] + O"33";
      HL$ST6[0] = ABHXPT[0] + O"33";
      HL$ST7[0] = ABHCAN[0] + O"33";
      HL$ST8[0] = ABHBIT[0] + O"33";
  
#     WRITE HEADER LINE FOR MESSAGE BEING LOGGED TO FILE OUTPUT        #
  
      DLWRITC(HDRLINE,9); 
        END                  # PROCESS FOR OTHER BT                    #
      IF ABHABT[0] EQ 0 
      THEN
        DLCC = 0 ;
      ELSE
        DLCC = ABHTLC[0] ;
      TRUNC = (2*ABHTLC[0]+NW$ROUND[ABHACT[0]])/NW$FACT[ABHACT[0]]; 
      CT = ABHACT[0];        # SAVE ACT FOR PROCEDURE DLDIS            #
  
      GOTO RTRN;
  
ON: 
      P<ONLINE> = P<DATLINE> + 1; 
      DLDISO(ON$CALL,6,CHARWD); 
      ON1$CAD[0] = CHARWD;
  
      ON1$NAM[0] = L1NAME;   # NAME FROM ENTRY PARAMETER               #
  
      ON1$DAT[0] = C<0,9>SDTYYMMDD; 
  
      OUPART = TRUE;
      DLWRITC(ONLINE1,7);              # OUTPUT FIRST LINE OF LOG ENTRY#
      OUPART = FALSE; 
      DLWRITC(MSGNO,2);                 # OUTPUT MESSAGE NUMBER        #
  
#     FORMAT SECOND LINE OF LOG ENTRY FOR NETON CALL                   #
  
      DLDISO(ON$NSUP,6,CHARWD);         # CONVERT NSUP ADDR TO DISPLAY #
      ON2$NAD[0] = CHARWD;        # PUT NSUP ADDRESS IN OUTPUT LINE    #
  
      DLDISDE(ON$MIN,5,CHARWD);         # CONVERT MINACN TO DISPLAY    #
      ON2$MIN[0] = C<0,5> CHARWD;       # PUT MINACN IN OUTPUT LINE    #
  
      DLDISDE(ON$MAX,5,CHARWD);         # CONVERT MAXACN TO DISPLAY    #
      ON2$MAX[0] = C<0,5> CHARWD;       # PUT MAXACN IN OUTPUT LINE    #
  
      DLWRITC(ONLINE2,6);               # OUTPUT SECOND LINE OF NETON  #
  
      GOTO RTRN;
  
 XFR: 
      GOTO RTRN ; 
DBG:  
      P<DBGLG> = P<DATLINE>;
      DLDISO(DB$CAL,6,CHARWD);
      TX$CALL[0] = CHARWD;              # PUT CALL ADDR IN OUTPUT LINE #
      IF DB$SMF              # CONVERT OPTIONS TO DISPLAY CODE         #
      THEN
        TX$OPV1[0] = O"33"; 
      ELSE
        TX$OPV1[0] = O"34"; 
      IF DB$DMF 
      THEN
        TX$OPV2[0] = O"33"; 
      ELSE
        TX$OPV2[0] = O"34"; 
      TX$YMD[0] = L2DATE[0]; # PUT DATE IN OUTPUT LINE                 #
  
      OUPART = TRUE;
      DLWRITC(DBGLOG,7);                # OUTPUT MESSAGE               #
      OUPART = FALSE; 
      DLWRITC(MSGNO,2);                 # OUTPUT MESSAGE NUMBER        #
      GOTO RTRN;
  
LOG:  
      L1$NAME[0] = " NETLOG  (";   # SET PROCEDURE NAME                #
      DLDISO(DL$CALL[0],6,CHARWD);
      L1$CALL = CHARWD;            # SET PROCEDURE CALL ADDRESS        #
      L1$FMT1 = ")";
      L1$WRD2[0] = " ";            # CLEAR LINES                       #
      L1$WRD3[0] = " "; 
      L1$WRD4[0] = " "; 
      L1$WRD5[0] = " "; 
      L1$WRD6[0] = " "; 
      LINLEN = 7; 
      DLCC = DL$SIZE[0];           # SET TEXT LENGTH                   #
      TRUNC = DLCC; 
  
      OUPART = TRUE;               #  OUTPUT PART OF LINE              #
      DLWRITC(LINE1,LINLEN);       # OUTPUT LINE 1 FOR LOG ENTRY       #
      OUPART = FALSE;              # OUTPUT REST OF THE LINE           #
      DLWRITC(MSGNO,2);            # OUTPUT MESSAGE NUMBER             #
  
      DLDISO(DL$SIZE[0],3,CHARWD); # OUTPUT TLW PART                   #
      HB$TLW = CHARWD;
      DLWRITC(HDRLINB,8); 
      GOTO RTRN;
  
  
OFF:  
      DLDISO(DL$CALL[0],6,CHARWD);      # CONVERT CALL ADDR TO DISPLAY #
      OFF$CAD[0] = C<0,6> CHARWD;  # PUT CALL ADDRESS IN OUTPUT LINE   #
  
      OFF$DAT[0] = L2DATE[0];   # PUT DISPLAY CODE DATE IN OUTPUT LINE #
  
      OUPART = TRUE;
      DLWRITC(OFFLINE,7);               # OUTPUT NETOFF                #
      OUPART = FALSE; 
      DLWRITC(MSGNO,2);                 # OUTPUT MESSAGE NUMBER        #
      GOTO RTRN;
RST:  
      DLDISO(DL$CALL[0],6,CHARWD);      # CONVERT CALL ADDR TO DISPLAY #
      RST$CAD[0] = C<0,6> CHARWD;  # PUT CALL ADDRESS IN OUTPUT LINE   #
  
      RST$DAT[0] = L2DATE[0];   # PUT DISPLAY CODE DATE IN OUTPUT LINE #
  
      OUPART = TRUE;
      DLWRITC(RSTLINE,7);               # OUTPUT NETRSET               #
      OUPART = FALSE; 
      DLWRITC(MSGNO,2);                 # OUTPUT MESSAGE NUMBER        #
  
      GOTO RTRN;
  
  
RTRN: 
      RETURN; 
      END                               # DLAREP                       #
TERM
