User Tools

Site Tools


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

Deck RFORM

2 Modifications

Source

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