*DECK NNETREL USETEXT NIPDEF USETEXT BPIPBUF USETEXT PT USETEXT DBGBUF PROC NNETREL((LFN),(FRWD)); STARTIMS; # *1DC NNETREL * 1. PROC NAME AUTHOR DATE * NNETREL C. BITTNER 83/04/01 * * 2. FUNCTIONAL DESCRIPTION * RELEASE DEBUG LOG FILE. * * 3. METHOD USED * ROUTE ZZZZZDN LOG FILE TO INPUT. REOPEN ZZZZZDN. * CALL OPITRCE TO REINITIALIZE NIP DEBUG LOG FILE. * * 4. ENTRY PARAMETERS * LFN - NAME OF LOCAL JOB RECORD (NRF1/NRF2) * FRWD - REWIND FLAG * 0 - REWIND FILE BEFORE READ * 1 - NO REWIND * * 5. EXIT PARAMETERS * BPAT[0] - NONZERO IF DISK ERROR ON FILE AFTER INITIALIZATION. * * 6. COMDECKS CALLED AND SYMPL TEXTS USED * NIPDEF BPIPBUF PT DBGBUF * * 7. ROUTINES CALLED * OMSG - ISSUE DAYFILE MESSAGE * OPITRCE - INITIALIZE NIP DEBUG LOG FILE * OPRETN - RETURN FILE * ROUTE - ROUTE FILE * WRITER - WRITE END OF RECORD * XTRACE - TRACE PROCEDURE CALL * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * NONE * # STOPIMS; # FORMAL PARAMETERS # ITEM LFN C(10); # NAME OF LOCAL JOB RECORD (JCL) # ITEM FRWD B; # REWIND FLAG # # 0 - REWIND FILE BEFORE READ # # 1 - NO REWIND # # EXTERNAL REFERENCES # XREF BEGIN PROC OMSG; # ISSUE DAYFILE MESSAGE # PROC OPITRCE; # INITIALIZE NIP DEBUG LOG FILE # PROC OPRETN; # RETURN FILE # PROC ROUTE; # ROUTE FILE # PROC WRITER; # WRITE END OF RECORD # PROC XTRACE; # TRACE PROCEDURE CALL # END # INTERNAL VARIABLES # ITEM BPFETX I; # TEMPORARY - FET POINTERS # ITEM DTIME; # TIME WORD # BASED ARRAY LFNNAME; BEGIN ITEM LFNAME C(00,00,10); # NAME OF LOCAL FILE # ITEM LFILE I(00,00,60); # =0 IF NO LOCAL FILE # END ARRAY PARAM P(7); # PARAM BLK TO ROUTE LFN TO INPUT # BEGIN ITEM PAR$NAME C(00,00,07)=["ZZZZZDN"]; # NAME OF FILE RTD # ITEM PAR$EC U(00,42,06); # ERROR CODE RESPONSE # ITEM PAR$F B(00,48,01); # FORCED ORIGIN FLAG # ITEM PAR$OT U(00,53,06); # FORCED JOB ORIGIN TYPE # ITEM PAR$CB B(00,59,01)=[FALSE]; # COMPLETE BIT # ITEM PAR$DISP C(01,24,02); # DISPOSITION OF FILE # ITEM PAR$EP B(01,47,01); # ERROR PROCESSING FLAG # ITEM PAR$ID B(01,58,01); # ROUTE TO CENTRAL SITE # ITEM PAR$DCF B(01,55,01); # DISPOSITION CODE SET FLAG # ITEM PAR$WD1 I(01,00,WL)=[0]; ITEM PAR$WD2 I(02,00,WL)=[0]; END ARRAY DSKERRMSG S(4); BEGIN ITEM DSKERRTEXT C(0,0,30) = [" XXX ERROR NNB, LFN = ZZZZZDN."]; ITEM DSKPPNAME U(0,6,18); # PP NAME - DSP OR CIO # ITEM DSKERRNN U(1,6,12); # ERROR CODE FIELD IN DAY MSG # ITEM DSKERREND U(3,0,60) = [0]; END BEGIN CONTROL IFEQ ZZDN,1; CONTROL IFEQ DEBUG,1; XTRACE("NETREL"); CONTROL FI; P = LOC(LFN); IF LFILE[0] NQ 0 THEN # THERE IS A LOCAL FILE TO BE COPIED # BEGIN IF BPNAME[0] EQ "ZZZZZDN" AND NIPINIT THEN BEGIN # ROUTE ZZZZZDN LOG FILE TO INPUT # IF BPAT[0] EQ 0 THEN # NO I/O ERROR HAS OCCURRED ON ZZZZZDN FIL# BEGIN WRITER(BPFET,1); # WRITE END OF RECORD TO ZZZZZDN FILE # IF BPAT[0] NQ 0 THEN # I/O ERROR HAS OCCURRED ON ZZZZZDN FILE # BEGIN DSKPPNAME[0] = "CIO"; # NAME OF PP WHICH DETECTED ERROR # DSKERRNN[0] = BPAT[0] - (BPAT[0]/8)*8 + (BPAT[0]/8)*64 + O"3333"; OMSG(DSKERRMSG,0); # ISSUE DAYFILE MESSAGE # END ELSE # NO I/O ERROR HAS OCCURRED ON ZZZZZDN # BEGIN PAR$F[0] = TRUE; # SET ROUTE TO SYSTEM ORIGIN # PAR$OT[0] = SYOT;# SYSTEM ORIGIN JOB TYPE # PAR$CB[0] = FALSE; # CLEAR COMPLETION BIT # PAR$DISP[0] = "IN"; # DISPOSITION OF FILE IS INPUT QUEUE# PAR$DCF[0] = TRUE; # DISPOSITION CODE SET FLAG # PAR$EC[0] = 0; # INITIALIZE ERROR CODE FIELD # PAR$EP[0] = TRUE;# SET ERROR PROCESSING FLAG # PAR$ID[0] = TRUE;# ROUTE TO CENTRAL SITE # ROUTE(PARAM,1); # ROUTE ZZZZZDN FILE # IF PAR$EC[0] NQ 0 THEN # DSP DETECTED ERROR - FILE NOT ROUTED # BEGIN DSKPPNAME[0] = "DSP"; # NAME OF PP WHICH DETECTED ERRO# DSKERRNN[0] = PAR$EC[0] - (PAR$EC[0]/8)*8 + (PAR$EC[0]/8)*64 + O"3333"; OMSG(DSKERRMSG,0); # ISSUE DAYFILE MESSAGE # OPRETN(BPFET); # RETURN BAD FILE # END END END IF BPAT[0] NQ 0 THEN # ZZZZZDN FILE IS BAD # BEGIN OPRETN(BPFET); # RETURN BAD FILE # END END OPITRCE(LFN,FRWD); # INITIALIZE NEW NIP DEBUG LOG FILE # END CONTROL FI; END TERM