*DECK DLNREP
USETEXT DLFPDEF
USETEXT DLTLC
USETEXT DRHDR
USETEXT MISRES
USETEXT NHEADER
USETEXT OUTCDA
USETEXT WRDPAIR
USETEXT ZHRCD
PROC DLNREP; # NIP DEBUG LOG HEADER FORMAT #
*IF DEF,IMS
#
*1DC DLNREP
*
* 1. PROC NAME AUTHOR DATE.
* DLNREP P.C.TAM 78/12/13
*
* 2. FUNCTIONAL DESCRIPTION.
* FORMATS HEADERS FOR NIP DEBUG LOG FILE
*
* 3. METHOD USED.
* BREAKS UP NETWORK HEADER FOR PIPIN OR PIPOUT MESSAGES
*
* 4. ENTRY PARAMETERS.
* ZHRCD COMMON BLOCK CONTAINING RECORD HEADER
*
* 5. EXIT PARAMETERS.
* DLCC - CHARACTER LENGTH OF MESSAGE TEXT.
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED.
* DLFPDEF DLTLC DRHDR MISRES
* NHEADER OUTCDA WRDPAIR ZHRCD
*
* 7. ROUTINES CALLED.
* DLDISBI CONVERT FIELD TO BINARY DISPLAY CODE
* DLDISDE CONVERT FIELD FROM BINARY TO DECIMAL
* DISPLAY CODE
* DLWRITC WRITE LINE TO CIO BUFFER
*
* 8. DAYFILE MESSAGES.
* NONE.
*
#
*ENDIF
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC DLDISBI; # CONVERT FIELD TO BINARY DISPLAY CODE #
PROC DLDISDE; # CONVERT FIELD TO DECIMAL DISPLAY #
PROC DLWRITC; # WRITE LINE TO CIO BUFFER #
END
#
LOCAL VARIABLES
#
ITEM
I I, # INDEX VARIABLE FOR CONNECTIONS #
TEMP1 C(WC); # TEMPORARY VARIABLE #
ARRAY L4 S(6);
BEGIN
ITEM L4FIL1 C(0, 0,1) =[" "];
ITEM L4FIL2 C(0, 6,3) =["PIP"];
ITEM L4IO C(0,24,3);
ITEM L4FIL3 C(0,42,4) =[" DN="];
ITEM L4DN C(1, 6,3);
ITEM L4FIL4 C(1,24,4) =[" SN="];
ITEM L4SN C(1,48,3);
ITEM L4FIL5 C(2, 6,4) =[" CN="];
ITEM L4CN C(2,30,3);
ITEM L4FIL6 C(2,48,4) =[" BT="];
ITEM L4BT C(3,12,2);
ITEM L4FIL7 C(3,24,10) =[" MSG NO. "];
ITEM L4MSGN C(4,24,6);
ITEM L4FIL8 C(5, 0,8) =[" "];
ITEM L4ZERO U(5,48,12) =[0];
END
ARRAY L5 S(6);
BEGIN
ITEM L5FIL1 C(0,0,21) =[" "];
ITEM L5FIL2 C(2,6,4) =["BSN="];
ITEM L5BSN C(2,30,1);
ITEM L5FIL3 C(2,36,5) =[" CT="];
ITEM L5CT C(3, 6,1);
ITEM L5FIL4 C(3,12,7) =[" DBC="];
ITEM L5DBC C(3,54,8);
ITEM L5FIL5 C(4,42,6) =[" TLC="];
ITEM L5TLC C(5,18,4);
ITEM L5ZERO U(5,42,18) =[0];
END
ARRAY L6 S(6) ;
BEGIN
ITEM L6FIL1 C(0,0,47) = [" "] ;
ITEM L6FIL2 C(4,42,6) = [" BS= "] ;
ITEM L6BS C(5,18,4) ;
ITEM L6ZERO U(5,42,18) = [0] ;
END
# ******************************************************************** #
BEGIN
P<DRHDRWD> = LOC(ZHWD1[0]);
P<NHEADER> = P<DRHDRWD> + BLKHSIZE;
P<PWLHDR> = P<DRHDRWD> ;
IF BLKID[0] EQ PIBIDVALUE
OR BLKID[0] EQ PWLIDVALUE
THEN
BEGIN # INBOUND MESSAGE #
L4IO[0] = "IN";
NHACT[0] = CT8ASCII;
IF BT[0] EQ NETMSG
THEN
BEGIN # CODE TO CALCULATE RESPONSE TIME #
I = CN[0];
CNINPF[I] = TRUE;
CNINPTM[I] = ZNSEC[0];
END
END
ELSE
BEGIN # OUTBOUND MESSAGES #
L4IO[0] = "OUT";
IF BT[0] LQ NETMSG
THEN
BEGIN # CODE TO CALCULATE RESPONSE TIME #
I = CN[0];
IF CNINPF[I]
THEN
BEGIN # RESPONSE TO INBOUND MESSAGE #
CNCTR[I] = CNCTR[I] + 1;
CNSUM[I] = CNSUM[I] + (ZNSEC[0] - CNINPTM[I]);
CNEXTF[I] = TRUE;
CNINPF[I] = FALSE;
END
END
END
# SET HEADER INFORMATION #
DLDISDE(CN[0], 3, TEMP1);
L4CN[0] = TEMP1;
DLDISDE(DN[0], 3, TEMP1);
L4DN[0] = TEMP1;
DLDISDE(SN[0], 3, TEMP1);
L4SN[0] = TEMP1;
DLDISDE(OUMSGNO, 6,TEMP1);
L4MSGN[0] = TEMP1;
IF BLKID[0] EQ PWLIDVALUE
AND PWLOP[0] NQ PWLOPNSM # NOT A SUPERVISORY MESSAGE #
THEN
BEGIN # FOR PWL #
L4FIL6[0] = " OP=" ; # PUT OPCODE TO TRACE FILE #
DLDISDE(PWLOP[0],2,TEMP1) ;
L4BT[0] = TEMP1;
DLDISDE(PWLBS[0],4,TEMP1) ;
L6BS[0] = TEMP1 ;
DLWRITC(L4, 6);
DLWRITC(L6, 6);
DLCC = PWLBS[0] - ZNSIZE ; # LOG THE WHOLE PWL #
CT = 1 ; # FORCE IT TO BE 60 WORD CHAR #
END
ELSE
BEGIN # NOT A PWL #
L4FIL6[0] = " BT=" ;
DLDISDE(BT[0],2,TEMP1) ;
L4BT[0] = TEMP1 ;
DLDISDE(NHBSN[0], 1, TEMP1);
L5BSN[0] = TEMP1;
DLDISDE(NHACT[0], 1, TEMP1);
L5CT[0] = TEMP1;
DLDISBI(NHDBC[0], TEMP1);
L5DBC[0] = TEMP1;
DLDISDE(CC[0], 4, TEMP1);
L5TLC[0] = TEMP1;
DLWRITC(L4, 6);
DLWRITC(L5, 6);
# RETURN CHARACTER COUNT IN DLCC FOR EASY ACCESS AND #
# COMMON TREATMENT FOR AIP AND NIP LOG FILES #
IF BT[0] EQ 0
THEN
DLCC = 0 ;
ELSE
DLCC = CC[0] ;
CT = NHACT[0]; # SAVE ACT FOR PROCEDURE DLDIS #
END
RETURN;
END # DLNREP #
TERM