*DECK FNATDMP 
USETEXT CCTTEXT 
PROC FNATDMP; 
          $BEGIN
     BEGIN
*CALL FNAT1 
*CALL GETSET
*CALL TABLNAMES 
          XREF PROC TMRECL; 
          XREF PROC TMREOP; 
     XREF PROC CBLIST;
     XREF FUNC DEC C(10); 
     ITEM FI   I; 
     ITEM EI   I; 
     ITEM I    I; 
DEF LASTFIELD #92#; 
     ARRAY [0:LASTFIELD] S(2);
          BEGIN 
          ITEM NAME    C(0,0,10)=[
          "SMSECLEN  ", #0, 0,30# 
          "SMSECOFF  ", #0,30,30# 
  
          "DVCEPTR   ", #1, 0,15# 
          "RESAREA   ", #1,15,15# 
          "STATPTR   ", #1,30,15# 
          "RELKPTR   ", #1,45,15# 
          "RECPTR    ", #2, 0,15# 
          "ALTKPTR   ", #2,15,15# 
          "RRUNREC   ", #2,30,15# 
          "SMSECNO   ", #2,45,15# 
          "SAREAPTR  ", #3, 0,15# 
          "SSORTPTR  ", #3,15,15# 
          "SRECPTR   ", #3,30,15# 
          "BCTMIN    ", #3,45,15# 
          "BCTMAX    ", #4, 0,15# 
          "RCTMIN    ", #4,15,15# 
          "RCTMAX    ", #4,30,15# 
          "PRECCNT   ", #4,45,15# 
          "ACCUMMAX  ", #5, 0,15# 
          "DRECPTR   ", #5,15,15# 
          "RPTPTR    ", #5,30,15# 
          "MFILPOS   ", #5,45,15# 
          "ERRPTR    ", #6, 0,15# 
          "LABLPTR0  ", #6,15,15# 
          "LABLPTR1  ", #6,30,15# 
          "LABLPTR2  ", #6,45,15# 
          "LABLPTR3  ", #7, 0,15# 
          "SSMIPFIL", #07,09,01#
          "LABLPTR4  ", #7,15,15# 
          "LABLPTR5  ", #7,30,15# 
          "LABLPTR6  ", #7,45,15# 
          "LABLPTR7  ", #8, 0,15# 
          "LABLPTR8  ", #8,15,15# 
          "LABLPTR9  ", #8,30,15# 
          "ACCUMMIN  ", 
          "DNATPTR   ", #9, 0,15# 
          "LINAGPTR  ", #9,15,15# 
          "FOOTPTR   ", #9,30,15# 
          "TOPPTR    ", #9,45,15# 
          "BOTTPTR   ", #10,15,15#
          "CODEPTR   ", #10,15,15#
          "VARTYPE   ", 
          "ACCESS    ", 
          "ORG       ", 
          "PROCMODE  ", 
          "GENDEV    ", 
          "LABELREC  ", 
          "RECMODE   ", 
          "RECTYPE   ", #11,24, 4#
          "SELECT    ", #11,30, 1#
          "OPTIONAL  ", #11,31, 1#
          "APPLY     ", #11,32, 1#
          "RRUNEOR   ", #11,33, 1#
          "BLKCTREC  ", #11,34, 1#
          "WRTEADY   ", #11,35, 1#
          "LABLLIT0  ", #11,36, 1#
          "LABLLIT1  ", #11,37, 1#
          "LABLLIT2  ", #11,38, 1#
          "LABLLIT3  ", #11,39, 1#
          "LABLLIT4  ", #11,40, 1#
          "LABLLIT5  ", #11,41, 1#
          "LABLLIT6  ", #11,42, 1#
          "LABLLIT7  ", #11,43, 1#
          "LABLLIT8  ", #11,44, 1#
          "LABLLIT9  ", #11,45, 1#
          "LINAGLIT  ", #11,46, 1#
          "FOOTLIT   ", #11,47, 1#
          "TOPLIT    ", #11,48, 1#
          "BOTTLIT   ", #11,49, 1#
          "RKEYERR   ", #11,50, 1#
          "VRECLEN   ", 
          "DBLCT     ", 
          "PRINTF    ", 
          "2DASSIGN  ", 
          "EXTERNAL  ", 
          "DBLCTPTR  ", 
          "DBLCTVAL  ", 
          "RCDEPPTR  ", 
          "USLITPTR  ", 
          "WAKPTR    ", 
          "2DLITPTR  ", 
          "BLOCKNBR  ", 
          "XTRAWDS   ", 
          "RECCOUNT  ", 
          "FRECPTR   ", 
          "RECOFF    ", 
          "ABORT",
          "ASSIGN    ", #11,58, 1#
          "SSRELATN  ", 
          "SSFDLT    ", #11,59, 1#
          "SSRSTLST  ", 
          "SSRQTLST  ", 
                                     ]; 
          ITEM FIELD   U(1,0,60); 
          END 
