*DECK NVFICNE
USETEXT TEXTNVF
USETEXT TEXTSS
USETEXT TXINNVF
USETEXT TXTANVF
PROC NVFICNE;
# TITLE NVFICNE - COMPLETE NVF EXECUTION. #
BEGIN # NVFICNE #
#
** NVFICNE - COMPLETE NVF EXECUTION.
*
* A. LIM. 82/07/15.
*
* THIS PROCEDURE_S MAIN FUNCTION IS TO COMPLETE NVF EXECUTION
* UPON *OTQ* FLUSHED AND COMPLETE BIT IN *NSUP* WORD SET.
*
* PROC NVFICNE
*
* ENTRY NONE.
*
* EXIT NVF NETTED OFF.
*
* METHOD NET OFF NVF WHEN LAST DATA IN *OTQ* HAS FLUSHED AND
* COMPLETE BIT IN *NSUP* WORD SET, ELSE RECALL AND
* MAKE A WORKLIST REQUEST.
#
#
**** PROC NVFICNE XREF LIST
#
XREF
BEGIN
PROC DFC; # DECREMENT FAMILY COUNT #
PROC NETOFF; # TERMINATE NVF #
PROC NETCHEK; # CHECK WORKLIST PROCESSING COMPLETION #
PROC RECALL; # PLACE NVF IN RECALL STATE #
PROC SSSAWR; # ACCEPT A WORKLIST REQUEST #
PROC SSSPSI; # PREPARE SS STATISTICS INFORMATION #
END
ITEM I I; # LOOP INDEX #
ITEM J I; # LOOP INDEX #
#
****
#
CONTROL EJECT;
#
* NET OFF NVF WHEN *OTQ* EMPTY AND COMPLETE BIT SET, ELSE RECALL
* AND ISSUE A WORKLIST REQUEST FOR SELF.
#
IF ((OTQLNGTH EQ 0) AND (NSUP$COMP[0]))
THEN
BEGIN
NETCHEK;
$BEGIN
SSSPSI;
$END
#
* BEFORE NET OFF, SEARCH IFMC TABLE, FOR EACH IFMC$COUNT GREATER
* THAN ZERO, ISSUE CPM73B REQUESTS TO DECREMENT FAMILY COUNTS(
* EACH REQUEST ONLY DECREMENT ONE FAMILY COUNT) UNTIL IFMC$COUNT
* EQUAL TO ZERO.
#
FOR I=0 STEP 1 UNTIL (IFCLNGTH-1)
DO
BEGIN
FOR J=0 STEP 1 UNTIL (IFMC$COUNT[I]-1)
DO
BEGIN
CPB$WORD[0]=0;
CPB$FNAM[0]=IFMC$FNAM[I];
DFC(CPMBUF); # CPM73B REQUEST #
END
END
NETOFF;
STOP;
END
ELSE
BEGIN
RECALL(0);
SSSAWR(WWDF"NICNE");
END
END # NVFICNE #
TERM