*DECK FMSTAT
      PROC  FM$STAT;         # WRAP-UP STATISTICS                      #
      BEGIN 
#CALL FMCOM                                                            #
CONTROL NOLIST; 
*CALL FMCOM 
CONTROL LIST; 
  
        XREF  PROC CLOSEM;
        XREF  FUNC  IFETCH; 
        XREF  PROC PUT; 
        XREF  FUNC FM$MOD  I; 
        XREF  ARRAY FM$FDB  S(1); 
          ITEM  FDB$PTR  U(0);
  
        ITEM  HEADER1  C(137) = "0";
        ITEM  HEADER2  C(137) = "0SUMMARY"; 
        ITEM  TRAILER  C(137) = "0END OF RUN."; 
  
        ARRAY DETAIL S(14); 
          ITEM
            CC    C(0, 0, 1) = ["0"], 
            TYPE  C(0, 6, 6) = [" INPUT"],
            FILE  C(0,42, 8) = [" FILE - "],
            NAME  C(1,30, 7), 
            SIZE  C(2,12, 8), 
            REC   C(3, 0, 9) = [" RECORDS "], 
            MODE  C(3,54, 7) = ["READ   "], 
            ZRO   B(13,36,24)= [ 0 ]; 
  
 #
* *   FMSTAT - WRAP UP RUN
* *   M.T. KAUFMAN
* 1DC FMSTAT
* 
* DC  FUNCTION
* 
*     PRINT A SUMMARY OF FILE ACTIVITY, THEN
*     CLOSE THE INPUT FILE. 
* 
* DC  ENTRY CONDITIONS
* 
*     NONE. 
* 
* DC  EXIT CONDITIONS 
* 
*     NONE. 
* 
* DC  ERROR CONDITIONS
* 
*     NONE. 
* 
 #
CONTROL EJECT;
      PROC  PRINT;           # PRINT A LINE ENTRY                      #
        BEGIN 
          NAME = LFN; 
          FOR J = 0 TO 6  DO
            IF  B<6*J,6>NAME EQ 0  THEN C<J>NAME = " "; 
  
          SIZE = "       0";
          K = RECNO;
          FOR  J = 7 STEP -1 WHILE  J GQ 0 AND K NQ 0  DO 
            BEGIN 
              C<J>SIZE = O"33" + MOD(K,10); 
              K = K/10; 
            END 
  
          PUT(FM$LFDB, DETAIL, 46); 
        END;
CONTROL EJECT;
      IF IFETCH( FM$LFDB, RM$RC )  NQ  0
      THEN
        BEGIN 
        PUT(FM$LFDB, HEADER1, 1);     # PRINT HEADER OF SUMMARY        #
        PUT(FM$LFDB, HEADER2, 8); 
  
        P<FDB> = FDB$PTR[0];
        IF  LOC(FDB) NQ 0  THEN  PRINT; 
  
        TYPE = "OUTPUT";
        MODE = "WRITTEN"; 
        FOR  I = 1 TO NN$FILES  DO
          BEGIN 
            P<FDB> = FDB$PTR[I];
            PRINT;
          END;
  
        PUT(FM$LFDB, TRAILER, 12);
  
        END 
        CLOSEM (FM$LFDB);    # CLOSE OUTPUT FILE                       #
  
      END  # FM$STAT #
      TERM
