User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:m86form

Deck M86FORM

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.m86form +++|PROC RPCEJCT ((FETP),(LINES));
00002  M00S00002.m86form +++|# TITLE RPCEJCT - CONDITIONALLY ISSUES A PAGE EJECT.                  #
00003  M00S00003.m86form +++|      BEGIN  # RPCEJCT #
00004  M00S00004.m86form +++|
00005  M00S00005.m86form +++|#
00006  M00S00006.m86form +++|**    RPCEJCT - CONDITIONALLY ISSUES A PAGE EJECT.
00007  M00S00007.m86form +++|*
00008  M00S00008.m86form +++|*     *RPCEJCT* ISSUES A PAGE EJECT IF THE NUMBER OF
00009  M00S00009.m86form +++|*     LINES REMAINING ON THE PAGE IS LESS THAN THE NUMBER
00010  M00S00010.m86form +++|*     OF LINES TO BE CHECKED.
00011  M00S00011.m86form +++|*
00012  M00S00012.m86form +++|*     PROC RPCEJCT((FETP),(LINES))
00013  M00S00013.m86form +++|*
00014  M00S00014.m86form +++|*     ENTRY   (FETP) = FWA OF *FET*.
00015  M00S00015.m86form +++|*             (LINES) = NUMBER OF LINES TO BE CHECKED.
00016  M00S00016.m86form +++|#
00017  M00S00017.m86form +++|
00018  M00S00018.m86form +++|      ITEM FETP       I;             # *FET* LOCATION #
00019  M00S00019.m86form +++|      ITEM LINES      I;             # NUMBER OF LINES TO BE CHECKED #
00020  M00S00020.m86form +++|
00021  M00S00021.m86form +++|#
00022  M00S00022.m86form +++|****  PROC RPCEJCT - XREF LIST BEGIN.
00023  M00S00023.m86form +++|#
00024  M00S00024.m86form +++|
00025  M00S00025.m86form +++|      XREF
00026  M00S00026.m86form +++|        BEGIN
00027  M00S00027.m86form +++|        PROC RPEJECT;                # ISSUES PAGE EJECT #
00028  M00S00028.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00029  M00S00029.m86form +++|        END
00030  M00S00030.m86form +++|
00031  M00S00031.m86form +++|#
00032  M00S00032.m86form +++|****  PROC RPCEJCT - XREF LIST END.
00033  M00S00033.m86form +++|#
00034  M00S00034.m86form +++|
00035  M00S00035.m86form +++|      DEF LISTCON #0#;               # TURN COMDECK LISTING OFF #
00036  M00S00036.m86form +++|*CALL COMBFAS
00037  M00S00037.m86form +++|*CALL COMTFMT
00038  M00S00038.m86form +++|*CALL COMTOUT
00039  M00S00039.m86form +++|
00040  M00S00040.m86form +++|                                               CONTROL EJECT;
00041  M00S00041.m86form +++|
00042  M00S00042.m86form +++|#
00043  M00S00043.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00044  M00S00044.m86form +++|#
00045  M00S00045.m86form +++|
00046  M00S00046.m86form +++|      IF FETP EQ NULLFILE
00047  M00S00047.m86form +++|      THEN
00048  M00S00048.m86form +++|        BEGIN
00049  M00S00049.m86form +++|        RETURN;
00050  M00S00050.m86form +++|        END
00051  M00S00051.m86form +++|
00052  M00S00052.m86form +++|      RPSRCH(FETP);                  # SEARCH PRINT TABLE #
00053  M00S00053.m86form +++|
00054  M00S00054.m86form +++|#
00055  M00S00055.m86form +++|*     IF THE NUMBER OF LINES REMAINING ON THE PAGE IS
00056  M00S00056.m86form +++|*     LESS THAN THE NUMBER OF LINES TO BE CHECKED, ISSUE
00057  M00S00057.m86form +++|*     A PAGE EJECT.
00058  M00S00058.m86form +++|#
00059  M00S00059.m86form +++|
00060  M00S00060.m86form +++|      IF (PRTLINELIM[ORD] - PRTLINE[ORD] + 1) GQ LINES
00061  M00S00061.m86form +++|      THEN
00062  M00S00062.m86form +++|        BEGIN
00063  M00S00063.m86form +++|        RETURN;
00064  M00S00064.m86form +++|        END
00065  M00S00065.m86form +++|
00066  M00S00066.m86form +++|      RPEJECT(FETP);
00067  M00S00067.m86form +++|      RETURN;
00068  M00S00068.m86form +++|      END  # RPCEJCT #
00069  M00S00069.m86form +++|
00070  M00S00070.m86form +++|    TERM
00071  M00S00071.m86form +++|PROC RPCLOSE((FETP));
00072  M00S00072.m86form +++|# TITLE RPCLOSE - CLOSES A REPORT FILE.                               #
00073  M00S00073.m86form +++|
00074  M00S00074.m86form +++|      BEGIN  # RPCLOSE #
00075  M00S00075.m86form +++|
00076  M00S00076.m86form +++|#
00077  M00S00077.m86form +++|**    RPCLOSE - CLOSES A REPORT FILE.
00078  M00S00078.m86form +++|*
00079  M00S00079.m86form +++|*     THIS PROCEDURE WRITES THE MESSAGE *REPORT
00080  M00S00080.m86form +++|*     COMPLETE* ON THE REPORT FILE, CLEARS THE
00081  M00S00081.m86form +++|*     *FET* ADDRESS IN THE PRINT TABLE ENTRY, AND
00082  M00S00082.m86form +++|*     CALLS *WRITER* TO CLOSE THE REPORT FILE.
00083  M00S00083.m86form +++|*
00084  M00S00084.m86form +++|*     PROC RPCLOSE((FETP)).
00085  M00S00085.m86form +++|*
00086  M00S00086.m86form +++|*     ENTRY    (FETP) - ADDRESS OF REPORT FILE *FET*.
00087  M00S00087.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING DONE.
00088  M00S00088.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00089  M00S00089.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00090  M00S00090.m86form +++|*
00091  M00S00091.m86form +++|*     EXIT     REPORT FILE IS CLOSED.  A PAGE EJECT IS ISSUED AND
00092  M00S00092.m86form +++|*              *REPORT COMPLETE* IS PRINTED.
00093  M00S00093.m86form +++|*
00094  M00S00094.m86form +++|*     NOTES    *RPCLOSE* CALLS *WRITER* TO WRITE AN
00095  M00S00095.m86form +++|*              END-OF-RECORD ON THE REPORT FILE, AND
00096  M00S00096.m86form +++|*              CLEARS THE VALUE OF *FETP* FROM THE PRINT
00097  M00S00097.m86form +++|*              TABLE ENTRY TO INDICATE THAT THE ENTRY
00098  M00S00098.m86form +++|*              IS NOW EMPTY.
00099  M00S00099.m86form +++|#
00100  M00S00100.m86form +++|
00101  M00S00101.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00102  M00S00102.m86form +++|
00103  M00S00103.m86form +++|#
00104  M00S00104.m86form +++|****  PROC RPCLOSE - XREF LIST BEGIN.
00105  M00S00105.m86form +++|#
00106  M00S00106.m86form +++|
00107  M00S00107.m86form +++|      XREF
00108  M00S00108.m86form +++|        BEGIN
00109  M00S00109.m86form +++|        PROC RPLINEX;                # PRINTS A REPORT LINE #
00110  M00S00110.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00111  M00S00111.m86form +++|        PROC WRITER;                 # WRITES *EOR* ON REPORT FILE #
00112  M00S00112.m86form +++|        END
00113  M00S00113.m86form +++|
00114  M00S00114.m86form +++|#
00115  M00S00115.m86form +++|****  PROC RPCLOSE - XREF LIST END.
00116  M00S00116.m86form +++|#
00117  M00S00117.m86form +++|
00118  M00S00118.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00119  M00S00119.m86form +++|*CALL COMBFAS
00120  M00S00120.m86form +++|*CALL COMTFMT
00121  M00S00121.m86form +++|*CALL COMTOUT
00122  M00S00122.m86form +++|CONTROL EJECT;
00123  M00S00123.m86form +++|
00124  M00S00124.m86form +++|#
00125  M00S00125.m86form +++|*     NO PROCESSING IS DONE IF NO REPORT FILE IS INDICATED.
00126  M00S00126.m86form +++|#
00127  M00S00127.m86form +++|
00128  M00S00128.m86form +++|      IF FETP EQ NULLFILE
00129  M00S00129.m86form +++|      THEN
00130  M00S00130.m86form +++|        BEGIN
00131  M00S00131.m86form +++|        RETURN;
00132  M00S00132.m86form +++|        END
00133  M00S00133.m86form +++|
00134  M00S00134.m86form +++|#
00135  M00S00135.m86form +++|*     PRINT COMPLETION MESSAGE AND CLEAR THE PRINT TABLE.
00136  M00S00136.m86form +++|#
00137  M00S00137.m86form +++|
00138  M00S00138.m86form +++|      RPSRCH(FETP);                  # SEARCH PRINT TABLE #
00139  M00S00139.m86form +++|      RPLINEX(FETP,"1**REPORT COMPLETE**",0,20,0);
00140  M00S00140.m86form +++|      P<RPFET> = FETP;
00141  M00S00141.m86form +++|      WRITER(RPFET[0],RCL);          # WRITE END-OF-RECORD #
00142  M00S00142.m86form +++|
00143  M00S00143.m86form +++|      PRTFETP[ORD] = EMPTY;          # CLEAR *FET* ADDRESS FROM TABLE #
00144  M00S00144.m86form +++|      RETURN;
00145  M00S00145.m86form +++|      END  # RPCLOSE #
00146  M00S00146.m86form +++|
00147  M00S00147.m86form +++|    TERM
00148  M00S00148.m86form +++|PROC RPEJECT((FETP));
00149  M00S00149.m86form +++|# TITLE RPEJECT - STARTS A NEW REPORT PAGE.                           #
00150  M00S00150.m86form +++|
00151  M00S00151.m86form +++|      BEGIN  # RPEJECT #
00152  M00S00152.m86form +++|
00153  M00S00153.m86form +++|#
00154  M00S00154.m86form +++|**    RPEJECT - STARTS NEW REPORT PAGE.
00155  M00S00155.m86form +++|*
00156  M00S00156.m86form +++|*     THIS PROCEDURE ADVANCES THE REPORT FILE
00157  M00S00157.m86form +++|*     TO A NEW PAGE, SETS THE CURRENT LINE NUMBER
00158  M00S00158.m86form +++|*     EQUAL TO ONE, AND PRINTS THE PAGE HEADING.
00159  M00S00159.m86form +++|*
00160  M00S00160.m86form +++|*     PROC RPEJECT((FETP)).
00161  M00S00161.m86form +++|*
00162  M00S00162.m86form +++|*     ENTRY    (FETP) - ADDRESS OF THE REPORT FILE *FET*.
00163  M00S00163.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING DONE.
00164  M00S00164.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00165  M00S00165.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00166  M00S00166.m86form +++|*
00167  M00S00167.m86form +++|*     EXIT     NEW PAGE HEADING IS COMPLETED.
00168  M00S00168.m86form +++|*
00169  M00S00169.m86form +++|*     NOTES    *RPEJECT* SETS UP THE PAGE HEADER LINE
00170  M00S00170.m86form +++|*              WITH DATE, TIME, PAGE NUMBER, AND
00171  M00S00171.m86form +++|*              CARRIAGE CONTROL CHARACTER.  AFTER
00172  M00S00172.m86form +++|*              PRINTING THIS LINE, THE LINE BUFFER
00173  M00S00173.m86form +++|*              IS BLANK-FILLED AND *XPRC* IS CALLED
00174  M00S00174.m86form +++|*              TO EXECUTE THE HEADER PROCEDURE.  THE
00175  M00S00175.m86form +++|*              REPORT FILE MUST HAVE ALREADY BEEN OPENED
00176  M00S00176.m86form +++|*              BY CALLING *RPOPEN*.
00177  M00S00177.m86form +++|#
00178  M00S00178.m86form +++|
00179  M00S00179.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00180  M00S00180.m86form +++|
00181  M00S00181.m86form +++|#
00182  M00S00182.m86form +++|****  PROC RPEJECT - XREF LIST BEGIN.
00183  M00S00183.m86form +++|#
00184  M00S00184.m86form +++|
00185  M00S00185.m86form +++|      XREF
00186  M00S00186.m86form +++|        BEGIN
00187  M00S00187.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00188  M00S00188.m86form +++|        PROC WRITEH;                 # WRITES LINE ON REPORT FILE #
00189  M00S00189.m86form +++|        FUNC XCDD C(10);             # CONVERTS INTEGER TO DISPLAY #
00190  M00S00190.m86form +++|        PROC XPRC;                   # EXECUTES A PROCEDURE #
00191  M00S00191.m86form +++|        END
00192  M00S00192.m86form +++|
00193  M00S00193.m86form +++|#
00194  M00S00194.m86form +++|****  PROC RPEJECT - XREF LIST END.
00195  M00S00195.m86form +++|#
00196  M00S00196.m86form +++|
00197  M00S00197.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00198  M00S00198.m86form +++|*CALL COMBFAS
00199  M00S00199.m86form +++|*CALL COMTFMT
00200  M00S00200.m86form +++|*CALL COMTOUT
00201  M00S00201.m86form +++|      ITEM PAGENUM    C(10);         # PAGE NUMBER IN DISPLAY CODE #
00202  M00S00202.m86form +++|CONTROL EJECT;
00203  M00S00203.m86form +++|
00204  M00S00204.m86form +++|#
00205  M00S00205.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00206  M00S00206.m86form +++|#
00207  M00S00207.m86form +++|
00208  M00S00208.m86form +++|      IF FETP EQ NULLFILE
00209  M00S00209.m86form +++|      THEN
00210  M00S00210.m86form +++|        BEGIN
00211  M00S00211.m86form +++|        RETURN;
00212  M00S00212.m86form +++|        END
00213  M00S00213.m86form +++|
00214  M00S00214.m86form +++|
00215  M00S00215.m86form +++|#
00216  M00S00216.m86form +++|*     UPDATE PAGE AND LINE COUNTS.
00217  M00S00217.m86form +++|#
00218  M00S00218.m86form +++|
00219  M00S00219.m86form +++|      RPSRCH(FETP);                  # SEARCH PRINT TABLE FOR *FETP* #
00220  M00S00220.m86form +++|
00221  M00S00221.m86form +++|      PRTPAGE[ORD] = PRTPAGE[ORD] + 1;
00222  M00S00222.m86form +++|      PRTLINE[ORD] = 1;
00223  M00S00223.m86form +++|      PAGENUM = XCDD(PRTPAGE[ORD]);  # PAGE NUMBER IN DISPLAY CODE #
00224  M00S00224.m86form +++|
00225  M00S00225.m86form +++|#
00226  M00S00226.m86form +++|*     SET UP AND PRINT THE PAGE HEADER LINE.
00227  M00S00227.m86form +++|#
00228  M00S00228.m86form +++|
00229  M00S00229.m86form +++|      LIN$CNTRL[ORD] = PRCEJ;        # CAUSE PAGE EJECT #
00230  M00S00230.m86form +++|      LIN$HEAD[ORD] = PRTHEADT[ORD];  # CURRENT MESSAGE #
00231  M00S00231.m86form +++|      LIN$DATE[ORD] = PRTDATE[ORD];  # CURRENT DATE #
00232  M00S00232.m86form +++|      LIN$TIME[ORD] = PRTTIME[ORD];  # CURRENT TIME #
00233  M00S00233.m86form +++|      LIN$PAGE[ORD] = "PAGE";
00234  M00S00234.m86form +++|      LIN$PAGENM[ORD] = C<4,6>PAGENUM;  # PAGE NUMBER #
00235  M00S00235.m86form +++|      P<RPFET> = FETP;
00236  M00S00236.m86form +++|      WRITEH(RPFET[0],LINEBUFF[ORD],LINELEN);  # PRINT LINE #
00237  M00S00237.m86form +++|      PRTLINE[ORD] = PRTLINE[ORD] + 1;  # INCREMENT LINE COUNTER #
00238  M00S00238.m86form +++|
00239  M00S00239.m86form +++|      LIN$BUF[ORD] = SPACES;         # BLANK FILL *LINEBUFF* #
00240  M00S00240.m86form +++|
00241  M00S00241.m86form +++|#
00242  M00S00242.m86form +++|*     EXECUTE SPECIFIED HEADER PROCEDURE.
00243  M00S00243.m86form +++|#
00244  M00S00244.m86form +++|
00245  M00S00245.m86form +++|      XPRC(PRTHEADP[ORD],FETP,BLANK);
00246  M00S00246.m86form +++|      RETURN;
00247  M00S00247.m86form +++|      END  # RPEJECT #
00248  M00S00248.m86form +++|
00249  M00S00249.m86form +++|    TERM
00250  M00S00250.m86form +++|PROC RPHEAD((FETP),(MESG),(COL),(LEN));
00251  M00S00251.m86form +++|# TITLE RPHEAD - SETS UP HEADER PRINT FIELD.                          #
00252  M00S00252.m86form +++|
00253  M00S00253.m86form +++|      BEGIN  # RPHEAD #
00254  M00S00254.m86form +++|
00255  M00S00255.m86form +++|#
00256  M00S00256.m86form +++|**    RPHEAD - SETS UP HEADER PRINT FIELD.
00257  M00S00257.m86form +++|*
00258  M00S00258.m86form +++|*     *RPHEAD* SETS UP AN OPTIONAL HEADER PRINT FIELD IN THE
00259  M00S00259.m86form +++|*     FIRST THIRTY-SEVEN CHARACTERS OF THE HEADER PAGE LINE.
00260  M00S00260.m86form +++|*
00261  M00S00261.m86form +++|*     PROC RPHEAD((FETP),(MESG),(COL),(LEN))
00262  M00S00262.m86form +++|*
00263  M00S00263.m86form +++|*     ENTRY   (FETP) - ADDRESS OF *FET* FOR REPORT FILE.
00264  M00S00264.m86form +++|*             (MESG)  - HEADER MESSAGE.
00265  M00S00265.m86form +++|*             (COL)  - STARTING COLUMN.
00266  M00S00266.m86form +++|*             (LEN)  - CHARACTER LENGTH OF FIELD.
00267  M00S00267.m86form +++|*
00268  M00S00268.m86form +++|*     EXIT    HEADER PRINT FIELD IS SET UP.
00269  M00S00269.m86form +++|*
00270  M00S00270.m86form +++|*     NOTES   THE SPECIFIED MESSAGE WILL BE PRINTED ON EVERY
00271  M00S00271.m86form +++|*             SUBSEQUENT PAGE HEADING UNTIL CHANGED OR CLEARED
00272  M00S00272.m86form +++|*             BY ANOTHER CALL TO *RPHEAD*.  THE MAXIMUM NUMBER
00273  M00S00273.m86form +++|*             OF CHARACTERS ALLOWED FOR THE HEADER FIELD IS
00274  M00S00274.m86form +++|*             THIRTY-SEVEN.
00275  M00S00275.m86form +++|#
00276  M00S00276.m86form +++|
00277  M00S00277.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE FET #
00278  M00S00278.m86form +++|      ITEM MESG       C(37);         # HEADER MESSAGE #
00279  M00S00279.m86form +++|      ITEM COL        U;             # STARTING COLUMN FOR FIELD #
00280  M00S00280.m86form +++|      ITEM LEN        U;             # LENGTH OF PRINT FIELD #
00281  M00S00281.m86form +++|
00282  M00S00282.m86form +++|#
00283  M00S00283.m86form +++|****  PROC RPHEAD - XREF LIST BEGIN.
00284  M00S00284.m86form +++|#
00285  M00S00285.m86form +++|
00286  M00S00286.m86form +++|      XREF
00287  M00S00287.m86form +++|        BEGIN
00288  M00S00288.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00289  M00S00289.m86form +++|        END
00290  M00S00290.m86form +++|
00291  M00S00291.m86form +++|#
00292  M00S00292.m86form +++|****  PROC RPHEAD - XREF LIST END.
00293  M00S00293.m86form +++|#
00294  M00S00294.m86form +++|
00295  M00S00295.m86form +++|      DEF LISTCON  #0#;              # TURN LISTING OFF #
00296  M00S00296.m86form +++|*CALL COMBFAS
00297  M00S00297.m86form +++|*CALL COMTFMT
00298  M00S00298.m86form +++|*CALL COMTOUT
00299  M00S00299.m86form +++|
00300  M00S00300.m86form +++|                                               CONTROL EJECT;
00301  M00S00301.m86form +++|
00302  M00S00302.m86form +++|#
00303  M00S00303.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00304  M00S00304.m86form +++|#
00305  M00S00305.m86form +++|
00306  M00S00306.m86form +++|      IF FETP EQ NULLFILE
00307  M00S00307.m86form +++|      THEN
00308  M00S00308.m86form +++|        BEGIN
00309  M00S00309.m86form +++|        RETURN;
00310  M00S00310.m86form +++|        END
00311  M00S00311.m86form +++|
00312  M00S00312.m86form +++|#
00313  M00S00313.m86form +++|*     SET UP PRINT FIELD.
00314  M00S00314.m86form +++|#
00315  M00S00315.m86form +++|
00316  M00S00316.m86form +++|      RPSRCH(FETP);                  # FIND PRINT TABLE ENTRY #
00317  M00S00317.m86form +++|      C<COL-1,LEN>PRTHEADT[ORD] = C<0,LEN>MESG;
00318  M00S00318.m86form +++|      END  # RPHEAD #
00319  M00S00319.m86form +++|
00320  M00S00320.m86form +++|    TERM
00321  M00S00321.m86form +++|PROC RPLINE((FETP),FIELD,(COL),(LEN),(FLAG));
00322  M00S00322.m86form +++|
00323  M00S00323.m86form +++|# TITLE RPLINE - CALLS *RPLINEX* TO PRINT A LINE.                     #
00324  M00S00324.m86form +++|
00325  M00S00325.m86form +++|      BEGIN  # RPLINE #
00326  M00S00326.m86form +++|
00327  M00S00327.m86form +++|#
00328  M00S00328.m86form +++|**    RPLINE - CALLS *RPLINEX* TO PRINT A LINE.
00329  M00S00329.m86form +++|*
00330  M00S00330.m86form +++|*     THIS PROCEDURE CHECKS THE CURRENT LINE NUMBER AND CALLS
00331  M00S00331.m86form +++|*     *RPEJECT* IF THE LINE LIMIT IS EXCEEDED.  IT THEN CALLS
00332  M00S00332.m86form +++|*     *RPLINEX* TO SET UP PRINT FIELD *FIELD* IN THE LINE BUFFER.
00333  M00S00333.m86form +++|*     THE LINE IS EITHER PRINTED OR SAVED, DEPENDING ON THE VALUE
00334  M00S00334.m86form +++|*     OF *FLAG* SPECIFIED.
00335  M00S00335.m86form +++|*
00336  M00S00336.m86form +++|*     PROC RPLINE((FETP),FIELD,(COL),(LEN),(FLAG)).
00337  M00S00337.m86form +++|*
00338  M00S00338.m86form +++|*     ENTRY   (FETP)  - ADDRESS OF *FET* FOR REPORT FILE.
00339  M00S00339.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING IS DONE.
00340  M00S00340.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00341  M00S00341.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00342  M00S00342.m86form +++|*             (FIELD) - STRING TO BE PRINTED.
00343  M00S00343.m86form +++|*             (COL)   - STARTING COLUMN FOR *FIELD*.
00344  M00S00344.m86form +++|*             (LEN)   - CHARACTER LENGTH OF *FIELD*.
00345  M00S00345.m86form +++|*             (FLAG)  - INDICATES CONTINUATION OF LINE.
00346  M00S00346.m86form +++|*                       (VALUES DEFINED IN *COMTOUT*)
00347  M00S00347.m86form +++|*                       = *END$LN*, CONTENTS OF BUFFER ARE PRINTED.
00348  M00S00348.m86form +++|*                       = *CONT$LN*, CONTENTS OF BUFFER ARE SAVED.
00349  M00S00349.m86form +++|*
00350  M00S00350.m86form +++|*     EXIT    LINE IS PRINTED OR CONTENTS OF BUFFER ARE SAVED
00351  M00S00351.m86form +++|*             UNTIL NEXT CALL TO *RPLINE*.  THE MAXIMUM FIELD
00352  M00S00352.m86form +++|*             SIZE IS 138 CHARACTERS.
00353  M00S00353.m86form +++|#
00354  M00S00354.m86form +++|
00355  M00S00355.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00356  M00S00356.m86form +++|
00357  M00S00357.m86form +++|      ARRAY FIELD [0:0] S(14);       # ARRAY CONTAINING PRINT FIELD #
00358  M00S00358.m86form +++|        BEGIN
00359  M00S00359.m86form +++|        ITEM FIELDPR    C(00,00,138);  # PRINT STRING #
00360  M00S00360.m86form +++|        END
00361  M00S00361.m86form +++|
00362  M00S00362.m86form +++|      ITEM COL        U;             # STARTING COLUMN OF FIELD #
00363  M00S00363.m86form +++|      ITEM LEN        U;             # LENGTH OF PRINT FIELD #
00364  M00S00364.m86form +++|      ITEM FLAG       U;             # INDICATES LINE CONTINUATION #
00365  M00S00365.m86form +++|
00366  M00S00366.m86form +++|
00367  M00S00367.m86form +++|
00368  M00S00368.m86form +++|#
00369  M00S00369.m86form +++|****  PROC RPLINE - XREF LIST BEGIN.
00370  M00S00370.m86form +++|#
00371  M00S00371.m86form +++|
00372  M00S00372.m86form +++|      XREF
00373  M00S00373.m86form +++|        BEGIN
00374  M00S00374.m86form +++|        PROC RPEJECT;                # STARTS NEW REPORT PAGE #
00375  M00S00375.m86form +++|        PROC RPLINEX;                # PRINTS LINE ON REPORT FILE #
00376  M00S00376.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00377  M00S00377.m86form +++|        END
00378  M00S00378.m86form +++|
00379  M00S00379.m86form +++|#
00380  M00S00380.m86form +++|****  PROC RPLINE - XREF LIST END.
00381  M00S00381.m86form +++|#
00382  M00S00382.m86form +++|
00383  M00S00383.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00384  M00S00384.m86form +++|
00385  M00S00385.m86form +++|*CALL COMBFAS
00386  M00S00386.m86form +++|*CALL COMTFMT
00387  M00S00387.m86form +++|*CALL COMTOUT
00388  M00S00388.m86form +++|CONTROL EJECT;
00389  M00S00389.m86form +++|
00390  M00S00390.m86form +++|
00391  M00S00391.m86form +++|#
00392  M00S00392.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00393  M00S00393.m86form +++|#
00394  M00S00394.m86form +++|
00395  M00S00395.m86form +++|      IF FETP EQ NULLFILE
00396  M00S00396.m86form +++|      THEN
00397  M00S00397.m86form +++|        BEGIN
00398  M00S00398.m86form +++|        RETURN;
00399  M00S00399.m86form +++|        END
00400  M00S00400.m86form +++|
00401  M00S00401.m86form +++|#
00402  M00S00402.m86form +++|*     CHECK LINE COUNT AND PRINT REPORT LINE.
00403  M00S00403.m86form +++|#
00404  M00S00404.m86form +++|
00405  M00S00405.m86form +++|      RPSRCH(FETP);                  # SEARCH FOR MATCHING *FETP* #
00406  M00S00406.m86form +++|
00407  M00S00407.m86form +++|      IF PRTLINE[ORD] GR PRTLINELIM[ORD]
00408  M00S00408.m86form +++|      THEN                           # NEW PAGE NEEDED #
00409  M00S00409.m86form +++|        BEGIN
00410  M00S00410.m86form +++|        RPEJECT(FETP);
00411  M00S00411.m86form +++|        END
00412  M00S00412.m86form +++|
00413  M00S00413.m86form +++|      RPLINEX(FETP,FIELD,COL,LEN,FLAG);
00414  M00S00414.m86form +++|
00415  M00S00415.m86form +++|
00416  M00S00416.m86form +++|
00417  M00S00417.m86form +++|      RETURN;
00418  M00S00418.m86form +++|      END  # RPLINE #
00419  M00S00419.m86form +++|
00420  M00S00420.m86form +++|    TERM
00421  M00S00421.m86form +++|PROC RPLINEX((FETP),FIELD,(COL),(LEN),(FLAG));
00422  M00S00422.m86form +++|# TITLE RPLINEX - PRINTS A REPORT LINE.                               #
00423  M00S00423.m86form +++|
00424  M00S00424.m86form +++|      BEGIN  # RPLINEX #
00425  M00S00425.m86form +++|
00426  M00S00426.m86form +++|#
00427  M00S00427.m86form +++|**    RPLINEX - PRINTS A LINE ON THE REPORT FILE.
00428  M00S00428.m86form +++|*
00429  M00S00429.m86form +++|*     *RPLINEX* SETS UP PRINT FIELD *FIELD* IN A LINE BUFFER.
00430  M00S00430.m86form +++|*     THE CONTENTS OF THE BUFFER ARE EITHER PRINTED OR SAVED, DEPENDING
00431  M00S00431.m86form +++|*     ON THE VALUE OF *FLAG*.  MORE THAN ONE FIELD PER PRINT
00432  M00S00432.m86form +++|*     LINE CAN BE SPECIFIED BY MAKING MORE THAN ONE CALL TO
00433  M00S00433.m86form +++|*     *RPLINEX*.
00434  M00S00434.m86form +++|*
00435  M00S00435.m86form +++|*     PROC RPLINEX((FETP),FIELD,(COL),(LEN),(FLAG)).
00436  M00S00436.m86form +++|*
00437  M00S00437.m86form +++|*     ENTRY   (FETP)  - ADDRESS OF *FET* FOR REPORT FILE.
00438  M00S00438.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING IS DONE.
00439  M00S00439.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00440  M00S00440.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00441  M00S00441.m86form +++|*             (FIELD) - STRING TO BE PRINTED.
00442  M00S00442.m86form +++|*             (COL)   - STARTING COLUMN FOR *FIELD*.
00443  M00S00443.m86form +++|*             (LEN)   - CHARACTER LENGTH OF *FIELD*.
00444  M00S00444.m86form +++|*             (FLAG)  - INDICATES CONTINUATION OF LINE.
00445  M00S00445.m86form +++|*                       (VALUES DEFINED IN *COMTOUT*)
00446  M00S00446.m86form +++|*                       = *END$LN*, CONTENTS OF BUFFER ARE PRINTED.
00447  M00S00447.m86form +++|*                       = *CONT$LN*, CONTENTS OF BUFFER ARE SAVED.
00448  M00S00448.m86form +++|*
00449  M00S00449.m86form +++|*     EXIT    LINE IS PRINTED OR CONTENTS OF BUFFER ARE SAVED
00450  M00S00450.m86form +++|*             UNTIL NEXT CALL TO *RPLINEX*.  THE LINE COUNTER IS
00451  M00S00451.m86form +++|*             INCREMENTED AS NEEDED.
00452  M00S00452.m86form +++|#
00453  M00S00453.m86form +++|
00454  M00S00454.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00455  M00S00455.m86form +++|
00456  M00S00456.m86form +++|
00457  M00S00457.m86form +++|      ARRAY FIELD [0:0] S(14);       # ARRAY CONTAINING PRINT FIELD #
00458  M00S00458.m86form +++|        BEGIN
00459  M00S00459.m86form +++|        ITEM FIELDPR    C(00,00,138);  # PRINT STRING #
00460  M00S00460.m86form +++|        END
00461  M00S00461.m86form +++|
00462  M00S00462.m86form +++|      ITEM COL        U;             # STARTING COLUMN OF FIELD #
00463  M00S00463.m86form +++|      ITEM LEN        U;             # LENGTH OF PRINT FIELD #
00464  M00S00464.m86form +++|      ITEM FLAG       U;             # INDICATES LINE CONTINUATION #
00465  M00S00465.m86form +++|
00466  M00S00466.m86form +++|#
00467  M00S00467.m86form +++|****  PROC RPLINEX - XREF LIST BEGIN.
00468  M00S00468.m86form +++|#
00469  M00S00469.m86form +++|
00470  M00S00470.m86form +++|      XREF
00471  M00S00471.m86form +++|        BEGIN
00472  M00S00472.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00473  M00S00473.m86form +++|        PROC WRITEH;                 # WRITES LINE ON REPORT FILE #
00474  M00S00474.m86form +++|        END
00475  M00S00475.m86form +++|
00476  M00S00476.m86form +++|#
00477  M00S00477.m86form +++|****  PROC RPLINEX - XREF LIST END.
00478  M00S00478.m86form +++|#
00479  M00S00479.m86form +++|
00480  M00S00480.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00481  M00S00481.m86form +++|
00482  M00S00482.m86form +++|*CALL COMBFAS
00483  M00S00483.m86form +++|*CALL COMTFMT
00484  M00S00484.m86form +++|*CALL COMTOUT
00485  M00S00485.m86form +++|
00486  M00S00486.m86form +++|CONTROL EJECT;
00487  M00S00487.m86form +++|
00488  M00S00488.m86form +++|
00489  M00S00489.m86form +++|#
00490  M00S00490.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00491  M00S00491.m86form +++|#
00492  M00S00492.m86form +++|
00493  M00S00493.m86form +++|      IF FETP EQ NULLFILE
00494  M00S00494.m86form +++|      THEN
00495  M00S00495.m86form +++|        BEGIN
00496  M00S00496.m86form +++|        RETURN;
00497  M00S00497.m86form +++|        END
00498  M00S00498.m86form +++|
00499  M00S00499.m86form +++|
00500  M00S00500.m86form +++|#
00501  M00S00501.m86form +++|*     THE CHARACTER STRING *FIELD* IS PLACED IN THE
00502  M00S00502.m86form +++|*     APPROPRIATE LOCATION IN *LINEBUFF*.  IF THE VALUE
00503  M00S00503.m86form +++|*     OF *FLAG* IS *CONT$LN*, THE CONTENTS OF *LINEBUFF*
00504  M00S00504.m86form +++|*     ARE SAVED.  OTHERWISE A LINE IS PRINTED.
00505  M00S00505.m86form +++|#
00506  M00S00506.m86form +++|
00507  M00S00507.m86form +++|      RPSRCH(FETP);                  # FIND PRINT TABLE ENTRY #
00508  M00S00508.m86form +++|      P<RPFET> = FETP;
00509  M00S00509.m86form +++|
00510  M00S00510.m86form +++|      IF FIELDPR[0] NQ EMPTY         # IF *FIELD* CONTAINS STRING #
00511  M00S00511.m86form +++|      THEN
00512  M00S00512.m86form +++|        BEGIN
00513  M00S00513.m86form +++|        C<COL,LEN>LIN$BUF[ORD] = FIELDPR[0];  # SET UP PRINT FIELD #
00514  M00S00514.m86form +++|        END
00515  M00S00515.m86form +++|
00516  M00S00516.m86form +++|      IF FLAG EQ CONT$LN             # IF LINE CONTINUED #
00517  M00S00517.m86form +++|      THEN
00518  M00S00518.m86form +++|        BEGIN
00519  M00S00519.m86form +++|        RETURN;                      # SAVE CONTENTS OF *LINEBUFF* #
00520  M00S00520.m86form +++|        END
00521  M00S00521.m86form +++|
00522  M00S00522.m86form +++|#
00523  M00S00523.m86form +++|*     WRITE PRINT LINE.
00524  M00S00524.m86form +++|#
00525  M00S00525.m86form +++|
00526  M00S00526.m86form +++|      WRITEH(RPFET[0],LINEBUFF[ORD],LINELEN);
00527  M00S00527.m86form +++|      IF LIN$CNTRL[ORD] EQ PRDBL
00528  M00S00528.m86form +++|      THEN                           # DOUBLE SPACE DONE #
00529  M00S00529.m86form +++|        BEGIN
00530  M00S00530.m86form +++|        PRTLINE[ORD] = PRTLINE[ORD] + 2;  # INCREMENT LINE COUNT #
00531  M00S00531.m86form +++|        END
00532  M00S00532.m86form +++|
00533  M00S00533.m86form +++|      ELSE                           # SINGLE SPACE ASSUMED #
00534  M00S00534.m86form +++|        BEGIN
00535  M00S00535.m86form +++|        PRTLINE[ORD] = PRTLINE[ORD] + 1;  # INCREMENT BY ONE #
00536  M00S00536.m86form +++|        END
00537  M00S00537.m86form +++|
00538  M00S00538.m86form +++|      LIN$BUF[ORD] = SPACES;         # BLANK FILL *LINEBUFF* #
00539  M00S00539.m86form +++|      RETURN;
00540  M00S00540.m86form +++|
00541  M00S00541.m86form +++|      END  # RPLINEX #
00542  M00S00542.m86form +++|
00543  M00S00543.m86form +++|    TERM
00544  M00S00544.m86form +++|PROC RPOPEN((NAME),(FETP),HEADPROC);
00545  M00S00545.m86form +++|# TITLE RPOPEN - OPENS A REPORT FILE.                                 #
00546  M00S00546.m86form +++|
00547  M00S00547.m86form +++|      BEGIN  # RPOPEN #
00548  M00S00548.m86form +++|
00549  M00S00549.m86form +++|#
00550  M00S00550.m86form +++|**    RPOPEN - OPENS A REPORT FILE.
00551  M00S00551.m86form +++|*
00552  M00S00552.m86form +++|*     THIS PROCEDURE SETS UP THE PRINT TABLE
00553  M00S00553.m86form +++|*     FOR A REPORT FILE AND CALLS *RPEJECT*
00554  M00S00554.m86form +++|*     TO START THE FIRST PAGE.
00555  M00S00555.m86form +++|*
00556  M00S00556.m86form +++|*     PROC RPOPEN((NAME),(FETP),HEADPROC).
00557  M00S00557.m86form +++|*
00558  M00S00558.m86form +++|*     ENTRY   (NAME)     - NAME OF REPORT FILE.
00559  M00S00559.m86form +++|*             (FETP)     - REPORT FILE *FET* OPTION.
00560  M00S00560.m86form +++|*                          = *NULLFILE*, NO REPORT PROCESSING IS DONE.
00561  M00S00561.m86form +++|*                            (VALUE DEFINED IN *COMTOUT*)
00562  M00S00562.m86form +++|*                          = OTHER, ADDRESS OF REPORT FILE *FET*.
00563  M00S00563.m86form +++|*             (HEADPROC) - HEADER PROCEDURE OPTION.
00564  M00S00564.m86form +++|*                          = *DEFLT$HDR*, DEFAULT PAGE HEADER USED.
00565  M00S00565.m86form +++|*                            (VALUE DEFINED IN *COMTOUT*)
00566  M00S00566.m86form +++|*                          = NAME OF USER-SUPPLIED PROCEDURE TO
00567  M00S00567.m86form +++|*                          BE EXECUTED AFTER EACH PAGE EJECT.
00568  M00S00568.m86form +++|*
00569  M00S00569.m86form +++|*     EXIT    REPORT FILE OPENED OR PRINT TABLE FULL.
00570  M00S00570.m86form +++|*
00571  M00S00571.m86form +++|*     NOTES   *RPOPEN* INITIALIZES A PRINT TABLE ENTRY FOR
00572  M00S00572.m86form +++|*             THE REPORT FILE SPECIFIED.  UP TO *PRTABENT* REPORT
00573  M00S00573.m86form +++|*             FILES MAY BE OPEN SIMULTANEOUSLY.  AFTER EACH
00574  M00S00574.m86form +++|*             PAGE EJECT, A LINE IS PRINTED CONTAINING THE
00575  M00S00575.m86form +++|*             THE CURRENT DATE, TIME, AND PAGE NUMBER.
00576  M00S00576.m86form +++|*             FOLLOWING THIS THE USER SUPPLIED HEADER PROCEDURE
00577  M00S00577.m86form +++|*             IS EXECUTED.
00578  M00S00578.m86form +++|*             TO AVOID RECURSIVE CALLS, THE HEADER PROCEDURE MUST
00579  M00S00579.m86form +++|*             NOT CALL *RPLINE* OR *RPSPACE*.  INSTEAD *RPLINEX*
00580  M00S00580.m86form +++|*             SHOULD BE USED.  TO PRINT A BLANK LINE, CALL:
00581  M00S00581.m86form +++|*                 RPLINEX(FETP,0,0,0,0).
00582  M00S00582.m86form +++|#
00583  M00S00583.m86form +++|
00584  M00S00584.m86form +++|      ITEM NAME       C(7);          # NAME OF THE REPORT FILE #
00585  M00S00585.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00586  M00S00586.m86form +++|      FPRC HEADPROC;                 # USER-SUPPLIED HEADER PROCEDURE #
00587  M00S00587.m86form +++|
00588  M00S00588.m86form +++|#
00589  M00S00589.m86form +++|****  PROC RPOPEN - XREF LIST BEGIN.
00590  M00S00590.m86form +++|#
00591  M00S00591.m86form +++|
00592  M00S00592.m86form +++|      XREF
00593  M00S00593.m86form +++|        BEGIN
00594  M00S00594.m86form +++|        PROC CLOCK;                  # GETS CURRENT TIME #
00595  M00S00595.m86form +++|        PROC DATE;                   # GETS CURRENT DATE #
00596  M00S00596.m86form +++|        PROC RPEJECT;                # STARTS NEW REPORT PAGE #
00597  M00S00597.m86form +++|        PROC RPLINEX;                # PRINTS A LINE #
00598  M00S00598.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00599  M00S00599.m86form +++|        PROC ZSETFET;                # INITIALIZES A *FET* #
00600  M00S00600.m86form +++|        END
00601  M00S00601.m86form +++|
00602  M00S00602.m86form +++|#
00603  M00S00603.m86form +++|****  PROC RPOPEN - XREF LIST END.
00604  M00S00604.m86form +++|#
00605  M00S00605.m86form +++|
00606  M00S00606.m86form +++|      DEF LISTCON #0#;               # CONTROLS LISTING OF COMDECKS #
00607  M00S00607.m86form +++|*CALL COMBFAS
00608  M00S00608.m86form +++|*CALL COMTFMT
00609  M00S00609.m86form +++|*CALL COMTOUT
00610  M00S00610.m86form +++|
00611  M00S00611.m86form +++|
00612  M00S00612.m86form +++|
00613  M00S00613.m86form +++|      ITEM DTEMP      C(10);         # TEMPORARY LOCATION FOR DATE #
00614  M00S00614.m86form +++|      ITEM TTEMP      C(10);         # TEMPORARY LOCATION FOR TIME #
00615  M00S00615.m86form +++|      ITEM PRBUFP     U;             # ADDRESS OF *CIO* BUFFER #
00616  M00S00616.m86form +++|
00617  M00S00617.m86form +++|      BASED
00618  M00S00618.m86form +++|      ARRAY HEADWORD [0:0] S(1);     # USED TO TEST *HEADPROC* #
00619  M00S00619.m86form +++|        BEGIN
00620  M00S00620.m86form +++|        ITEM HEADNAME   U(00,00,60);  # NAME OF HEADER PROCEDURE #
00621  M00S00621.m86form +++|        END
00622  M00S00622.m86form +++|
00623  M00S00623.m86form +++|CONTROL EJECT;
00624  M00S00624.m86form +++|
00625  M00S00625.m86form +++|#
00626  M00S00626.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00627  M00S00627.m86form +++|#
00628  M00S00628.m86form +++|
00629  M00S00629.m86form +++|      IF FETP EQ NULLFILE
00630  M00S00630.m86form +++|      THEN
00631  M00S00631.m86form +++|        BEGIN
00632  M00S00632.m86form +++|        RETURN;
00633  M00S00633.m86form +++|        END
00634  M00S00634.m86form +++|
00635  M00S00635.m86form +++|
00636  M00S00636.m86form +++|#
00637  M00S00637.m86form +++|*     SEARCH FOR AN EMPTY ENTRY IN THE PRINT TABLE.
00638  M00S00638.m86form +++|#
00639  M00S00639.m86form +++|
00640  M00S00640.m86form +++|      RPSRCH(EMPTY);                 # SEARCH TABLE FOR EMPTY ENTRY #
00641  M00S00641.m86form +++|
00642  M00S00642.m86form +++|      DATE(DTEMP);                   # GET CURRENT DATE #
00643  M00S00643.m86form +++|      CLOCK(TTEMP);                  # GET CURRENT TIME #
00644  M00S00644.m86form +++|
00645  M00S00645.m86form +++|#
00646  M00S00646.m86form +++|*     INITIALIZE PRINT TABLE FIELDS.
00647  M00S00647.m86form +++|#
00648  M00S00648.m86form +++|
00649  M00S00649.m86form +++|      PRBUFP = LOC(PRBUF[ORD]);      # ADDRESS OF *CIO* BUFFER #
00650  M00S00650.m86form +++|      PRTLFN[ORD] = NAME;
00651  M00S00651.m86form +++|      PRTLINE[ORD] = MAXLINE;
00652  M00S00652.m86form +++|      PRTHEADT[ORD] = " ";
00653  M00S00653.m86form +++|      PRTFETP[ORD] = FETP;
00654  M00S00654.m86form +++|      PRTPAGE[ORD] = 0;
00655  M00S00655.m86form +++|      PRTLINELIM[ORD] = PRDEFLIM;
00656  M00S00656.m86form +++|      PRTDATE[ORD] = DTEMP;
00657  M00S00657.m86form +++|      PRTTIME[ORD] = TTEMP;
00658  M00S00658.m86form +++|
00659  M00S00659.m86form +++|#
00660  M00S00660.m86form +++|*     SAVE ADDRESS OF THE HEADER PROCEDURE.
00661  M00S00661.m86form +++|#
00662  M00S00662.m86form +++|
00663  M00S00663.m86form +++|      P<HEADWORD> = LOC(HEADPROC);
00664  M00S00664.m86form +++|      IF HEADNAME[0] EQ DEFLT$HDR
00665  M00S00665.m86form +++|      THEN                           # DEFAULT HEADER CHOSEN #
00666  M00S00666.m86form +++|        BEGIN
00667  M00S00667.m86form +++|        PRTHEADP[ORD] = LOC(RPLINEX);  # GET ADDRESS OF *RPLINEX* #
00668  M00S00668.m86form +++|        END
00669  M00S00669.m86form +++|
00670  M00S00670.m86form +++|      ELSE                           # HEADER PROVIDED #
00671  M00S00671.m86form +++|        BEGIN
00672  M00S00672.m86form +++|        PRTHEADP[ORD] = LOC(HEADPROC);  # GET HEADER ADDRESS #
00673  M00S00673.m86form +++|        END
00674  M00S00674.m86form +++|
00675  M00S00675.m86form +++|#
00676  M00S00676.m86form +++|*     INITIALIZE *FET* AND START FIRST PAGE.
00677  M00S00677.m86form +++|#
00678  M00S00678.m86form +++|
00679  M00S00679.m86form +++|      ZSETFET(FETP,NAME,PRBUFP,PRBUFL,SFETL);
00680  M00S00680.m86form +++|
00681  M00S00681.m86form +++|      LIN$BUF[ORD] = SPACES;         # BLANK FILL *LINEBUFF* #
00682  M00S00682.m86form +++|      RETURN;
00683  M00S00683.m86form +++|
00684  M00S00684.m86form +++|      END  # RPOPEN #
00685  M00S00685.m86form +++|
00686  M00S00686.m86form +++|    TERM
00687  M00S00687.m86form +++|PROC RPSPACE((FETP),(SPTYP),(NUM));
00688  M00S00688.m86form +++|# TITLE RPSPACE - DOES REPORT SPACING.                                #
00689  M00S00689.m86form +++|
00690  M00S00690.m86form +++|      BEGIN  # RPSPACE #
00691  M00S00691.m86form +++|
00692  M00S00692.m86form +++|#
00693  M00S00693.m86form +++|**    RPSPACE - DOES REPORT SPACING.
00694  M00S00694.m86form +++|*
00695  M00S00695.m86form +++|*     THIS PROCEDURE DOES VARIOUS TYPES OF REPORT
00696  M00S00696.m86form +++|*     PROCESSING, DEPENDING ON THE VALUE OF *SPTYP*
00697  M00S00697.m86form +++|*     SPECIFIED.
00698  M00S00698.m86form +++|*
00699  M00S00699.m86form +++|*     PROC RPSPACE((FETP),(SPTYP),(NUM)).
00700  M00S00700.m86form +++|*
00701  M00S00701.m86form +++|*     ENTRY     (FETP)  - ADDRESS OF REPORT FILE *FET*.
00702  M00S00702.m86form +++|*               (SPTYP) - STATUS ITEM INDICATING PROCESSING.
00703  M00S00703.m86form +++|*                         (VALUES DEFINED IN *COMTOUT*)
00704  M00S00704.m86form +++|*                         = *LIMIT*, CHANGE PAGE LINE LIMIT TO *NUM*.
00705  M00S00705.m86form +++|*                         = *LINE*, ADVANCE TO LINE *NUM*.
00706  M00S00706.m86form +++|*                         = *SPACE*, PRINT *NUM* BLANK LINES.
00707  M00S00707.m86form +++|*               (NUM)   - NUMBER USED IN ACCORDANCE WITH THE
00708  M00S00708.m86form +++|*                         VALUE OF *SPTYP*.
00709  M00S00709.m86form +++|*
00710  M00S00710.m86form +++|*     EXIT      REPORT SPACING IS COMPLETE.
00711  M00S00711.m86form +++|*
00712  M00S00712.m86form +++|*     ERRORS    LINE LIMIT EXCEEDS MAXIMUM.
00713  M00S00713.m86form +++|*
00714  M00S00714.m86form +++|*     MESSAGES  * MAXIMUM LINE COUNT TAKEN AS LIMIT.*.
00715  M00S00715.m86form +++|#
00716  M00S00716.m86form +++|
00717  M00S00717.m86form +++|      ITEM FETP       U;             # ADDRESS OF *FET* #
00718  M00S00718.m86form +++|      ITEM NUM        I;             # NUMBER OF SPACES, LINE NUMBER,
00719  M00S00719.m86form +++|                                       OR NEW LINE LIMIT #
00720  M00S00720.m86form +++|
00721  M00S00721.m86form +++|#
00722  M00S00722.m86form +++|****  PROC RPSPACE - XREF LIST BEGIN.
00723  M00S00723.m86form +++|#
00724  M00S00724.m86form +++|
00725  M00S00725.m86form +++|      XREF
00726  M00S00726.m86form +++|        BEGIN
00727  M00S00727.m86form +++|        PROC MESSAGE;                # DISPLAYS DAYFILE MESSAGE #
00728  M00S00728.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00729  M00S00729.m86form +++|        PROC RPLINEX;                # PRINTS A LINE ON REPORT FILE #
00730  M00S00730.m86form +++|        PROC RPEJECT;                # STARTS NEW REPORT PAGE #
00731  M00S00731.m86form +++|        END
00732  M00S00732.m86form +++|
00733  M00S00733.m86form +++|#
00734  M00S00734.m86form +++|****  PROC RPSPACE - XREF LIST END.
00735  M00S00735.m86form +++|#
00736  M00S00736.m86form +++|
00737  M00S00737.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00738  M00S00738.m86form +++|*CALL COMBFAS
00739  M00S00739.m86form +++|*CALL COMTFMT
00740  M00S00740.m86form +++|*CALL COMTOUT
00741  M00S00741.m86form +++|      ITEM I          I;             # INDUCTION VARIABLE #
00742  M00S00742.m86form +++|      ITEM LINESLEFT  U;             # LINES LEFT ON PAGE #
00743  M00S00743.m86form +++|      ITEM SPTYP      S:SP;          # TYPE OF SPACING SPECIFIED #
00744  M00S00744.m86form +++|
00745  M00S00745.m86form +++|      SWITCH LABTYP:SP               # SWITCH CONTROLLING PROCESSING #
00746  M00S00746.m86form +++|            LIMITYP:LIMIT,           # CHANGE PAGE LINE LIMIT #
00747  M00S00747.m86form +++|            LINETYP:LINE,            # ADVANCE TO ABSOLUTE LINE #
00748  M00S00748.m86form +++|           SPACETYP:SPACE;           # PRINT BLANK LINES #
00749  M00S00749.m86form +++|
00750  M00S00750.m86form +++|CONTROL EJECT;
00751  M00S00751.m86form +++|
00752  M00S00752.m86form +++|
00753  M00S00753.m86form +++|
00754  M00S00754.m86form +++|#
00755  M00S00755.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00756  M00S00756.m86form +++|#
00757  M00S00757.m86form +++|
00758  M00S00758.m86form +++|      IF FETP EQ NULLFILE
00759  M00S00759.m86form +++|      THEN
00760  M00S00760.m86form +++|        BEGIN
00761  M00S00761.m86form +++|        RETURN;
00762  M00S00762.m86form +++|        END
00763  M00S00763.m86form +++|
00764  M00S00764.m86form +++|
00765  M00S00765.m86form +++|#
00766  M00S00766.m86form +++|*     FIND PRINT TABLE ENTRY AND PROCESS REQUEST.
00767  M00S00767.m86form +++|#
00768  M00S00768.m86form +++|
00769  M00S00769.m86form +++|      RPSRCH(FETP);
00770  M00S00770.m86form +++|      GOTO LABTYP[SPTYP];            # DO APPROPRIATE PROCESSING #
00771  M00S00771.m86form +++|
00772  M00S00772.m86form +++|LIMITYP:                             # CHANGE LINE LIMIT TO *NUM* #
00773  M00S00773.m86form +++|      IF NUM LS MAXLC
00774  M00S00774.m86form +++|      THEN                           # LIMIT REQUESTED IS PERMISSABLE #
00775  M00S00775.m86form +++|        BEGIN
00776  M00S00776.m86form +++|        PRTLINELIM[ORD] = NUM;
00777  M00S00777.m86form +++|        END
00778  M00S00778.m86form +++|
00779  M00S00779.m86form +++|      ELSE                           # EXCESSIVE LIMIT REQUESTED #
00780  M00S00780.m86form +++|        BEGIN
00781  M00S00781.m86form +++|        PRTLINELIM[ORD] = MAXLC;     # MAXIMUM LINE LIMIT USED #
00782  M00S00782.m86form +++|        MSGITEM[0] = " MAXIMUM LINE COUNT TAKEN AS LIMIT." ;
00783  M00S00783.m86form +++|        MESSAGE(MSGITEM[0],UDFL1);
00784  M00S00784.m86form +++|        END
00785  M00S00785.m86form +++|
00786  M00S00786.m86form +++|      RETURN;
00787  M00S00787.m86form +++|
00788  M00S00788.m86form +++|LINETYP:                             # SKIP TO LINE NUMBER #
00789  M00S00789.m86form +++|      IF NUM LQ PRTLINE[ORD]
00790  M00S00790.m86form +++|      THEN                           # LINE IS ON NEXT PAGE #
00791  M00S00791.m86form +++|        BEGIN
00792  M00S00792.m86form +++|        RPEJECT(FETP);               # EJECT TO NEW PAGE #
00793  M00S00793.m86form +++|        END
00794  M00S00794.m86form +++|
00795  M00S00795.m86form +++|      NUM = NUM - PRTLINE[ORD];
00796  M00S00796.m86form +++|      SLOWFOR I = 1 STEP 1 UNTIL NUM
00797  M00S00797.m86form +++|      DO
00798  M00S00798.m86form +++|        BEGIN
00799  M00S00799.m86form +++|        RPLINEX(FETP,BLANK);         # PRINT BLANK LINE #
00800  M00S00800.m86form +++|        END
00801  M00S00801.m86form +++|
00802  M00S00802.m86form +++|      RETURN;
00803  M00S00803.m86form +++|
00804  M00S00804.m86form +++|SPACETYP:                            # SKIP SPECIFIED NUMBER OF LINES #
00805  M00S00805.m86form +++|      IF PRTLINE[ORD] GR PRTLINELIM[ORD]
00806  M00S00806.m86form +++|      THEN
00807  M00S00807.m86form +++|        BEGIN
00808  M00S00808.m86form +++|        RPEJECT(FETP);               # EJECT TO NEW PAGE #
00809  M00S00809.m86form +++|        END
00810  M00S00810.m86form +++|
00811  M00S00811.m86form +++|      LINESLEFT = (PRTLINELIM[ORD] - PRTLINE[ORD]) + 1;
00812  M00S00812.m86form +++|      IF NUM GQ LINESLEFT
00813  M00S00813.m86form +++|      THEN                           # PAGE EJECT NECESSARY #
00814  M00S00814.m86form +++|        BEGIN
00815  M00S00815.m86form +++|        NUM = NUM - LINESLEFT;
00816  M00S00816.m86form +++|        RPEJECT(FETP);
00817  M00S00817.m86form +++|        END
00818  M00S00818.m86form +++|
00819  M00S00819.m86form +++|      SLOWFOR I = 1 STEP 1 UNTIL NUM
00820  M00S00820.m86form +++|      DO                             # PRINT *NUM* BLANK LINES #
00821  M00S00821.m86form +++|        BEGIN
00822  M00S00822.m86form +++|        RPLINEX(FETP,BLANK);         # PRINT *NUM* BLANK LINES #
00823  M00S00823.m86form +++|        END
00824  M00S00824.m86form +++|
00825  M00S00825.m86form +++|
00826  M00S00826.m86form +++|      RETURN;
00827  M00S00827.m86form +++|      END  # RPSPACE #
00828  M00S00828.m86form +++|
00829  M00S00829.m86form +++|    TERM
00830  M00S00830.m86form +++|PROC RPSRCH((FETP));
00831  M00S00831.m86form +++|
00832  M00S00832.m86form +++|# TITLE RPSRCH - SEARCHES THE PRINT TABLE.                            #
00833  M00S00833.m86form +++|
00834  M00S00834.m86form +++|      BEGIN  # RPSRCH #
00835  M00S00835.m86form +++|
00836  M00S00836.m86form +++|#
00837  M00S00837.m86form +++|**    RPSRCH - SEARCHES THE PRINT TABLE FOR AN ENTRY WITH A
00838  M00S00838.m86form +++|*              MATCHING *FETP*.
00839  M00S00839.m86form +++|*
00840  M00S00840.m86form +++|*     *RPSRCH* SEARCHES THE PRINT TABLE FOR EITHER AN EMPTY
00841  M00S00841.m86form +++|*     ENTRY, OR THE ENTRY FOR A FILE ALREADY OPENED BY
00842  M00S00842.m86form +++|*     *RPOPEN*.
00843  M00S00843.m86form +++|*
00844  M00S00844.m86form +++|*     PROC RPSRCH((FETP)).
00845  M00S00845.m86form +++|*
00846  M00S00846.m86form +++|*     ENTRY    (FETP) - THE *FET* ADDRESS FOR REPORT FILE.
00847  M00S00847.m86form +++|*                       = *EMPTY*, SEARCH FOR EMPTY ENTRY.
00848  M00S00848.m86form +++|*                         (VALUE DEFINED IN *COMTFMT*)
00849  M00S00849.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00850  M00S00850.m86form +++|*
00851  M00S00851.m86form +++|*     EXIT     (ORD)  - ITEM IN COMMON CONTAINING THE ORDINAL
00852  M00S00852.m86form +++|*                       OF THE PRINT TABLE ENTRY FOUND.
00853  M00S00853.m86form +++|*              IF THE PRINT TABLE IS FULL, OR A MATCHING
00854  M00S00854.m86form +++|*              ENTRY IS NOT FOUND, PROCESSING IS ABORTED.
00855  M00S00855.m86form +++|*
00856  M00S00856.m86form +++|*     MESSAGES   * PRINT TABLE ENTRY NOT FOUND.*
00857  M00S00857.m86form +++|*                * PRINT TABLE FULL.*
00858  M00S00858.m86form +++|#
00859  M00S00859.m86form +++|
00860  M00S00860.m86form +++|
00861  M00S00861.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00862  M00S00862.m86form +++|
00863  M00S00863.m86form +++|
00864  M00S00864.m86form +++|#
00865  M00S00865.m86form +++|****  PROC RPSRCH - XREF LIST BEGIN.
00866  M00S00866.m86form +++|#
00867  M00S00867.m86form +++|
00868  M00S00868.m86form +++|      XREF
00869  M00S00869.m86form +++|        BEGIN
00870  M00S00870.m86form +++|        PROC ABORT;                  # ABORTS PROCESSING #
00871  M00S00871.m86form +++|        PROC MESSAGE;                # DISPLAYS DAYFILE MESSAGE #
00872  M00S00872.m86form +++|        END
00873  M00S00873.m86form +++|
00874  M00S00874.m86form +++|#
00875  M00S00875.m86form +++|****  PROC RPSRCH - XREF LIST END.
00876  M00S00876.m86form +++|#
00877  M00S00877.m86form +++|
00878  M00S00878.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00879  M00S00879.m86form +++|
00880  M00S00880.m86form +++|*CALL COMBFAS
00881  M00S00881.m86form +++|*CALL COMTFMT
00882  M00S00882.m86form +++|*CALL COMTOUT
00883  M00S00883.m86form +++|
00884  M00S00884.m86form +++|
00885  M00S00885.m86form +++|CONTROL EJECT;
00886  M00S00886.m86form +++|
00887  M00S00887.m86form +++|#
00888  M00S00888.m86form +++|*     FIND PRINT TABLE ENTRY WITH AN EMPTY OR MATCHING *FETP*.
00889  M00S00889.m86form +++|#
00890  M00S00890.m86form +++|
00891  M00S00891.m86form +++|      ORD = 1;
00892  M00S00892.m86form +++|      REPEAT WHILE PRTFETP[ORD] NQ FETP AND ORD LQ PRTABENT
00893  M00S00893.m86form +++|      DO
00894  M00S00894.m86form +++|        BEGIN
00895  M00S00895.m86form +++|        ORD = ORD + 1;
00896  M00S00896.m86form +++|        END
00897  M00S00897.m86form +++|
00898  M00S00898.m86form +++|      IF ORD GR PRTABENT             # MATCHING ENTRY NOT FOUND #
00899  M00S00899.m86form +++|      THEN
00900  M00S00900.m86form +++|        BEGIN
00901  M00S00901.m86form +++|        IF FETP EQ EMPTY             # CALLED BY *RPOPEN* #
00902  M00S00902.m86form +++|        THEN
00903  M00S00903.m86form +++|          BEGIN
00904  M00S00904.m86form +++|          MSGITEM[0] = " PRINT TABLE FULL." ;
00905  M00S00905.m86form +++|          END
00906  M00S00906.m86form +++|
00907  M00S00907.m86form +++|        ELSE
00908  M00S00908.m86form +++|          BEGIN
00909  M00S00909.m86form +++|          MSGITEM[0] = " PRINT TABLE ENTRY NOT FOUND." ;
00910  M00S00910.m86form +++|          END
00911  M00S00911.m86form +++|
00912  M00S00912.m86form +++|        MESSAGE(MSGITEM[0],UDFL1);
00913  M00S00913.m86form +++|        ABORT;                       # ISSUE MESSAGE AND ABORT #
00914  M00S00914.m86form +++|        END
00915  M00S00915.m86form +++|
00916  M00S00916.m86form +++|      RETURN;
00917  M00S00917.m86form +++|      END  # RPSRCH #
00918  M00S00918.m86form +++|
00919  M00S00919.m86form +++|    TERM
cdc/nos2.source/opl.opl871/deck/m86form.txt ยท Last modified: by 127.0.0.1