User Tools

Site Tools


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

Deck RFORM

Library Member Format: MODIFY

Source

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