ARRAY EH[0] S(2); 
BEGIN 
ITEM EHLIT C(0,0,10) = ["ENTRY NO. "];
ITEM EHNO  C(1,0,10); 
ITEM ENTRYHEAD C(0,0,20); 
END 
  
ARRAY LN[0] S(2); 
BEGIN 
ITEM LNAME C(0,0,10); 
ITEM LCONTENTS C(1,0,10); 
ITEM LINE    C(0,0,20); 
END 
     #START#
          TMREOP (TABLETYPE "FNAT$" );   #RE-OPEN THA TABLE IF CLOSED#
     CBLIST(3); 
     CBLIST(0," FNATDUMP",9); 
     CBLIST(2," ",1); 
     FOR EI = 1 STEP 1 UNTIL CCTFNATLEN 
     DO   BEGIN 
          FI = -1;
          #SET UP FIELDS# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SMSECLEN,FNAT$,EI); #0, 0,30# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SMSECOFF,FNAT$,EI); #0,30,30# 
  
FI = FI + 1; FIELD[FI] = GETQUICK( FN$DVCEPTR ,FNAT$,EI); #1, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RESAREA ,FNAT$,EI); #1,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$STATPTR ,FNAT$,EI); #1,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RELKPTR ,FNAT$,EI); #1,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RECPTR  ,FNAT$,EI); #2, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$ALTKPTR ,FNAT$,EI); #2,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RRUNREC ,FNAT$,EI); #2,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SMSECNO ,FNAT$,EI); #2,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SAREAPTR,FNAT$,EI); #3, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SSORTPTR,FNAT$,EI); #3,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SRECPTR ,FNAT$,EI); #3,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$BCTMIN  ,FNAT$,EI); #3,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$BCTMAX  ,FNAT$,EI); #4, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RCTMIN  ,FNAT$,EI); #4,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RCTMAX  ,FNAT$,EI); #4,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$PRECCNT ,FNAT$,EI); #4,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$ACCUMMAX,FNAT$,EI); #5, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$DRECPTR ,FNAT$,EI); #5,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RPTPTR ,FNAT$,EI); #5,30,15#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$MFILPOS ,FNAT$,EI); #5,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$ERRPTR  ,FNAT$,EI); #6, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR0,FNAT$,EI); #6,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR1,FNAT$,EI); #6,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR2,FNAT$,EI); #6,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR3,FNAT$,EI); #7, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$SSMIPFIL,FNAT$,EI); #(07,09,01)# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR4,FNAT$,EI); #7,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR5,FNAT$,EI); #7,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR6,FNAT$,EI); #7,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR7,FNAT$,EI); #8, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR8,FNAT$,EI); #8,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLPTR9,FNAT$,EI); #8,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$ACCUMMIN,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK( FN$DNATPTR ,FNAT$,EI); #9, 0,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LINAGPTR,FNAT$,EI); #9,15,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$FOOTPTR ,FNAT$,EI); #9,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$TOPPTR  ,FNAT$,EI); #9,45,15# 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$BOTTPTR ,FNAT$,EI); #10,15,15#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$CODEPTR ,FNAT$,EI); #10,15,15#
FI = FI + 1; FIELD[FI] = GETQUICK(FN$VARTYPE,FNAT$,EI); 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$ACCESS,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$ORG,FNAT$,EI); 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$PROCMODE,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$GENDEV,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$LABELREC,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$RECMODE,FNAT$,EI); 
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RECTYPE ,FNAT$,EI); #11,24, 4#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$SELECT  ,FNAT$,EI); #11,30, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$OPTIONAL,FNAT$,EI); #11,31, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$APPLY   ,FNAT$,EI); #11,32, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RRUNEOR ,FNAT$,EI); #11,33, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$BLKCTREC,FNAT$,EI); #11,34, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$WRTEADY ,FNAT$,EI); #11,35, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT0,FNAT$,EI); #11,36, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT1,FNAT$,EI); #11,37, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT2,FNAT$,EI); #11,38, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT3,FNAT$,EI); #11,39, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT4,FNAT$,EI); #11,40, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT5,FNAT$,EI); #11,41, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT6,FNAT$,EI); #11,42, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT7,FNAT$,EI); #11,43, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT8,FNAT$,EI); #11,44, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LABLLIT9,FNAT$,EI); #11,45, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$LINAGLIT,FNAT$,EI); #11,46, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$FOOTLIT ,FNAT$,EI); #11,47, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$TOPLIT  ,FNAT$,EI); #11,48, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$BOTTLIT ,FNAT$,EI); #11,49, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$RKEYERR ,FNAT$,EI); #11,50, 1#
FI = FI + 1; FIELD[FI] = GETQUICK( FN$VRECLEN ,FNAT$,EI); #11,51, 1#
FI = FI + 1; FIELD[FI] = GETQUICK(FN$DBLCT,FNAT$,EI); 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$PRINTF,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$2DASSIGN,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$EXTERNAL,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$DBLCTPTR,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$DBLCTVAL,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$RCDEPPTR,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$USLITPTR,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$WAKPTR,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$2DPLTPTR,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK (FN$BLOCKNBR,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK (FN$XTRAWDS ,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK (FN$RECCOUNT,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK (FN$FRECPTR ,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK (FN$RECOFF  ,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK(FN$ABORT,FNAT$,EI);
FI = FI + 1; FIELD [FI] = GETQUICK (FN$ASSIGN,FNAT$,EI);
FI = FI + 1; FIELD[FI] = GETQUICK(FN$SSRELATN,FNAT$,EI); #11,57, 1# 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$SSFDLT,FNAT$,EI); #11,59, 1# 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$SSRSTLST,FNAT$,EI); #15,30,15# 
FI = FI + 1; FIELD[FI] = GETQUICK(FN$SSRQTLST,FNAT$,EI); #15,45,15# 
  
  
         EHNO[0] = DEC(EI); 
         CBLIST(2,ENTRYHEAD[0],20); 
         CBLIST(1," ",1); 
          FOR I = 0 STEP 1 UNTIL LASTFIELD
          DO   BEGIN
               #LIST NAME AND CONTENTS OF FIELDS THAT ARE NOT 0#
               IF FIELD[I] EQ 0  THEN TEST I; 
              LNAME[0] = NAME[I]; LCONTENTS[0] = DEC(FIELD[I]); 
              CBLIST(1,LINE[0],20); 
               END #OF INNER DO#
          END #OF OUTER DO# 
          CBLIST(2,"FNAT END",8); 
          TMRECL (TABLETYPE "FNAT$" );   #RE-CLOSE THE TABLE IF NEEDED# 
          RETURN; 
     END #OF PROC#
          $END
TERM
