*DECK CENTER
USETEXT TENVIRN 
USETEXT TOPTION 
USETEXT TREPORT 
USETEXT TRPTLST 
USETEXT TXSTD 
      PROC CENTER;
  
#----------------------------------------------------------------------#
#                                                                      #
#  THE FOLLOWING PROCS ARE XDEF"D WITHIN THIS DECK:                    #
#                                                                      #
#     CENTRON                      TURN ON *CENTER* BIT                #
#     COLMNO                       SET TO *COLUMN* POSITION            #
#     INCRCTR                      BUMP COUNTER FOR NEXT TAB           #
#     NEXTAB                       SET TO *NEXT TAB* POSITION          #
#     TABNO                        SET TO *TAB* POSITION               #
#                                                                      #
#----------------------------------------------------------------------#
  
      BEGIN 
  
          BASED ARRAY A;
            ITEM AMRPT I(0,42,18),
                 ACLASS I(0,12,6),
              ADISPSIZ U(0,4,11), 
          ALLFG B(0,4,1), 
          UPBND I(0,30,12), 
          ADECPT  I(0,21,6),
                 AWPOS I(0,18,18),
         ABPOS  U(0,36,6),
                 ALG I(0,42,18),
                 AMURAL U(0,0,60),
         APICSZ I(0,27,15), 
                 AMLG I(0,0,3); 
      XREF ITEM CTR          I; 
           DEF COLUMN #XCOLUMN#;
          DEF CURTAB #XTAB#;
      ITEM J            I;         # SCRATCH TEMPORARY                 #
      XREF ITEM JUSTCENT     B; 
       DEF DFTRPWD #O"40000000000001000000"#;  #DEFAULT VALUE FOR 
                                                REPORTLIST WORD 1,
                                                BEYOND IS ON, 
                                                LINE NB IS 1# 
         DEF DFTRPWD2 #O"04010000000000000000"#;
  
      XREF ITEM TLG          I; 
  
      XREF PROC DIAG;              # DIAGNOSTIC PROCESSOR              #
      XREF PROC SETPOS; 
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
       XDEF PROC CENTRON;              #PROC TO SET CENTERED BIT# 
       PROC CENTRON;
       BEGIN
          IF FULLSYNTX THEN 
           XCENTER = TRUE;
          JUSTCENT = TRUE;
           STDYES;
       END
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
       XDEF PROC COLMNO;               #PROC TO SET POSITION OF TO FLD# 
       PROC COLMNO;                    #WHEN COLUMN NB IS SPECIFIED#
       BEGIN
          IF NOT FULLSYNTX         # IF JUST SAVING DIRECTIVES         #
          THEN
            BEGIN 
            IF ICWI[5] GR MAXCOL   # IF COLUMN NUMBER TOO LARGE        #
                                   # (FOR ANY PAGE SIZE)               #
              OR ICWI[5] LS 1      # OR COLUMN NUMBER TOO SMALL        #
            THEN
              BEGIN 
              DIAG(107,ICW[0],MAXCOL);  # COLUMN NO. OUTSIDE LIMITS    #
              STDNO;               # BAD RETURN                        #
              END 
  
            STDYES;                # GOOD RETURN                       #
            END 
  
          IF ICWI[5] GR PSCOLUMN   # IF COLUMN NUMBER TOO LARGE        #
                                   # (FOR THIS PAGE SIZE)              #
          THEN
            BEGIN 
            DIAG(107,ICW[0],PSCOLUMN);  # COLUMN NO. OUTSIDE LIMITS    #
            STDNO;                 # BAD RETURN                        #
            END 
  
           COLUMN = ICWI[5];               #GET BEG COL OF TO FLD#
          JUSTCENT = FALSE; 
          SETPOS; 
           STDYES;
       END
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
          XDEF PROC INCRCTR;
          PROC INCRCTR; 
          BEGIN 
          IF NOT FULLSYNTX THEN STDYES; 
          IF XCENTER THEN BEGIN COLUMN = 1; SETPOS; STDYES; END 
              CTR = CTR + 1;
          J = 1;
          IF TYPENTRY[REPORTINDEX] EQ 4 
          THEN
          BEGIN P<A> = STACKADD[REPORTINDEX]; 
                 IF ALLFG[0] THEN J = UPBND[0]; 
          END 
          TLG = TLG + CHARLENGTH[REPORTINDEX] * J;
          IF REPORTINDEX GQ MAXREPORT  # IF REPORT BUFFER FULL         #
          THEN
            BEGIN 
            DIAG (122); 
            STDNO;
            END 
              REPORTINDEX = REPORTINDEX + 1;
              REPORTWORD1[REPORTINDEX] = DFTRPWD; 
          REPORTWORD2[REPORTINDEX] = DFTRPWD2;
          REPORTWORD3[REPORTINDEX] = 0; 
              CONTINUATN[REPORTINDEX] = TRUE; 
              ALLPAGE[REPORTINDEX] = ALLPAGE[REPORTINDEX-1];
          STDYES; 
          END 
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
       XDEF PROC NEXTAB;               #PROC TO SET POSITION OF TO FLD# 
       PROC NEXTAB;                    #WHEN NEXT TAB IS SPECIFIED# 
       BEGIN
          IF NOT FULLSYNTX THEN STDYES; 
            CURTAB = CURTAB + 1;
           COLUMN = TABCOL(CURTAB); 
          JUSTCENT = FALSE; 
          SETPOS; 
           STDYES;
       END
  
  
  
  
#----------------------------------------------------------------------#
  
  
  
  
       XDEF PROC TABNO;                #PROC TO SET POSITION OF TO FLD# 
       PROC TABNO;                     #WHEN TAB NB IS SPECIFIED# 
       BEGIN
          IF NOT FULLSYNTX         # IF JUST SAVING DIRECTIVES         #
          THEN
            BEGIN 
            IF ICWI[5] GR MAXCOL   # IF TAB NUMBER IMPOSSIBLY LARGE    #
              OR ICWI[5] LS 1      # OR TAB NUMBER TOO SMALL           #
            THEN
              BEGIN 
              DIAG(116);           # DIAG TAB NO. OUTSIDE LIMITS       #
              STDNO;               # BAD RETURN                        #
              END 
  
            STDYES;                # GOOD RETURN                       #
            END 
  
           CURTAB = ICWI[5];               #GET THE TAB NB# 
           COLUMN = TABCOL(CURTAB);        #BEGINNING COL OF TO FLD#
          IF COLUMN LS 0           # IF THIS TAB NUMBER DOES NOT EXIST #
          THEN
            BEGIN 
            DIAG(116);             # DIAGNOSE BAD TAB NUMBER           #
            STDNO;                 # BAD RETURN                        #
            END 
  
         JUSTCENT = FALSE;
          SETPOS; 
           STDYES;
       END
  
  
  
  
#----------------------------------------------------------------------#
  
  
      END 
      TERM
