User Tools

Site Tools


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

Deck M86FORM

0 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.m86form +++|PROC RPCEJCT ((FETP),(LINES));
00002  M01S00002.m86form +++|# TITLE RPCEJCT - CONDITIONALLY ISSUES A PAGE EJECT.                  #
00003  M01S00003.m86form +++|      BEGIN  # RPCEJCT #
00004  M01S00004.m86form +++|
00005  M01S00005.m86form +++|#
00006  M01S00006.m86form +++|**    RPCEJCT - CONDITIONALLY ISSUES A PAGE EJECT.
00007  M01S00007.m86form +++|*
00008  M01S00008.m86form +++|*     *RPCEJCT* ISSUES A PAGE EJECT IF THE NUMBER OF
00009  M01S00009.m86form +++|*     LINES REMAINING ON THE PAGE IS LESS THAN THE NUMBER
00010  M01S00010.m86form +++|*     OF LINES TO BE CHECKED.
00011  M01S00011.m86form +++|*
00012  M01S00012.m86form +++|*     PROC RPCEJCT((FETP),(LINES))
00013  M01S00013.m86form +++|*
00014  M01S00014.m86form +++|*     ENTRY   (FETP) = FWA OF *FET*.
00015  M01S00015.m86form +++|*             (LINES) = NUMBER OF LINES TO BE CHECKED.
00016  M01S00016.m86form +++|#
00017  M01S00017.m86form +++|
00018  M01S00018.m86form +++|      ITEM FETP       I;             # *FET* LOCATION #
00019  M01S00019.m86form +++|      ITEM LINES      I;             # NUMBER OF LINES TO BE CHECKED #
00020  M01S00020.m86form +++|
00021  M01S00021.m86form +++|#
00022  M01S00022.m86form +++|****  PROC RPCEJCT - XREF LIST BEGIN.
00023  M01S00023.m86form +++|#
00024  M01S00024.m86form +++|
00025  M01S00025.m86form +++|      XREF
00026  M01S00026.m86form +++|        BEGIN
00027  M01S00027.m86form +++|        PROC RPEJECT;                # ISSUES PAGE EJECT #
00028  M01S00028.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00029  M01S00029.m86form +++|        END
00030  M01S00030.m86form +++|
00031  M01S00031.m86form +++|#
00032  M01S00032.m86form +++|****  PROC RPCEJCT - XREF LIST END.
00033  M01S00033.m86form +++|#
00034  M01S00034.m86form +++|
00035  M01S00035.m86form +++|      DEF LISTCON #0#;               # TURN COMDECK LISTING OFF #
00036  M01S00036.m86form +++|*CALL COMBFAS
00037  M01S00037.m86form +++|*CALL COMTFMT
00038  M01S00038.m86form +++|*CALL COMTOUT
00039  M01S00039.m86form +++|
00040  M01S00040.m86form +++|                                               CONTROL EJECT;
00041  M01S00041.m86form +++|
00042  M01S00042.m86form +++|#
00043  M01S00043.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00044  M01S00044.m86form +++|#
00045  M01S00045.m86form +++|
00046  M01S00046.m86form +++|      IF FETP EQ NULLFILE
00047  M01S00047.m86form +++|      THEN
00048  M01S00048.m86form +++|        BEGIN
00049  M01S00049.m86form +++|        RETURN;
00050  M01S00050.m86form +++|        END
00051  M01S00051.m86form +++|
00052  M01S00052.m86form +++|      RPSRCH(FETP);                  # SEARCH PRINT TABLE #
00053  M01S00053.m86form +++|
00054  M01S00054.m86form +++|#
00055  M01S00055.m86form +++|*     IF THE NUMBER OF LINES REMAINING ON THE PAGE IS
00056  M01S00056.m86form +++|*     LESS THAN THE NUMBER OF LINES TO BE CHECKED, ISSUE
00057  M01S00057.m86form +++|*     A PAGE EJECT.
00058  M01S00058.m86form +++|#
00059  M01S00059.m86form +++|
00060  M01S00060.m86form +++|      IF (PRTLINELIM[ORD] - PRTLINE[ORD] + 1) GQ LINES
00061  M01S00061.m86form +++|      THEN
00062  M01S00062.m86form +++|        BEGIN
00063  M01S00063.m86form +++|        RETURN;
00064  M01S00064.m86form +++|        END
00065  M01S00065.m86form +++|
00066  M01S00066.m86form +++|      RPEJECT(FETP);
00067  M01S00067.m86form +++|      RETURN;
00068  M01S00068.m86form +++|      END  # RPCEJCT #
00069  M01S00069.m86form +++|
00070  M01S00070.m86form +++|    TERM
00071  M01S00071.m86form +++|PROC RPCLOSE((FETP));
00072  M01S00072.m86form +++|# TITLE RPCLOSE - CLOSES A REPORT FILE.                               #
00073  M01S00073.m86form +++|
00074  M01S00074.m86form +++|      BEGIN  # RPCLOSE #
00075  M01S00075.m86form +++|
00076  M01S00076.m86form +++|#
00077  M01S00077.m86form +++|**    RPCLOSE - CLOSES A REPORT FILE.
00078  M01S00078.m86form +++|*
00079  M01S00079.m86form +++|*     THIS PROCEDURE WRITES THE MESSAGE *REPORT
00080  M01S00080.m86form +++|*     COMPLETE* ON THE REPORT FILE, CLEARS THE
00081  M01S00081.m86form +++|*     *FET* ADDRESS IN THE PRINT TABLE ENTRY, AND
00082  M01S00082.m86form +++|*     CALLS *WRITER* TO CLOSE THE REPORT FILE.
00083  M01S00083.m86form +++|*
00084  M01S00084.m86form +++|*     PROC RPCLOSE((FETP)).
00085  M01S00085.m86form +++|*
00086  M01S00086.m86form +++|*     ENTRY    (FETP) - ADDRESS OF REPORT FILE *FET*.
00087  M01S00087.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING DONE.
00088  M01S00088.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00089  M01S00089.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00090  M01S00090.m86form +++|*
00091  M01S00091.m86form +++|*     EXIT     REPORT FILE IS CLOSED.  A PAGE EJECT IS ISSUED AND
00092  M01S00092.m86form +++|*              *REPORT COMPLETE* IS PRINTED.
00093  M01S00093.m86form +++|*
00094  M01S00094.m86form +++|*     NOTES    *RPCLOSE* CALLS *WRITER* TO WRITE AN
00095  M01S00095.m86form +++|*              END-OF-RECORD ON THE REPORT FILE, AND
00096  M01S00096.m86form +++|*              CLEARS THE VALUE OF *FETP* FROM THE PRINT
00097  M01S00097.m86form +++|*              TABLE ENTRY TO INDICATE THAT THE ENTRY
00098  M01S00098.m86form +++|*              IS NOW EMPTY.
00099  M01S00099.m86form +++|#
00100  M01S00100.m86form +++|
00101  M01S00101.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00102  M01S00102.m86form +++|
00103  M01S00103.m86form +++|#
00104  M01S00104.m86form +++|****  PROC RPCLOSE - XREF LIST BEGIN.
00105  M01S00105.m86form +++|#
00106  M01S00106.m86form +++|
00107  M01S00107.m86form +++|      XREF
00108  M01S00108.m86form +++|        BEGIN
00109  M01S00109.m86form +++|        PROC RPLINEX;                # PRINTS A REPORT LINE #
00110  M01S00110.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00111  M01S00111.m86form +++|        PROC WRITER;                 # WRITES *EOR* ON REPORT FILE #
00112  M01S00112.m86form +++|        END
00113  M01S00113.m86form +++|
00114  M01S00114.m86form +++|#
00115  M01S00115.m86form +++|****  PROC RPCLOSE - XREF LIST END.
00116  M01S00116.m86form +++|#
00117  M01S00117.m86form +++|
00118  M01S00118.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00119  M01S00119.m86form +++|*CALL COMBFAS
00120  M01S00120.m86form +++|*CALL COMTFMT
00121  M01S00121.m86form +++|*CALL COMTOUT
00122  M01S00122.m86form +++|CONTROL EJECT;
00123  M01S00123.m86form +++|
00124  M01S00124.m86form +++|#
00125  M01S00125.m86form +++|*     NO PROCESSING IS DONE IF NO REPORT FILE IS INDICATED.
00126  M01S00126.m86form +++|#
00127  M01S00127.m86form +++|
00128  M01S00128.m86form +++|      IF FETP EQ NULLFILE
00129  M01S00129.m86form +++|      THEN
00130  M01S00130.m86form +++|        BEGIN
00131  M01S00131.m86form +++|        RETURN;
00132  M01S00132.m86form +++|        END
00133  M01S00133.m86form +++|
00134  M01S00134.m86form +++|#
00135  M01S00135.m86form +++|*     PRINT COMPLETION MESSAGE AND CLEAR THE PRINT TABLE.
00136  M01S00136.m86form +++|#
00137  M01S00137.m86form +++|
00138  M01S00138.m86form +++|      RPSRCH(FETP);                  # SEARCH PRINT TABLE #
00139  M01S00139.m86form +++|      RPLINEX(FETP,"1**REPORT COMPLETE**",0,20,0);
00140  M01S00140.m86form +++|      P<RPFET> = FETP;
00141  M01S00141.m86form +++|      WRITER(RPFET[0],RCL);          # WRITE END-OF-RECORD #
00142  M01S00142.m86form +++|
00143  M01S00143.m86form +++|      PRTFETP[ORD] = EMPTY;          # CLEAR *FET* ADDRESS FROM TABLE #
00144  M01S00144.m86form +++|      RETURN;
00145  M01S00145.m86form +++|      END  # RPCLOSE #
00146  M01S00146.m86form +++|
00147  M01S00147.m86form +++|    TERM
00148  M01S00148.m86form +++|PROC RPEJECT((FETP));
00149  M01S00149.m86form +++|# TITLE RPEJECT - STARTS A NEW REPORT PAGE.                           #
00150  M01S00150.m86form +++|
00151  M01S00151.m86form +++|      BEGIN  # RPEJECT #
00152  M01S00152.m86form +++|
00153  M01S00153.m86form +++|#
00154  M01S00154.m86form +++|**    RPEJECT - STARTS NEW REPORT PAGE.
00155  M01S00155.m86form +++|*
00156  M01S00156.m86form +++|*     THIS PROCEDURE ADVANCES THE REPORT FILE
00157  M01S00157.m86form +++|*     TO A NEW PAGE, SETS THE CURRENT LINE NUMBER
00158  M01S00158.m86form +++|*     EQUAL TO ONE, AND PRINTS THE PAGE HEADING.
00159  M01S00159.m86form +++|*
00160  M01S00160.m86form +++|*     PROC RPEJECT((FETP)).
00161  M01S00161.m86form +++|*
00162  M01S00162.m86form +++|*     ENTRY    (FETP) - ADDRESS OF THE REPORT FILE *FET*.
00163  M01S00163.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING DONE.
00164  M01S00164.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00165  M01S00165.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00166  M01S00166.m86form +++|*
00167  M01S00167.m86form +++|*     EXIT     NEW PAGE HEADING IS COMPLETED.
00168  M01S00168.m86form +++|*
00169  M01S00169.m86form +++|*     NOTES    *RPEJECT* SETS UP THE PAGE HEADER LINE
00170  M01S00170.m86form +++|*              WITH DATE, TIME, PAGE NUMBER, AND
00171  M01S00171.m86form +++|*              CARRIAGE CONTROL CHARACTER.  AFTER
00172  M01S00172.m86form +++|*              PRINTING THIS LINE, THE LINE BUFFER
00173  M01S00173.m86form +++|*              IS BLANK-FILLED AND *XPRC* IS CALLED
00174  M01S00174.m86form +++|*              TO EXECUTE THE HEADER PROCEDURE.  THE
00175  M01S00175.m86form +++|*              REPORT FILE MUST HAVE ALREADY BEEN OPENED
00176  M01S00176.m86form +++|*              BY CALLING *RPOPEN*.
00177  M01S00177.m86form +++|#
00178  M01S00178.m86form +++|
00179  M01S00179.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00180  M01S00180.m86form +++|
00181  M01S00181.m86form +++|#
00182  M01S00182.m86form +++|****  PROC RPEJECT - XREF LIST BEGIN.
00183  M01S00183.m86form +++|#
00184  M01S00184.m86form +++|
00185  M01S00185.m86form +++|      XREF
00186  M01S00186.m86form +++|        BEGIN
00187  M01S00187.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00188  M01S00188.m86form +++|        PROC WRITEH;                 # WRITES LINE ON REPORT FILE #
00189  M01S00189.m86form +++|        FUNC XCDD C(10);             # CONVERTS INTEGER TO DISPLAY #
00190  M01S00190.m86form +++|        PROC XPRC;                   # EXECUTES A PROCEDURE #
00191  M01S00191.m86form +++|        END
00192  M01S00192.m86form +++|
00193  M01S00193.m86form +++|#
00194  M01S00194.m86form +++|****  PROC RPEJECT - XREF LIST END.
00195  M01S00195.m86form +++|#
00196  M01S00196.m86form +++|
00197  M01S00197.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00198  M01S00198.m86form +++|*CALL COMBFAS
00199  M01S00199.m86form +++|*CALL COMTFMT
00200  M01S00200.m86form +++|*CALL COMTOUT
00201  M01S00201.m86form +++|      ITEM PAGENUM    C(10);         # PAGE NUMBER IN DISPLAY CODE #
00202  M01S00202.m86form +++|CONTROL EJECT;
00203  M01S00203.m86form +++|
00204  M01S00204.m86form +++|#
00205  M01S00205.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00206  M01S00206.m86form +++|#
00207  M01S00207.m86form +++|
00208  M01S00208.m86form +++|      IF FETP EQ NULLFILE
00209  M01S00209.m86form +++|      THEN
00210  M01S00210.m86form +++|        BEGIN
00211  M01S00211.m86form +++|        RETURN;
00212  M01S00212.m86form +++|        END
00213  M01S00213.m86form +++|
00214  M01S00214.m86form +++|
00215  M01S00215.m86form +++|#
00216  M01S00216.m86form +++|*     UPDATE PAGE AND LINE COUNTS.
00217  M01S00217.m86form +++|#
00218  M01S00218.m86form +++|
00219  M01S00219.m86form +++|      RPSRCH(FETP);                  # SEARCH PRINT TABLE FOR *FETP* #
00220  M01S00220.m86form +++|
00221  M01S00221.m86form +++|      PRTPAGE[ORD] = PRTPAGE[ORD] + 1;
00222  M01S00222.m86form +++|      PRTLINE[ORD] = 1;
00223  M01S00223.m86form +++|      PAGENUM = XCDD(PRTPAGE[ORD]);  # PAGE NUMBER IN DISPLAY CODE #
00224  M01S00224.m86form +++|
00225  M01S00225.m86form +++|#
00226  M01S00226.m86form +++|*     SET UP AND PRINT THE PAGE HEADER LINE.
00227  M01S00227.m86form +++|#
00228  M01S00228.m86form +++|
00229  M01S00229.m86form +++|      LIN$CNTRL[ORD] = PRCEJ;        # CAUSE PAGE EJECT #
00230  M01S00230.m86form +++|      LIN$HEAD[ORD] = PRTHEADT[ORD];  # CURRENT MESSAGE #
00231  M01S00231.m86form +++|      LIN$DATE[ORD] = PRTDATE[ORD];  # CURRENT DATE #
00232  M01S00232.m86form +++|      LIN$TIME[ORD] = PRTTIME[ORD];  # CURRENT TIME #
00233  M01S00233.m86form +++|      LIN$PAGE[ORD] = "PAGE";
00234  M01S00234.m86form +++|      LIN$PAGENM[ORD] = C<4,6>PAGENUM;  # PAGE NUMBER #
00235  M01S00235.m86form +++|      P<RPFET> = FETP;
00236  M01S00236.m86form +++|      WRITEH(RPFET[0],LINEBUFF[ORD],LINELEN);  # PRINT LINE #
00237  M01S00237.m86form +++|      PRTLINE[ORD] = PRTLINE[ORD] + 1;  # INCREMENT LINE COUNTER #
00238  M01S00238.m86form +++|
00239  M01S00239.m86form +++|      LIN$BUF[ORD] = SPACES;         # BLANK FILL *LINEBUFF* #
00240  M01S00240.m86form +++|
00241  M01S00241.m86form +++|#
00242  M01S00242.m86form +++|*     EXECUTE SPECIFIED HEADER PROCEDURE.
00243  M01S00243.m86form +++|#
00244  M01S00244.m86form +++|
00245  M01S00245.m86form +++|      XPRC(PRTHEADP[ORD],FETP,BLANK);
00246  M01S00246.m86form +++|      RETURN;
00247  M01S00247.m86form +++|      END  # RPEJECT #
00248  M01S00248.m86form +++|
00249  M01S00249.m86form +++|    TERM
00250  M01S00250.m86form +++|PROC RPHEAD((FETP),(MESG),(COL),(LEN));
00251  M01S00251.m86form +++|# TITLE RPHEAD - SETS UP HEADER PRINT FIELD.                          #
00252  M01S00252.m86form +++|
00253  M01S00253.m86form +++|      BEGIN  # RPHEAD #
00254  M01S00254.m86form +++|
00255  M01S00255.m86form +++|#
00256  M01S00256.m86form +++|**    RPHEAD - SETS UP HEADER PRINT FIELD.
00257  M01S00257.m86form +++|*
00258  M01S00258.m86form +++|*     *RPHEAD* SETS UP AN OPTIONAL HEADER PRINT FIELD IN THE
00259  M01S00259.m86form +++|*     FIRST THIRTY-SEVEN CHARACTERS OF THE HEADER PAGE LINE.
00260  M01S00260.m86form +++|*
00261  M01S00261.m86form +++|*     PROC RPHEAD((FETP),(MESG),(COL),(LEN))
00262  M01S00262.m86form +++|*
00263  M01S00263.m86form +++|*     ENTRY   (FETP) - ADDRESS OF *FET* FOR REPORT FILE.
00264  M01S00264.m86form +++|*             (MESG)  - HEADER MESSAGE.
00265  M01S00265.m86form +++|*             (COL)  - STARTING COLUMN.
00266  M01S00266.m86form +++|*             (LEN)  - CHARACTER LENGTH OF FIELD.
00267  M01S00267.m86form +++|*
00268  M01S00268.m86form +++|*     EXIT    HEADER PRINT FIELD IS SET UP.
00269  M01S00269.m86form +++|*
00270  M01S00270.m86form +++|*     NOTES   THE SPECIFIED MESSAGE WILL BE PRINTED ON EVERY
00271  M01S00271.m86form +++|*             SUBSEQUENT PAGE HEADING UNTIL CHANGED OR CLEARED
00272  M01S00272.m86form +++|*             BY ANOTHER CALL TO *RPHEAD*.  THE MAXIMUM NUMBER
00273  M01S00273.m86form +++|*             OF CHARACTERS ALLOWED FOR THE HEADER FIELD IS
00274  M01S00274.m86form +++|*             THIRTY-SEVEN.
00275  M01S00275.m86form +++|#
00276  M01S00276.m86form +++|
00277  M01S00277.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE FET #
00278  M01S00278.m86form +++|      ITEM MESG       C(37);         # HEADER MESSAGE #
00279  M01S00279.m86form +++|      ITEM COL        U;             # STARTING COLUMN FOR FIELD #
00280  M01S00280.m86form +++|      ITEM LEN        U;             # LENGTH OF PRINT FIELD #
00281  M01S00281.m86form +++|
00282  M01S00282.m86form +++|#
00283  M01S00283.m86form +++|****  PROC RPHEAD - XREF LIST BEGIN.
00284  M01S00284.m86form +++|#
00285  M01S00285.m86form +++|
00286  M01S00286.m86form +++|      XREF
00287  M01S00287.m86form +++|        BEGIN
00288  M01S00288.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00289  M01S00289.m86form +++|        END
00290  M01S00290.m86form +++|
00291  M01S00291.m86form +++|#
00292  M01S00292.m86form +++|****  PROC RPHEAD - XREF LIST END.
00293  M01S00293.m86form +++|#
00294  M01S00294.m86form +++|
00295  M01S00295.m86form +++|      DEF LISTCON  #0#;              # TURN LISTING OFF #
00296  M01S00296.m86form +++|*CALL COMBFAS
00297  M01S00297.m86form +++|*CALL COMTFMT
00298  M01S00298.m86form +++|*CALL COMTOUT
00299  M01S00299.m86form +++|
00300  M01S00300.m86form +++|                                               CONTROL EJECT;
00301  M01S00301.m86form +++|
00302  M01S00302.m86form +++|#
00303  M01S00303.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00304  M01S00304.m86form +++|#
00305  M01S00305.m86form +++|
00306  M01S00306.m86form +++|      IF FETP EQ NULLFILE
00307  M01S00307.m86form +++|      THEN
00308  M01S00308.m86form +++|        BEGIN
00309  M01S00309.m86form +++|        RETURN;
00310  M01S00310.m86form +++|        END
00311  M01S00311.m86form +++|
00312  M01S00312.m86form +++|#
00313  M01S00313.m86form +++|*     SET UP PRINT FIELD.
00314  M01S00314.m86form +++|#
00315  M01S00315.m86form +++|
00316  M01S00316.m86form +++|      RPSRCH(FETP);                  # FIND PRINT TABLE ENTRY #
00317  M01S00317.m86form +++|      C<COL-1,LEN>PRTHEADT[ORD] = C<0,LEN>MESG;
00318  M01S00318.m86form +++|      END  # RPHEAD #
00319  M01S00319.m86form +++|
00320  M01S00320.m86form +++|    TERM
00321  M01S00321.m86form +++|PROC RPLINE((FETP),FIELD,(COL),(LEN),(FLAG));
00322  M01S00322.m86form +++|
00323  M01S00323.m86form +++|# TITLE RPLINE - CALLS *RPLINEX* TO PRINT A LINE.                     #
00324  M01S00324.m86form +++|
00325  M01S00325.m86form +++|      BEGIN  # RPLINE #
00326  M01S00326.m86form +++|
00327  M01S00327.m86form +++|#
00328  M01S00328.m86form +++|**    RPLINE - CALLS *RPLINEX* TO PRINT A LINE.
00329  M01S00329.m86form +++|*
00330  M01S00330.m86form +++|*     THIS PROCEDURE CHECKS THE CURRENT LINE NUMBER AND CALLS
00331  M01S00331.m86form +++|*     *RPEJECT* IF THE LINE LIMIT IS EXCEEDED.  IT THEN CALLS
00332  M01S00332.m86form +++|*     *RPLINEX* TO SET UP PRINT FIELD *FIELD* IN THE LINE BUFFER.
00333  M01S00333.m86form +++|*     THE LINE IS EITHER PRINTED OR SAVED, DEPENDING ON THE VALUE
00334  M01S00334.m86form +++|*     OF *FLAG* SPECIFIED.
00335  M01S00335.m86form +++|*
00336  M01S00336.m86form +++|*     PROC RPLINE((FETP),FIELD,(COL),(LEN),(FLAG)).
00337  M01S00337.m86form +++|*
00338  M01S00338.m86form +++|*     ENTRY   (FETP)  - ADDRESS OF *FET* FOR REPORT FILE.
00339  M01S00339.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING IS DONE.
00340  M01S00340.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00341  M01S00341.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00342  M01S00342.m86form +++|*             (FIELD) - STRING TO BE PRINTED.
00343  M01S00343.m86form +++|*             (COL)   - STARTING COLUMN FOR *FIELD*.
00344  M01S00344.m86form +++|*             (LEN)   - CHARACTER LENGTH OF *FIELD*.
00345  M01S00345.m86form +++|*             (FLAG)  - INDICATES CONTINUATION OF LINE.
00346  M01S00346.m86form +++|*                       (VALUES DEFINED IN *COMTOUT*)
00347  M01S00347.m86form +++|*                       = *END$LN*, CONTENTS OF BUFFER ARE PRINTED.
00348  M01S00348.m86form +++|*                       = *CONT$LN*, CONTENTS OF BUFFER ARE SAVED.
00349  M01S00349.m86form +++|*
00350  M01S00350.m86form +++|*     EXIT    LINE IS PRINTED OR CONTENTS OF BUFFER ARE SAVED
00351  M01S00351.m86form +++|*             UNTIL NEXT CALL TO *RPLINE*.  THE MAXIMUM FIELD
00352  M01S00352.m86form +++|*             SIZE IS 138 CHARACTERS.
00353  M01S00353.m86form +++|#
00354  M01S00354.m86form +++|
00355  M01S00355.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00356  M01S00356.m86form +++|
00357  M01S00357.m86form +++|      ARRAY FIELD [0:0] S(14);       # ARRAY CONTAINING PRINT FIELD #
00358  M01S00358.m86form +++|        BEGIN
00359  M01S00359.m86form +++|        ITEM FIELDPR    C(00,00,138);  # PRINT STRING #
00360  M01S00360.m86form +++|        END
00361  M01S00361.m86form +++|
00362  M01S00362.m86form +++|      ITEM COL        U;             # STARTING COLUMN OF FIELD #
00363  M01S00363.m86form +++|      ITEM LEN        U;             # LENGTH OF PRINT FIELD #
00364  M01S00364.m86form +++|      ITEM FLAG       U;             # INDICATES LINE CONTINUATION #
00365  M01S00365.m86form +++|
00366  M01S00366.m86form +++|
00367  M01S00367.m86form +++|
00368  M01S00368.m86form +++|#
00369  M01S00369.m86form +++|****  PROC RPLINE - XREF LIST BEGIN.
00370  M01S00370.m86form +++|#
00371  M01S00371.m86form +++|
00372  M01S00372.m86form +++|      XREF
00373  M01S00373.m86form +++|        BEGIN
00374  M01S00374.m86form +++|        PROC RPEJECT;                # STARTS NEW REPORT PAGE #
00375  M01S00375.m86form +++|        PROC RPLINEX;                # PRINTS LINE ON REPORT FILE #
00376  M01S00376.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00377  M01S00377.m86form +++|        END
00378  M01S00378.m86form +++|
00379  M01S00379.m86form +++|#
00380  M01S00380.m86form +++|****  PROC RPLINE - XREF LIST END.
00381  M01S00381.m86form +++|#
00382  M01S00382.m86form +++|
00383  M01S00383.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00384  M01S00384.m86form +++|
00385  M01S00385.m86form +++|*CALL COMBFAS
00386  M01S00386.m86form +++|*CALL COMTFMT
00387  M01S00387.m86form +++|*CALL COMTOUT
00388  M01S00388.m86form +++|CONTROL EJECT;
00389  M01S00389.m86form +++|
00390  M01S00390.m86form +++|
00391  M01S00391.m86form +++|#
00392  M01S00392.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00393  M01S00393.m86form +++|#
00394  M01S00394.m86form +++|
00395  M01S00395.m86form +++|      IF FETP EQ NULLFILE
00396  M01S00396.m86form +++|      THEN
00397  M01S00397.m86form +++|        BEGIN
00398  M01S00398.m86form +++|        RETURN;
00399  M01S00399.m86form +++|        END
00400  M01S00400.m86form +++|
00401  M01S00401.m86form +++|#
00402  M01S00402.m86form +++|*     CHECK LINE COUNT AND PRINT REPORT LINE.
00403  M01S00403.m86form +++|#
00404  M01S00404.m86form +++|
00405  M01S00405.m86form +++|      RPSRCH(FETP);                  # SEARCH FOR MATCHING *FETP* #
00406  M01S00406.m86form +++|
00407  M01S00407.m86form +++|      IF PRTLINE[ORD] GR PRTLINELIM[ORD]
00408  M01S00408.m86form +++|      THEN                           # NEW PAGE NEEDED #
00409  M01S00409.m86form +++|        BEGIN
00410  M01S00410.m86form +++|        RPEJECT(FETP);
00411  M01S00411.m86form +++|        END
00412  M01S00412.m86form +++|
00413  M01S00413.m86form +++|      RPLINEX(FETP,FIELD,COL,LEN,FLAG);
00414  M01S00414.m86form +++|
00415  M01S00415.m86form +++|
00416  M01S00416.m86form +++|
00417  M01S00417.m86form +++|      RETURN;
00418  M01S00418.m86form +++|      END  # RPLINE #
00419  M01S00419.m86form +++|
00420  M01S00420.m86form +++|    TERM
00421  M01S00421.m86form +++|PROC RPLINEX((FETP),FIELD,(COL),(LEN),(FLAG));
00422  M01S00422.m86form +++|# TITLE RPLINEX - PRINTS A REPORT LINE.                               #
00423  M01S00423.m86form +++|
00424  M01S00424.m86form +++|      BEGIN  # RPLINEX #
00425  M01S00425.m86form +++|
00426  M01S00426.m86form +++|#
00427  M01S00427.m86form +++|**    RPLINEX - PRINTS A LINE ON THE REPORT FILE.
00428  M01S00428.m86form +++|*
00429  M01S00429.m86form +++|*     *RPLINEX* SETS UP PRINT FIELD *FIELD* IN A LINE BUFFER.
00430  M01S00430.m86form +++|*     THE CONTENTS OF THE BUFFER ARE EITHER PRINTED OR SAVED, DEPENDING
00431  M01S00431.m86form +++|*     ON THE VALUE OF *FLAG*.  MORE THAN ONE FIELD PER PRINT
00432  M01S00432.m86form +++|*     LINE CAN BE SPECIFIED BY MAKING MORE THAN ONE CALL TO
00433  M01S00433.m86form +++|*     *RPLINEX*.
00434  M01S00434.m86form +++|*
00435  M01S00435.m86form +++|*     PROC RPLINEX((FETP),FIELD,(COL),(LEN),(FLAG)).
00436  M01S00436.m86form +++|*
00437  M01S00437.m86form +++|*     ENTRY   (FETP)  - ADDRESS OF *FET* FOR REPORT FILE.
00438  M01S00438.m86form +++|*                       = *NULLFILE*, NO REPORT PROCESSING IS DONE.
00439  M01S00439.m86form +++|*                         (VALUE DEFINED IN *COMTOUT*)
00440  M01S00440.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00441  M01S00441.m86form +++|*             (FIELD) - STRING TO BE PRINTED.
00442  M01S00442.m86form +++|*             (COL)   - STARTING COLUMN FOR *FIELD*.
00443  M01S00443.m86form +++|*             (LEN)   - CHARACTER LENGTH OF *FIELD*.
00444  M01S00444.m86form +++|*             (FLAG)  - INDICATES CONTINUATION OF LINE.
00445  M01S00445.m86form +++|*                       (VALUES DEFINED IN *COMTOUT*)
00446  M01S00446.m86form +++|*                       = *END$LN*, CONTENTS OF BUFFER ARE PRINTED.
00447  M01S00447.m86form +++|*                       = *CONT$LN*, CONTENTS OF BUFFER ARE SAVED.
00448  M01S00448.m86form +++|*
00449  M01S00449.m86form +++|*     EXIT    LINE IS PRINTED OR CONTENTS OF BUFFER ARE SAVED
00450  M01S00450.m86form +++|*             UNTIL NEXT CALL TO *RPLINEX*.  THE LINE COUNTER IS
00451  M01S00451.m86form +++|*             INCREMENTED AS NEEDED.
00452  M01S00452.m86form +++|#
00453  M01S00453.m86form +++|
00454  M01S00454.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00455  M01S00455.m86form +++|
00456  M01S00456.m86form +++|
00457  M01S00457.m86form +++|      ARRAY FIELD [0:0] S(14);       # ARRAY CONTAINING PRINT FIELD #
00458  M01S00458.m86form +++|        BEGIN
00459  M01S00459.m86form +++|        ITEM FIELDPR    C(00,00,138);  # PRINT STRING #
00460  M01S00460.m86form +++|        END
00461  M01S00461.m86form +++|
00462  M01S00462.m86form +++|      ITEM COL        U;             # STARTING COLUMN OF FIELD #
00463  M01S00463.m86form +++|      ITEM LEN        U;             # LENGTH OF PRINT FIELD #
00464  M01S00464.m86form +++|      ITEM FLAG       U;             # INDICATES LINE CONTINUATION #
00465  M01S00465.m86form +++|
00466  M01S00466.m86form +++|#
00467  M01S00467.m86form +++|****  PROC RPLINEX - XREF LIST BEGIN.
00468  M01S00468.m86form +++|#
00469  M01S00469.m86form +++|
00470  M01S00470.m86form +++|      XREF
00471  M01S00471.m86form +++|        BEGIN
00472  M01S00472.m86form +++|        PROC RPSRCH;                 # SEARCHES PRINT TABLE #
00473  M01S00473.m86form +++|        PROC WRITEH;                 # WRITES LINE ON REPORT FILE #
00474  M01S00474.m86form +++|        END
00475  M01S00475.m86form +++|
00476  M01S00476.m86form +++|#
00477  M01S00477.m86form +++|****  PROC RPLINEX - XREF LIST END.
00478  M01S00478.m86form +++|#
00479  M01S00479.m86form +++|
00480  M01S00480.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00481  M01S00481.m86form +++|
00482  M01S00482.m86form +++|*CALL COMBFAS
00483  M01S00483.m86form +++|*CALL COMTFMT
00484  M01S00484.m86form +++|*CALL COMTOUT
00485  M01S00485.m86form +++|
00486  M01S00486.m86form +++|CONTROL EJECT;
00487  M01S00487.m86form +++|
00488  M01S00488.m86form +++|
00489  M01S00489.m86form +++|#
00490  M01S00490.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00491  M01S00491.m86form +++|#
00492  M01S00492.m86form +++|
00493  M01S00493.m86form +++|      IF FETP EQ NULLFILE
00494  M01S00494.m86form +++|      THEN
00495  M01S00495.m86form +++|        BEGIN
00496  M01S00496.m86form +++|        RETURN;
00497  M01S00497.m86form +++|        END
00498  M01S00498.m86form +++|
00499  M01S00499.m86form +++|
00500  M01S00500.m86form +++|#
00501  M01S00501.m86form +++|*     THE CHARACTER STRING *FIELD* IS PLACED IN THE
00502  M01S00502.m86form +++|*     APPROPRIATE LOCATION IN *LINEBUFF*.  IF THE VALUE
00503  M01S00503.m86form +++|*     OF *FLAG* IS *CONT$LN*, THE CONTENTS OF *LINEBUFF*
00504  M01S00504.m86form +++|*     ARE SAVED.  OTHERWISE A LINE IS PRINTED.
00505  M01S00505.m86form +++|#
00506  M01S00506.m86form +++|
00507  M01S00507.m86form +++|      RPSRCH(FETP);                  # FIND PRINT TABLE ENTRY #
00508  M01S00508.m86form +++|      P<RPFET> = FETP;
00509  M01S00509.m86form +++|
00510  M01S00510.m86form +++|      IF FIELDPR[0] NQ EMPTY         # IF *FIELD* CONTAINS STRING #
00511  M01S00511.m86form +++|      THEN
00512  M01S00512.m86form +++|        BEGIN
00513  M01S00513.m86form +++|        C<COL,LEN>LIN$BUF[ORD] = FIELDPR[0];  # SET UP PRINT FIELD #
00514  M01S00514.m86form +++|        END
00515  M01S00515.m86form +++|
00516  M01S00516.m86form +++|      IF FLAG EQ CONT$LN             # IF LINE CONTINUED #
00517  M01S00517.m86form +++|      THEN
00518  M01S00518.m86form +++|        BEGIN
00519  M01S00519.m86form +++|        RETURN;                      # SAVE CONTENTS OF *LINEBUFF* #
00520  M01S00520.m86form +++|        END
00521  M01S00521.m86form +++|
00522  M01S00522.m86form +++|#
00523  M01S00523.m86form +++|*     WRITE PRINT LINE.
00524  M01S00524.m86form +++|#
00525  M01S00525.m86form +++|
00526  M01S00526.m86form +++|      WRITEH(RPFET[0],LINEBUFF[ORD],LINELEN);
00527  M01S00527.m86form +++|      IF LIN$CNTRL[ORD] EQ PRDBL
00528  M01S00528.m86form +++|      THEN                           # DOUBLE SPACE DONE #
00529  M01S00529.m86form +++|        BEGIN
00530  M01S00530.m86form +++|        PRTLINE[ORD] = PRTLINE[ORD] + 2;  # INCREMENT LINE COUNT #
00531  M01S00531.m86form +++|        END
00532  M01S00532.m86form +++|
00533  M01S00533.m86form +++|      ELSE                           # SINGLE SPACE ASSUMED #
00534  M01S00534.m86form +++|        BEGIN
00535  M01S00535.m86form +++|        PRTLINE[ORD] = PRTLINE[ORD] + 1;  # INCREMENT BY ONE #
00536  M01S00536.m86form +++|        END
00537  M01S00537.m86form +++|
00538  M01S00538.m86form +++|      LIN$BUF[ORD] = SPACES;         # BLANK FILL *LINEBUFF* #
00539  M01S00539.m86form +++|      RETURN;
00540  M01S00540.m86form +++|
00541  M01S00541.m86form +++|      END  # RPLINEX #
00542  M01S00542.m86form +++|
00543  M01S00543.m86form +++|    TERM
00544  M01S00544.m86form +++|PROC RPOPEN((NAME),(FETP),HEADPROC);
00545  M01S00545.m86form +++|# TITLE RPOPEN - OPENS A REPORT FILE.                                 #
00546  M01S00546.m86form +++|
00547  M01S00547.m86form +++|      BEGIN  # RPOPEN #
00548  M01S00548.m86form +++|
00549  M01S00549.m86form +++|#
00550  M01S00550.m86form +++|**    RPOPEN - OPENS A REPORT FILE.
00551  M01S00551.m86form +++|*
00552  M01S00552.m86form +++|*     THIS PROCEDURE SETS UP THE PRINT TABLE
00553  M01S00553.m86form +++|*     FOR A REPORT FILE AND CALLS *RPEJECT*
00554  M01S00554.m86form +++|*     TO START THE FIRST PAGE.
00555  M01S00555.m86form +++|*
00556  M01S00556.m86form +++|*     PROC RPOPEN((NAME),(FETP),HEADPROC).
00557  M01S00557.m86form +++|*
00558  M01S00558.m86form +++|*     ENTRY   (NAME)     - NAME OF REPORT FILE.
00559  M01S00559.m86form +++|*             (FETP)     - REPORT FILE *FET* OPTION.
00560  M01S00560.m86form +++|*                          = *NULLFILE*, NO REPORT PROCESSING IS DONE.
00561  M01S00561.m86form +++|*                            (VALUE DEFINED IN *COMTOUT*)
00562  M01S00562.m86form +++|*                          = OTHER, ADDRESS OF REPORT FILE *FET*.
00563  M01S00563.m86form +++|*             (HEADPROC) - HEADER PROCEDURE OPTION.
00564  M01S00564.m86form +++|*                          = *DEFLT$HDR*, DEFAULT PAGE HEADER USED.
00565  M01S00565.m86form +++|*                            (VALUE DEFINED IN *COMTOUT*)
00566  M01S00566.m86form +++|*                          = NAME OF USER-SUPPLIED PROCEDURE TO
00567  M01S00567.m86form +++|*                          BE EXECUTED AFTER EACH PAGE EJECT.
00568  M01S00568.m86form +++|*
00569  M01S00569.m86form +++|*     EXIT    REPORT FILE OPENED OR PRINT TABLE FULL.
00570  M01S00570.m86form +++|*
00571  M01S00571.m86form +++|*     NOTES   *RPOPEN* INITIALIZES A PRINT TABLE ENTRY FOR
00572  M01S00572.m86form +++|*             THE REPORT FILE SPECIFIED.  UP TO *PRTABENT* REPORT
00573  M01S00573.m86form +++|*             FILES MAY BE OPEN SIMULTANEOUSLY.  AFTER EACH
00574  M01S00574.m86form +++|*             PAGE EJECT, A LINE IS PRINTED CONTAINING THE
00575  M01S00575.m86form +++|*             THE CURRENT DATE, TIME, AND PAGE NUMBER.
00576  M01S00576.m86form +++|*             FOLLOWING THIS THE USER SUPPLIED HEADER PROCEDURE
00577  M01S00577.m86form +++|*             IS EXECUTED.
00578  M01S00578.m86form +++|*             TO AVOID RECURSIVE CALLS, THE HEADER PROCEDURE MUST
00579  M01S00579.m86form +++|*             NOT CALL *RPLINE* OR *RPSPACE*.  INSTEAD *RPLINEX*
00580  M01S00580.m86form +++|*             SHOULD BE USED.  TO PRINT A BLANK LINE, CALL:
00581  M01S00581.m86form +++|*                 RPLINEX(FETP,0,0,0,0).
00582  M01S00582.m86form +++|#
00583  M01S00583.m86form +++|
00584  M01S00584.m86form +++|      ITEM NAME       C(7);          # NAME OF THE REPORT FILE #
00585  M01S00585.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00586  M01S00586.m86form +++|      FPRC HEADPROC;                 # USER-SUPPLIED HEADER PROCEDURE #
00587  M01S00587.m86form +++|
00588  M01S00588.m86form +++|#
00589  M01S00589.m86form +++|****  PROC RPOPEN - XREF LIST BEGIN.
00590  M01S00590.m86form +++|#
00591  M01S00591.m86form +++|
00592  M01S00592.m86form +++|      XREF
00593  M01S00593.m86form +++|        BEGIN
00594  M01S00594.m86form +++|        PROC CLOCK;                  # GETS CURRENT TIME #
00595  M01S00595.m86form +++|        PROC DATE;                   # GETS CURRENT DATE #
00596  M01S00596.m86form +++|        PROC RPEJECT;                # STARTS NEW REPORT PAGE #
00597  M01S00597.m86form +++|        PROC RPLINEX;                # PRINTS A LINE #
00598  M01S00598.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00599  M01S00599.m86form +++|        PROC ZSETFET;                # INITIALIZES A *FET* #
00600  M01S00600.m86form +++|        END
00601  M01S00601.m86form +++|
00602  M01S00602.m86form +++|#
00603  M01S00603.m86form +++|****  PROC RPOPEN - XREF LIST END.
00604  M01S00604.m86form +++|#
00605  M01S00605.m86form +++|
00606  M01S00606.m86form +++|      DEF LISTCON #0#;               # CONTROLS LISTING OF COMDECKS #
00607  M01S00607.m86form +++|*CALL COMBFAS
00608  M01S00608.m86form +++|*CALL COMTFMT
00609  M01S00609.m86form +++|*CALL COMTOUT
00610  M01S00610.m86form +++|
00611  M01S00611.m86form +++|
00612  M01S00612.m86form +++|
00613  M01S00613.m86form +++|      ITEM DTEMP      C(10);         # TEMPORARY LOCATION FOR DATE #
00614  M01S00614.m86form +++|      ITEM TTEMP      C(10);         # TEMPORARY LOCATION FOR TIME #
00615  M01S00615.m86form +++|      ITEM PRBUFP     U;             # ADDRESS OF *CIO* BUFFER #
00616  M01S00616.m86form +++|
00617  M01S00617.m86form +++|      BASED
00618  M01S00618.m86form +++|      ARRAY HEADWORD [0:0] S(1);     # USED TO TEST *HEADPROC* #
00619  M01S00619.m86form +++|        BEGIN
00620  M01S00620.m86form +++|        ITEM HEADNAME   U(00,00,60);  # NAME OF HEADER PROCEDURE #
00621  M01S00621.m86form +++|        END
00622  M01S00622.m86form +++|
00623  M01S00623.m86form +++|CONTROL EJECT;
00624  M01S00624.m86form +++|
00625  M01S00625.m86form +++|#
00626  M01S00626.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00627  M01S00627.m86form +++|#
00628  M01S00628.m86form +++|
00629  M01S00629.m86form +++|      IF FETP EQ NULLFILE
00630  M01S00630.m86form +++|      THEN
00631  M01S00631.m86form +++|        BEGIN
00632  M01S00632.m86form +++|        RETURN;
00633  M01S00633.m86form +++|        END
00634  M01S00634.m86form +++|
00635  M01S00635.m86form +++|
00636  M01S00636.m86form +++|#
00637  M01S00637.m86form +++|*     SEARCH FOR AN EMPTY ENTRY IN THE PRINT TABLE.
00638  M01S00638.m86form +++|#
00639  M01S00639.m86form +++|
00640  M01S00640.m86form +++|      RPSRCH(EMPTY);                 # SEARCH TABLE FOR EMPTY ENTRY #
00641  M01S00641.m86form +++|
00642  M01S00642.m86form +++|      DATE(DTEMP);                   # GET CURRENT DATE #
00643  M01S00643.m86form +++|      CLOCK(TTEMP);                  # GET CURRENT TIME #
00644  M01S00644.m86form +++|
00645  M01S00645.m86form +++|#
00646  M01S00646.m86form +++|*     INITIALIZE PRINT TABLE FIELDS.
00647  M01S00647.m86form +++|#
00648  M01S00648.m86form +++|
00649  M01S00649.m86form +++|      PRBUFP = LOC(PRBUF[ORD]);      # ADDRESS OF *CIO* BUFFER #
00650  M01S00650.m86form +++|      PRTLFN[ORD] = NAME;
00651  M01S00651.m86form +++|      PRTLINE[ORD] = MAXLINE;
00652  M01S00652.m86form +++|      PRTHEADT[ORD] = " ";
00653  M01S00653.m86form +++|      PRTFETP[ORD] = FETP;
00654  M01S00654.m86form +++|      PRTPAGE[ORD] = 0;
00655  M01S00655.m86form +++|      PRTLINELIM[ORD] = PRDEFLIM;
00656  M01S00656.m86form +++|      PRTDATE[ORD] = DTEMP;
00657  M01S00657.m86form +++|      PRTTIME[ORD] = TTEMP;
00658  M01S00658.m86form +++|
00659  M01S00659.m86form +++|#
00660  M01S00660.m86form +++|*     SAVE ADDRESS OF THE HEADER PROCEDURE.
00661  M01S00661.m86form +++|#
00662  M01S00662.m86form +++|
00663  M01S00663.m86form +++|      P<HEADWORD> = LOC(HEADPROC);
00664  M01S00664.m86form +++|      IF HEADNAME[0] EQ DEFLT$HDR
00665  M01S00665.m86form +++|      THEN                           # DEFAULT HEADER CHOSEN #
00666  M01S00666.m86form +++|        BEGIN
00667  M01S00667.m86form +++|        PRTHEADP[ORD] = LOC(RPLINEX);  # GET ADDRESS OF *RPLINEX* #
00668  M01S00668.m86form +++|        END
00669  M01S00669.m86form +++|
00670  M01S00670.m86form +++|      ELSE                           # HEADER PROVIDED #
00671  M01S00671.m86form +++|        BEGIN
00672  M01S00672.m86form +++|        PRTHEADP[ORD] = LOC(HEADPROC);  # GET HEADER ADDRESS #
00673  M01S00673.m86form +++|        END
00674  M01S00674.m86form +++|
00675  M01S00675.m86form +++|#
00676  M01S00676.m86form +++|*     INITIALIZE *FET* AND START FIRST PAGE.
00677  M01S00677.m86form +++|#
00678  M01S00678.m86form +++|
00679  M01S00679.m86form +++|      ZSETFET(FETP,NAME,PRBUFP,PRBUFL,SFETL);
00680  M01S00680.m86form +++|
00681  M01S00681.m86form +++|      LIN$BUF[ORD] = SPACES;         # BLANK FILL *LINEBUFF* #
00682  M01S00682.m86form +++|      RETURN;
00683  M01S00683.m86form +++|
00684  M01S00684.m86form +++|      END  # RPOPEN #
00685  M01S00685.m86form +++|
00686  M01S00686.m86form +++|    TERM
00687  M01S00687.m86form +++|PROC RPSPACE((FETP),(SPTYP),(NUM));
00688  M01S00688.m86form +++|# TITLE RPSPACE - DOES REPORT SPACING.                                #
00689  M01S00689.m86form +++|
00690  M01S00690.m86form +++|      BEGIN  # RPSPACE #
00691  M01S00691.m86form +++|
00692  M01S00692.m86form +++|#
00693  M01S00693.m86form +++|**    RPSPACE - DOES REPORT SPACING.
00694  M01S00694.m86form +++|*
00695  M01S00695.m86form +++|*     THIS PROCEDURE DOES VARIOUS TYPES OF REPORT
00696  M01S00696.m86form +++|*     PROCESSING, DEPENDING ON THE VALUE OF *SPTYP*
00697  M01S00697.m86form +++|*     SPECIFIED.
00698  M01S00698.m86form +++|*
00699  M01S00699.m86form +++|*     PROC RPSPACE((FETP),(SPTYP),(NUM)).
00700  M01S00700.m86form +++|*
00701  M01S00701.m86form +++|*     ENTRY     (FETP)  - ADDRESS OF REPORT FILE *FET*.
00702  M01S00702.m86form +++|*               (SPTYP) - STATUS ITEM INDICATING PROCESSING.
00703  M01S00703.m86form +++|*                         (VALUES DEFINED IN *COMTOUT*)
00704  M01S00704.m86form +++|*                         = *LIMIT*, CHANGE PAGE LINE LIMIT TO *NUM*.
00705  M01S00705.m86form +++|*                         = *LINE*, ADVANCE TO LINE *NUM*.
00706  M01S00706.m86form +++|*                         = *SPACE*, PRINT *NUM* BLANK LINES.
00707  M01S00707.m86form +++|*               (NUM)   - NUMBER USED IN ACCORDANCE WITH THE
00708  M01S00708.m86form +++|*                         VALUE OF *SPTYP*.
00709  M01S00709.m86form +++|*
00710  M01S00710.m86form +++|*     EXIT      REPORT SPACING IS COMPLETE.
00711  M01S00711.m86form +++|*
00712  M01S00712.m86form +++|*     ERRORS    LINE LIMIT EXCEEDS MAXIMUM.
00713  M01S00713.m86form +++|*
00714  M01S00714.m86form +++|*     MESSAGES  * MAXIMUM LINE COUNT TAKEN AS LIMIT.*.
00715  M01S00715.m86form +++|#
00716  M01S00716.m86form +++|
00717  M01S00717.m86form +++|      ITEM FETP       U;             # ADDRESS OF *FET* #
00718  M01S00718.m86form +++|      ITEM NUM        I;             # NUMBER OF SPACES, LINE NUMBER,
00719  M01S00719.m86form +++|                                       OR NEW LINE LIMIT #
00720  M01S00720.m86form +++|
00721  M01S00721.m86form +++|#
00722  M01S00722.m86form +++|****  PROC RPSPACE - XREF LIST BEGIN.
00723  M01S00723.m86form +++|#
00724  M01S00724.m86form +++|
00725  M01S00725.m86form +++|      XREF
00726  M01S00726.m86form +++|        BEGIN
00727  M01S00727.m86form +++|        PROC MESSAGE;                # DISPLAYS DAYFILE MESSAGE #
00728  M01S00728.m86form +++|        PROC RPSRCH;                 # SEARCHES THE PRINT TABLE #
00729  M01S00729.m86form +++|        PROC RPLINEX;                # PRINTS A LINE ON REPORT FILE #
00730  M01S00730.m86form +++|        PROC RPEJECT;                # STARTS NEW REPORT PAGE #
00731  M01S00731.m86form +++|        END
00732  M01S00732.m86form +++|
00733  M01S00733.m86form +++|#
00734  M01S00734.m86form +++|****  PROC RPSPACE - XREF LIST END.
00735  M01S00735.m86form +++|#
00736  M01S00736.m86form +++|
00737  M01S00737.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00738  M01S00738.m86form +++|*CALL COMBFAS
00739  M01S00739.m86form +++|*CALL COMTFMT
00740  M01S00740.m86form +++|*CALL COMTOUT
00741  M01S00741.m86form +++|      ITEM I          I;             # INDUCTION VARIABLE #
00742  M01S00742.m86form +++|      ITEM LINESLEFT  U;             # LINES LEFT ON PAGE #
00743  M01S00743.m86form +++|      ITEM SPTYP      S:SP;          # TYPE OF SPACING SPECIFIED #
00744  M01S00744.m86form +++|
00745  M01S00745.m86form +++|      SWITCH LABTYP:SP               # SWITCH CONTROLLING PROCESSING #
00746  M01S00746.m86form +++|            LIMITYP:LIMIT,           # CHANGE PAGE LINE LIMIT #
00747  M01S00747.m86form +++|            LINETYP:LINE,            # ADVANCE TO ABSOLUTE LINE #
00748  M01S00748.m86form +++|           SPACETYP:SPACE;           # PRINT BLANK LINES #
00749  M01S00749.m86form +++|
00750  M01S00750.m86form +++|CONTROL EJECT;
00751  M01S00751.m86form +++|
00752  M01S00752.m86form +++|
00753  M01S00753.m86form +++|
00754  M01S00754.m86form +++|#
00755  M01S00755.m86form +++|*     NO PROCESSING IS DONE IF A NULL REPORT FILE IS INDICATED.
00756  M01S00756.m86form +++|#
00757  M01S00757.m86form +++|
00758  M01S00758.m86form +++|      IF FETP EQ NULLFILE
00759  M01S00759.m86form +++|      THEN
00760  M01S00760.m86form +++|        BEGIN
00761  M01S00761.m86form +++|        RETURN;
00762  M01S00762.m86form +++|        END
00763  M01S00763.m86form +++|
00764  M01S00764.m86form +++|
00765  M01S00765.m86form +++|#
00766  M01S00766.m86form +++|*     FIND PRINT TABLE ENTRY AND PROCESS REQUEST.
00767  M01S00767.m86form +++|#
00768  M01S00768.m86form +++|
00769  M01S00769.m86form +++|      RPSRCH(FETP);
00770  M01S00770.m86form +++|      GOTO LABTYP[SPTYP];            # DO APPROPRIATE PROCESSING #
00771  M01S00771.m86form +++|
00772  M01S00772.m86form +++|LIMITYP:                             # CHANGE LINE LIMIT TO *NUM* #
00773  M01S00773.m86form +++|      IF NUM LS MAXLC
00774  M01S00774.m86form +++|      THEN                           # LIMIT REQUESTED IS PERMISSABLE #
00775  M01S00775.m86form +++|        BEGIN
00776  M01S00776.m86form +++|        PRTLINELIM[ORD] = NUM;
00777  M01S00777.m86form +++|        END
00778  M01S00778.m86form +++|
00779  M01S00779.m86form +++|      ELSE                           # EXCESSIVE LIMIT REQUESTED #
00780  M01S00780.m86form +++|        BEGIN
00781  M01S00781.m86form +++|        PRTLINELIM[ORD] = MAXLC;     # MAXIMUM LINE LIMIT USED #
00782  M01S00782.m86form +++|        MSGITEM[0] = " MAXIMUM LINE COUNT TAKEN AS LIMIT." ;
00783  M01S00783.m86form +++|        MESSAGE(MSGITEM[0],UDFL1);
00784  M01S00784.m86form +++|        END
00785  M01S00785.m86form +++|
00786  M01S00786.m86form +++|      RETURN;
00787  M01S00787.m86form +++|
00788  M01S00788.m86form +++|LINETYP:                             # SKIP TO LINE NUMBER #
00789  M01S00789.m86form +++|      IF NUM LQ PRTLINE[ORD]
00790  M01S00790.m86form +++|      THEN                           # LINE IS ON NEXT PAGE #
00791  M01S00791.m86form +++|        BEGIN
00792  M01S00792.m86form +++|        RPEJECT(FETP);               # EJECT TO NEW PAGE #
00793  M01S00793.m86form +++|        END
00794  M01S00794.m86form +++|
00795  M01S00795.m86form +++|      NUM = NUM - PRTLINE[ORD];
00796  M01S00796.m86form +++|      SLOWFOR I = 1 STEP 1 UNTIL NUM
00797  M01S00797.m86form +++|      DO
00798  M01S00798.m86form +++|        BEGIN
00799  M01S00799.m86form +++|        RPLINEX(FETP,BLANK);         # PRINT BLANK LINE #
00800  M01S00800.m86form +++|        END
00801  M01S00801.m86form +++|
00802  M01S00802.m86form +++|      RETURN;
00803  M01S00803.m86form +++|
00804  M01S00804.m86form +++|SPACETYP:                            # SKIP SPECIFIED NUMBER OF LINES #
00805  M01S00805.m86form +++|      IF PRTLINE[ORD] GR PRTLINELIM[ORD]
00806  M01S00806.m86form +++|      THEN
00807  M01S00807.m86form +++|        BEGIN
00808  M01S00808.m86form +++|        RPEJECT(FETP);               # EJECT TO NEW PAGE #
00809  M01S00809.m86form +++|        END
00810  M01S00810.m86form +++|
00811  M01S00811.m86form +++|      LINESLEFT = (PRTLINELIM[ORD] - PRTLINE[ORD]) + 1;
00812  M01S00812.m86form +++|      IF NUM GQ LINESLEFT
00813  M01S00813.m86form +++|      THEN                           # PAGE EJECT NECESSARY #
00814  M01S00814.m86form +++|        BEGIN
00815  M01S00815.m86form +++|        NUM = NUM - LINESLEFT;
00816  M01S00816.m86form +++|        RPEJECT(FETP);
00817  M01S00817.m86form +++|        END
00818  M01S00818.m86form +++|
00819  M01S00819.m86form +++|      SLOWFOR I = 1 STEP 1 UNTIL NUM
00820  M01S00820.m86form +++|      DO                             # PRINT *NUM* BLANK LINES #
00821  M01S00821.m86form +++|        BEGIN
00822  M01S00822.m86form +++|        RPLINEX(FETP,BLANK);         # PRINT *NUM* BLANK LINES #
00823  M01S00823.m86form +++|        END
00824  M01S00824.m86form +++|
00825  M01S00825.m86form +++|
00826  M01S00826.m86form +++|      RETURN;
00827  M01S00827.m86form +++|      END  # RPSPACE #
00828  M01S00828.m86form +++|
00829  M01S00829.m86form +++|    TERM
00830  M01S00830.m86form +++|PROC RPSRCH((FETP));
00831  M01S00831.m86form +++|
00832  M01S00832.m86form +++|# TITLE RPSRCH - SEARCHES THE PRINT TABLE.                            #
00833  M01S00833.m86form +++|
00834  M01S00834.m86form +++|      BEGIN  # RPSRCH #
00835  M01S00835.m86form +++|
00836  M01S00836.m86form +++|#
00837  M01S00837.m86form +++|**    RPSRCH - SEARCHES THE PRINT TABLE FOR AN ENTRY WITH A
00838  M01S00838.m86form +++|*              MATCHING *FETP*.
00839  M01S00839.m86form +++|*
00840  M01S00840.m86form +++|*     *RPSRCH* SEARCHES THE PRINT TABLE FOR EITHER AN EMPTY
00841  M01S00841.m86form +++|*     ENTRY, OR THE ENTRY FOR A FILE ALREADY OPENED BY
00842  M01S00842.m86form +++|*     *RPOPEN*.
00843  M01S00843.m86form +++|*
00844  M01S00844.m86form +++|*     PROC RPSRCH((FETP)).
00845  M01S00845.m86form +++|*
00846  M01S00846.m86form +++|*     ENTRY    (FETP) - THE *FET* ADDRESS FOR REPORT FILE.
00847  M01S00847.m86form +++|*                       = *EMPTY*, SEARCH FOR EMPTY ENTRY.
00848  M01S00848.m86form +++|*                         (VALUE DEFINED IN *COMTFMT*)
00849  M01S00849.m86form +++|*                       = OTHER, ADDRESS OF *FET*.
00850  M01S00850.m86form +++|*
00851  M01S00851.m86form +++|*     EXIT     (ORD)  - ITEM IN COMMON CONTAINING THE ORDINAL
00852  M01S00852.m86form +++|*                       OF THE PRINT TABLE ENTRY FOUND.
00853  M01S00853.m86form +++|*              IF THE PRINT TABLE IS FULL, OR A MATCHING
00854  M01S00854.m86form +++|*              ENTRY IS NOT FOUND, PROCESSING IS ABORTED.
00855  M01S00855.m86form +++|*
00856  M01S00856.m86form +++|*     MESSAGES   * PRINT TABLE ENTRY NOT FOUND.*
00857  M01S00857.m86form +++|*                * PRINT TABLE FULL.*
00858  M01S00858.m86form +++|#
00859  M01S00859.m86form +++|
00860  M01S00860.m86form +++|
00861  M01S00861.m86form +++|      ITEM FETP       U;             # ADDRESS OF REPORT FILE *FET* #
00862  M01S00862.m86form +++|
00863  M01S00863.m86form +++|
00864  M01S00864.m86form +++|#
00865  M01S00865.m86form +++|****  PROC RPSRCH - XREF LIST BEGIN.
00866  M01S00866.m86form +++|#
00867  M01S00867.m86form +++|
00868  M01S00868.m86form +++|      XREF
00869  M01S00869.m86form +++|        BEGIN
00870  M01S00870.m86form +++|        PROC ABORT;                  # ABORTS PROCESSING #
00871  M01S00871.m86form +++|        PROC MESSAGE;                # DISPLAYS DAYFILE MESSAGE #
00872  M01S00872.m86form +++|        END
00873  M01S00873.m86form +++|
00874  M01S00874.m86form +++|#
00875  M01S00875.m86form +++|****  PROC RPSRCH - XREF LIST END.
00876  M01S00876.m86form +++|#
00877  M01S00877.m86form +++|
00878  M01S00878.m86form +++|      DEF LISTCON   #0#;             # CONTROLS LISTING OF COMDECKS #
00879  M01S00879.m86form +++|
00880  M01S00880.m86form +++|*CALL COMBFAS
00881  M01S00881.m86form +++|*CALL COMTFMT
00882  M01S00882.m86form +++|*CALL COMTOUT
00883  M01S00883.m86form +++|
00884  M01S00884.m86form +++|
00885  M01S00885.m86form +++|CONTROL EJECT;
00886  M01S00886.m86form +++|
00887  M01S00887.m86form +++|#
00888  M01S00888.m86form +++|*     FIND PRINT TABLE ENTRY WITH AN EMPTY OR MATCHING *FETP*.
00889  M01S00889.m86form +++|#
00890  M01S00890.m86form +++|
00891  M01S00891.m86form +++|      ORD = 1;
00892  M01S00892.m86form +++|      REPEAT WHILE PRTFETP[ORD] NQ FETP AND ORD LQ PRTABENT
00893  M01S00893.m86form +++|      DO
00894  M01S00894.m86form +++|        BEGIN
00895  M01S00895.m86form +++|        ORD = ORD + 1;
00896  M01S00896.m86form +++|        END
00897  M01S00897.m86form +++|
00898  M01S00898.m86form +++|      IF ORD GR PRTABENT             # MATCHING ENTRY NOT FOUND #
00899  M01S00899.m86form +++|      THEN
00900  M01S00900.m86form +++|        BEGIN
00901  M01S00901.m86form +++|        IF FETP EQ EMPTY             # CALLED BY *RPOPEN* #
00902  M01S00902.m86form +++|        THEN
00903  M01S00903.m86form +++|          BEGIN
00904  M01S00904.m86form +++|          MSGITEM[0] = " PRINT TABLE FULL." ;
00905  M01S00905.m86form +++|          END
00906  M01S00906.m86form +++|
00907  M01S00907.m86form +++|        ELSE
00908  M01S00908.m86form +++|          BEGIN
00909  M01S00909.m86form +++|          MSGITEM[0] = " PRINT TABLE ENTRY NOT FOUND." ;
00910  M01S00910.m86form +++|          END
00911  M01S00911.m86form +++|
00912  M01S00912.m86form +++|        MESSAGE(MSGITEM[0],UDFL1);
00913  M01S00913.m86form +++|        ABORT;                       # ISSUE MESSAGE AND ABORT #
00914  M01S00914.m86form +++|        END
00915  M01S00915.m86form +++|
00916  M01S00916.m86form +++|      RETURN;
00917  M01S00917.m86form +++|      END  # RPSRCH #
00918  M01S00918.m86form +++|
00919  M01S00919.m86form +++|    TERM
cdc/nos2.source/opl.opl871/deck/m86form.txt · Last modified: by 127.0.0.1