User Tools

Site Tools


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

Deck SXKD

2 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.sxkd    +++|PROC K;
00002  M01S00002.sxkd    +++|
00003  M01S00003.sxkd    +++|# TITLE K - *K* DISPLAY DOCUMENTATION.                                #
00004  M01S00004.sxkd    +++|
00005  M01S00005.sxkd    +++|      BEGIN  # K #
00006  M01S00006.sxkd    +++|
00007  M01S00007.sxkd    +++|#
00008  M01S00008.sxkd    +++|***** *K* DISPLAY ROUTINES.
00009  M01S00009.sxkd    +++|*
00010  M01S00010.sxkd    +++|*     THE *K* DISPLAY ROUTINES ARE TO PROVIDE ACCESS TO THE
00011  M01S00011.sxkd    +++|*     *K* DISPLAY FOR THE SSEXEC.  THE FUNCTIONS ARE TO
00012  M01S00012.sxkd    +++|*     FORMAT THE LEFT SCREEN DISPLAY AND TO PROCESS THE KEYBOARD
00013  M01S00013.sxkd    +++|*     RESPONSES FROM THE OPERATOR.
00014  M01S00014.sxkd    +++|
00015  M01S00015.sxkd    +++|
00016  M01S00016.sxkd    +++|
00017  M01S00017.sxkd    +++|
00018  M01S00018.sxkd    +++|***   OVERVIEW OF *K* DISPLAY ROUTINES.
00019  M01S00019.sxkd    +++|*
00020  M01S00020.sxkd    +++|*     THE *K* DISPLAY ROUTINES ARE -
00021  M01S00021.sxkd    +++|*
00022  M01S00022.sxkd    +++|*       KCLR    - CLEAR CURRENT ENTRY ON *K* DISPLAY.
00023  M01S00023.sxkd    +++|*       KDISPLY - *K* DISPLAY OVERLAY PROCESSOR.
00024  M01S00001.sxkd2   +++|*       KDSM    - DISPLAY SM INFORMATION.
00025  M01S00002.sxkd2   +++|*       KFILES  - PROCESS *FILES* COMMAND.
00026  M01S00024.sxkd    +++|*       KINIT   - *K* DISPLAY INITIALIZATION.
00027  M01S00025.sxkd    +++|*       KINPUT  - KEYBOARD INPUT PROCESSOR.
00028  M01S00026.sxkd    +++|*       KPFILL  - PARAMETER FILL ROUTINE.
00029  M01S00027.sxkd    +++|*       KPROC   - *K* DISPLAY PROCESSOR.
00030  M01S00028.sxkd    +++|*       KREQ    - *K* DISPLAY REQUEST.
00031  M01S00003.sxkd2   +++|*       KSM     - PROCESS *SMI* COMMAND.
00032  M01S00029.sxkd    +++|*
00033  M01S00030.sxkd    +++|*     *KINIT* MUST BE CALLED ONCE INITIALLY TO ISSUE THE
00034  M01S00031.sxkd    +++|*     *CONSOLE* MACRO.
00035  M01S00032.sxkd    +++|*
00036  M01S00033.sxkd    +++|*     *KREQ* PROCESSES REQUESTS TO PLACE A GROUP OF MESSAGES
00037  M01S00034.sxkd    +++|*     ON THE LEFT SCREEN OR TO COMPLETE/CLEAR A GROUP OF MESSAGES
00038  M01S00035.sxkd    +++|*     FROM THE LEFT SCREEN.
00039  M01S00036.sxkd    +++|*
00040  M01S00037.sxkd    +++|*     THE CALLER CAN SPECIFY UP TO THREE MESSAGES IN EACH REQUEST,
00041  M01S00038.sxkd    +++|*     INDICATE WHAT OPERATOR RESPONSES ARE VALID, REQUEST THAT THE
00042  M01S00039.sxkd    +++|*     MESSAGE(S) BE ISSUED TO THE DAYFILE/ERROR LOG, AND INCLUDE
00043  M01S00040.sxkd    +++|*     PARAMETER VALUES TO BE INSERTED INTO THE MESSAGE TEXTS.
00044  M01S00041.sxkd    +++|*
00045  M01S00042.sxkd    +++|*     NEW REQUESTS ARE PLACED IN A QUEUE FOR LATER PROCESSING.
00046  M01S00043.sxkd    +++|*     THEY REMAIN IN THE QUEUE UNTIL THEY ARE COMPLETED BY
00047  M01S00044.sxkd    +++|*     SOME EVENT.  THE EVENTS ARE -
00048  M01S00045.sxkd    +++|*       . CALL TO *KREQ* TO CLEAR THE MESSAGES (DELINK).
00049  M01S00046.sxkd    +++|*       . OPERATOR RESPONSE.
00050  M01S00047.sxkd    +++|*       . "IMMEDIATE-COMPLETE" OPTION SET IN THE REQUEST.
00051  M01S00048.sxkd    +++|*
00052  M01S00049.sxkd    +++|*     THE QUEUE IS FORMED BY LINKING THRU A FIELD IN THE
00053  M01S00050.sxkd    +++|*     REQUEST.  THEREFORE, THE REQUEST WORDS MUST REMAIN
00054  M01S00051.sxkd    +++|*     AVAILABLE WHILE THE REQUEST IS NOT COMPLETE.
00055  M01S00052.sxkd    +++|*
00056  M01S00053.sxkd    +++|*     THE "IMMEDIATE-COMPLETE" OPTION IN THE REQUEST WORDS MEANS
00057  M01S00054.sxkd    +++|*     THE *K* PROCESSING WILL SET THE COMPLETE BIT AND DELINK THE
00058  M01S00055.sxkd    +++|*     REQUEST FROM THE QUEUE AS SOON AS IT HAS PLACED THE MESSAGES
00059  M01S00056.sxkd    +++|*     ON THE LEFT SCREEN.  THEN THE ONLY WAY TO CLEAR THOSE
00060  M01S00057.sxkd    +++|*     MESSAGES ON THE SCREEN IS BY AN OPERATOR RESPONSE.
00061  M01S00058.sxkd    +++|*
00062  M01S00059.sxkd    +++|*     TO REQUEST MESSAGES TO BE PLACED ON THE LEFT SCREEN,
00063  M01S00060.sxkd    +++|*     THE CALLER MUST FORMAT THE REQUEST BY USING THE
00064  M01S00061.sxkd    +++|*     *KWORD* BASED ARRAY IN *COMBKDD* AND THEN CALL
00065  M01S00062.sxkd    +++|*     *KREQ* SPECIFYING THE PROPER PARAMETERS..
00066  M01S00063.sxkd    +++|*         - ADDRESS OF THE *KWORD* ARRAY, AND
00067  M01S00064.sxkd    +++|*         - *KLINK*, WHICH ADDS A NEW REQUEST.
00068  M01S00065.sxkd    +++|*     THE CALLER MUST SPECIFY IN THE *KWORD* ARRAY
00069  M01S00066.sxkd    +++|*     THE CALLER CONTROLLED FLAGS AND THE MESSAGE
00070  M01S00067.sxkd    +++|*     ORDINALS FOR LINES 1, 2, 3.  ALSO, THE
00071  M01S00068.sxkd    +++|*     PARAMETER WORD IN *KWORD* MUST BE SET
00072  M01S00069.sxkd    +++|*     IF PARAMETERS ARE USED IN THE MESSAGE TEXT.
00073  M01S00070.sxkd    +++|*
00074  M01S00071.sxkd    +++|*     THE MESSAGE ORDINALS ARE DEFINED IN THE *KM*
00075  M01S00072.sxkd    +++|*     STATUS LIST IN *COMBKDD* (MESSAGE ORDINAL ZERO
00076  M01S00073.sxkd    +++|*     SPECIFIES A BLANK LINE).  THE MESSAGE TEXTS
00077  M01S00074.sxkd    +++|*     AND PARAMETER DEFINITIONS ARE ALSO DEFINED
00078  M01S00075.sxkd    +++|*     IN *COMBKDD*.
00079  M01S00076.sxkd    +++|*
00080  M01S00077.sxkd    +++|*     TO CLEAR A REQUEST THAT IS QUEUED WAITING
00081  M01S00078.sxkd    +++|*     TO BE DISPLAYED OR IS ALREADY ON THE LEFT SCREEN
00082  M01S00079.sxkd    +++|*     DISPLAY, THE PROC *KREQ* CAN BE CALLED
00083  M01S00080.sxkd    +++|*     SPECIFYING THE ADDRESS OF THE *KWORD* ARRAY
00084  M01S00081.sxkd    +++|*     AND THE VALUE *KDELINK*.
00085  M01S00082.sxkd    +++|*
00086  M01S00083.sxkd    +++|*     *KPROC* CONTROLS THE PROCESSING OF THE LEFT SCREEN AND
00087  M01S00084.sxkd    +++|*     OPERATOR RESPONSES.  IT SHOULD BE CALLED PERIODICALLY.
00088  M01S00085.sxkd    +++|*     WHEN IT DETECTS WORK TO BE DONE, IT CALLS THE
00089  M01S00086.sxkd    +++|*     OVERLAY *KDISPLY* TO PROCESS THE WORK.
00090  M01S00087.sxkd    +++|
00091  M01S00088.sxkd    +++|
00092  M01S00089.sxkd    +++|
00093  M01S00090.sxkd    +++|
00094  M01S00091.sxkd    +++|***   THE LEFT SCREEN FORMAT IS -
00095  M01S00092.sxkd    +++|*
00096  M01S00093.sxkd    +++|*     LINE      -
00097  M01S00094.sxkd    +++|*     TYPE      -                 DESCRIPTION
00098  M01S00095.sxkd    +++|*     ----      -                 -----------
00099  M01S00096.sxkd    +++|*
00100  M01S00097.sxkd    +++|*
00101  M01S00098.sxkd    +++|*               -              --------------------------
00102  M01S00099.sxkd    +++|*     TITLE     -              - MASS STORAGE SUBSYSTEM -
00103  M01S00100.sxkd    +++|*               -              --------------------------
00104  M01S00101.sxkd    +++|*               -
00105  M01S00102.sxkd    +++|*               -
00106  M01S00103.sxkd    +++|*     BODY      -      1.   LINE 1 OF THE *K* REQUEST 1.
00107  M01S00104.sxkd    +++|*               -           LINE 2 OF THE *K* REQUEST 1.
00108  M01S00105.sxkd    +++|*               -           LINE 3 OF THE *K* REQUEST 1.
00109  M01S00106.sxkd    +++|*               -
00110  M01S00107.sxkd    +++|*               -
00111  M01S00108.sxkd    +++|*               -      2.   LINE 1 OF THE *K* REQUEST 2. ...
00112  M01S00109.sxkd    +++|*               -           LINE 2 OF ...
00113  M01S00110.sxkd    +++|*               -           LINE 3 OF THE *K* REQUEST 2. ...
00114  M01S00111.sxkd    +++|*               -
00115  M01S00112.sxkd    +++|*               -
Line S00113 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00116  M02S00113.sxkd2   ---|*               -      (ETC. UP TO 4 ORDINALS)
00117  M01S00004.sxkd2   +++|*               -           (UP TO 2 ORDINALS)
00118  M01S00114.sxkd    +++|*
00119  M01S00115.sxkd    +++|*     REJECT    -            *** REJECT ***
00120  M01S00116.sxkd    +++|*               -
00121  M01S00117.sxkd    +++|*               -
00122  M01S00118.sxkd    +++|*     ECHO      -            (KEYBOARD TYPE-IN)
00123  M01S00119.sxkd    +++|*               -
00124  M01S00120.sxkd    +++|*
00125  M01S00121.sxkd    +++|*     THE BODY CONSISTS OF AN ORDINAL REPRESENTING A SPECIFIC *K*
00126  M01S00122.sxkd    +++|*     REQUEST AND THE TEXT AS SPECIFIED IN THAT REQUEST.
00127  M01S00123.sxkd    +++|*     A MAXIMUM OF 3 LINES MAY BE SPECIFIED PER REQUEST.
00128  M01S00124.sxkd    +++|
00129  M01S00125.sxkd    +++|
00130  M01S00126.sxkd    +++|
00131  M01S00127.sxkd    +++|
00132  M01S00128.sxkd    +++|***   OPERATOR RESPONSES.
00133  M01S00129.sxkd    +++|*
00134  M01S00130.sxkd    +++|*     RESPONSES TO MESSAGES IN THE LEFT SCREEN BODY HAVE THE FORM -
00135  M01S00131.sxkd    +++|*
00136  M01S00132.sxkd    +++|*         N.COMMAND.     WHERE N IS THE ORDINAL
00137  M01S00133.sxkd    +++|*                        AND   COMMAND = *GO* OR *DROP*.
00138  M01S00134.sxkd    +++|*
00139  M01S00135.sxkd    +++|*     OTHER OPERATOR COMMANDS DEFINED ARE -
00140  M01S00136.sxkd    +++|*
Line S00137 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00141  M02S00137.sxkd2   ---|*         FILES,N.
00142  M01S00005.sxkd2   +++|*         FILES,N.       WHERE N IS THE AUTHORIZED DATA BUFFER COUNT.
00143  M01S00006.sxkd2   +++|*
00144  M01S00007.sxkd2   +++|*         SMI.           WHERE I IS THE SM ORDINAL FOR WHICH
00145  M01S00008.sxkd2   +++|*                        INFORMATION IS DISPLAYED.
00146  M01S00009.sxkd2   +++|*
00147  M01S00010.sxkd2   +++|*         SMI,DRD=ST=N.  WHERE I IS THE SM ORDINAL
00148  M01S00011.sxkd2   +++|*         SMI,DRD=DS=N.  AND N IS THE MAXIMUM NUMBER OF DRD-S
00149  M01S00012.sxkd2   +++|*                        PERMITTED FOR STAGING OR DESTAGING FILES.
00150  M01S00013.sxkd2   +++|*                        (ST IF STAGING, DS IF DESTAGING)
00151  M01S00014.sxkd2   +++|*
00152  M01S00015.sxkd2   +++|*         STAGE.         TOGGLE OPEN/CLOSE STATUS.
00153  M01S00016.sxkd2   +++|*         DESTAGE.
00154  M01S00017.sxkd2   +++|*
00155  M01S00138.sxkd    +++|#
00156  M01S00139.sxkd    +++|
00157  M01S00140.sxkd    +++|      END  # K #
00158  M01S00141.sxkd    +++|
00159  M01S00142.sxkd    +++|    TERM
00160  M01S00143.sxkd    +++|PROC KCLR((ORD));
00161  M01S00144.sxkd    +++|
00162  M01S00145.sxkd    +++|# TITLE KCLR - CLEAR CURRENT ENTRY ON *K* DISPLAY.                    #
00163  M01S00146.sxkd    +++|
00164  M01S00147.sxkd    +++|      BEGIN  # KCLR #
00165  M01S00148.sxkd    +++|
00166  M01S00149.sxkd    +++|#
00167  M01S00150.sxkd    +++|**    KCLR - CLEAR CURRENT ENTRY ON *K* DISPLAY.
00168  M01S00151.sxkd    +++|*
00169  M01S00152.sxkd    +++|*     *KCLR* CLEARS THE LEFT SCREEN AREA FOR THE SPECIFIED
00170  M01S00153.sxkd    +++|*     ORDINAL, DECREMENTS THE *KACTCOUNT* AND CLEARS THE
00171  M01S00154.sxkd    +++|*     *KCURRENT* ENTRY FOR THE ORDINAL.
00172  M01S00155.sxkd    +++|*
00173  M01S00156.sxkd    +++|*     PROC KCLR((ORD))
00174  M01S00157.sxkd    +++|*
00175  M01S00158.sxkd    +++|*     ENTRY     (ORD) - ORDINAL OF CURRENT ENTRY TO CLEAR.
00176  M01S00159.sxkd    +++|*
00177  M01S00160.sxkd    +++|*     EXIT      (KACTCOUNT) - DECREMENTED.
00178  M01S00161.sxkd    +++|*               (KCUR$WD)   - ENTRY FOR SPECIFIED ORDINAL IS CLEARED.
00179  M01S00162.sxkd    +++|*
00180  M01S00163.sxkd    +++|*               LINES IN THE BODY OF LEFT SCREEN FOR THE SPECIFIED
00181  M01S00164.sxkd    +++|*               ORDINAL ARE CLEARED.
00182  M01S00165.sxkd    +++|*
00183  M01S00166.sxkd    +++|#
00184  M01S00167.sxkd    +++|
00185  M01S00168.sxkd    +++|      ITEM ORD        I;             # ORDINAL OF CURRENT ENTRY #
00186  M01S00169.sxkd    +++|
00187  M01S00170.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
00188  M01S00171.sxkd    +++|*CALL,COMBFAS
00189  M01S00172.sxkd    +++|*CALL COMBKDA
00190  M01S00173.sxkd    +++|
00191  M01S00174.sxkd    +++|      ITEM LINES      I;             # TEMPORARY CELL #
00192  M01S00175.sxkd    +++|
00193  M01S00176.sxkd    +++|                                               CONTROL EJECT;
00194  M01S00177.sxkd    +++|
00195  M01S00178.sxkd    +++|      P<KLBODY> = LOC(KL$LINE[LF$BODY]);
00196  M01S00179.sxkd    +++|
00197  M01S00180.sxkd    +++|#
Line S00181 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00198  M02S00181.sxkd2   ---|*     CLEAR LEFT SCREEN LINES FOR THE GIVEN ORDINAL.
00199  M01S00018.sxkd2   +++|*     CLEAR LEFT SCREEN LINES FOR THE GIVEN ORDINAL, ONLY IF
00200  M01S00019.sxkd2   +++|*     THE MESSAGE DISPLAY IS ON THE SCREEN.
00201  M01S00182.sxkd    +++|#
00202  M01S00183.sxkd    +++|
Line S00184 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00203  M02S00184.sxkd2   ---|      FASTFOR LINES = 1 STEP 1 UNTIL 3
Line S00185 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00204  M02S00185.sxkd2   ---|      DO
Line S00186 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00205  M02S00186.sxkd2   ---|        BEGIN
Line S00187 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00206  M02S00187.sxkd2   ---|        KLB$LINCLR[LINES,ORD] = " ";
Line S00188 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00207  M02S00188.sxkd2   ---|        END
00208  M01S00020.sxkd2   +++|      IF NOT KSMDISP
00209  M01S00021.sxkd2   +++|      THEN                           # REMOVE MESSAGES #
00210  M01S00022.sxkd2   +++|        BEGIN  # MSG #
00211  M01S00023.sxkd2   +++|        FASTFOR LINES = 1 STEP 1 UNTIL 3
00212  M01S00024.sxkd2   +++|        DO                           # CLEAR EACH LINE #
00213  M01S00025.sxkd2   +++|          BEGIN  # BLANK #
00214  M01S00026.sxkd2   +++|          KLB$LINCLR[LINES,ORD] = " ";
00215  M01S00027.sxkd2   +++|          END  # BLANK #
00216  M01S00028.sxkd2   +++|
00217  M01S00029.sxkd2   +++|        END  # MSG #
00218  M01S00189.sxkd    +++|
00219  M01S00190.sxkd    +++|      KCUR$WD[ORD] = 0;              # CLEAR *KCURRENT* ENTRY #
00220  M01S00191.sxkd    +++|      KACTCOUNT = KACTCOUNT - 1;     # DECREMENT ACTIVE COUNT #
00221  M01S00192.sxkd    +++|      RETURN;
00222  M01S00193.sxkd    +++|      END  # KCLR #
00223  M01S00194.sxkd    +++|
00224  M01S00195.sxkd    +++|    TERM
00225  M01S00196.sxkd    +++|PROC KDISPLY;
00226  M01S00197.sxkd    +++|
00227  M01S00198.sxkd    +++|# TITLE KDISPLY - *K* DISPLAY OVERLAY.                                #
00228  M01S00199.sxkd    +++|
00229  M01S00200.sxkd    +++|      BEGIN  # KDISPLY #
00230  M01S00201.sxkd    +++|
00231  M01S00202.sxkd    +++|#
00232  M01S00203.sxkd    +++|**    KDISPLY - *K* DISPLAY OVERLAY.
00233  M01S00204.sxkd    +++|*
00234  M01S00205.sxkd    +++|*     *KDISPLY* CALLS *KINPUT* IF THERE IS AN OPERATOR TYPE-IN
00235  M01S00206.sxkd    +++|*     IN THE *KBINPUT* BUFFER, BUILDS THE LEFT SCREEN BUFFER
00236  M01S00207.sxkd    +++|*     FOR NEW REQUESTS AND CONTAINS THE ARRAY OF DEFINED *K*
00237  M01S00208.sxkd    +++|*     MESSAGES.
00238  M01S00209.sxkd    +++|*
00239  M01S00210.sxkd    +++|*     PROC KDISPLY.
00240  M01S00211.sxkd    +++|*
00241  M01S00212.sxkd    +++|*     ENTRY     (KACTCOUNT)    - NUMBER OF ACTIVE REQUESTS IN BODY
00242  M01S00213.sxkd    +++|*                                OF THE LEFT SCREEN.
00243  M01S00214.sxkd    +++|*               (KLINKQ)       - HEAD OF K-QUEUE.
00244  M01S00215.sxkd    +++|*                                = 0 IF EMPTY.
00245  M01S00216.sxkd    +++|*               ARRAY KBINPUT  - KEYBOARD INPUT BUFFER.
00246  M01S00217.sxkd    +++|*               ARRAY KCURRENT - CURRENT ENTRIES ON LEFT SCREEN.
00247  M01S00218.sxkd    +++|*                                = 0 IF ENTRY AVAILABLE.
00248  M01S00219.sxkd    +++|*
00249  M01S00220.sxkd    +++|*     EXIT      FOR EACH NEW *KWORD* REQUEST THAT IS PROCESSED -
00250  M01S00221.sxkd    +++|*                - LINES ARE FORMATTED FOR THE LEFT SCREEN BODY.
00251  M01S00222.sxkd    +++|*                - LINES ARE ISSUED TO THE DAYFILE IF SPECIFIED.
00252  M01S00223.sxkd    +++|*                - LINES ARE ISSUED TO THE ERROR LOG IF SPECIFIED.
00253  M01S00224.sxkd    +++|*                - IF THE *KW$IC* IS SET, THE COMPLETE BIT IS SET AND
00254  M01S00225.sxkd    +++|*                  THE *KWORD* REQUEST IS DELINKED FROM THE K-QUEUE.
00255  M01S00226.sxkd    +++|*               (KW$ACT)       - SET IN *KWORD* REQUEST.
00256  M01S00227.sxkd    +++|*               (KACTCOUNT)    - INCREMENTED FOR REQUESTS PROCESSED.
00257  M01S00228.sxkd    +++|*               ARRAY KCURRENT - ENTRIES SET FOR REQUESTS PROCESSED.
00258  M01S00229.sxkd    +++|*               KNEWREQ        - SET FALSE WHEN NO NEW REQUESTS
00259  M01S00230.sxkd    +++|*                                ARE FOUND.
00260  M01S00231.sxkd    +++|*
00261  M01S00232.sxkd    +++|*     NOTES     THE DEFINED MESSAGE SIZE IS 40 CHARACTERS.
00262  M01S00233.sxkd    +++|*
00263  M01S00234.sxkd    +++|#
00264  M01S00235.sxkd    +++|
00265  M01S00236.sxkd    +++|#
00266  M01S00237.sxkd    +++|****  PROC KDISPLY - XREF LIST BEGIN.
00267  M01S00238.sxkd    +++|#
00268  M01S00239.sxkd    +++|
00269  M01S00240.sxkd    +++|      XREF
00270  M01S00241.sxkd    +++|        BEGIN
00271  M01S00030.sxkd2   +++|        PROC KDSM;                   # DISPLAY *SM* INFORMATION #
00272  M01S00242.sxkd    +++|        PROC KINPUT;                 # KEYBOARD INPUT #
00273  M01S00243.sxkd    +++|        PROC KPFILL;                 # *K* PARAMETER FILL #
00274  M01S00244.sxkd    +++|        PROC KREQ;                   # *K* DISPLAY REQUEST #
00275  M01S00245.sxkd    +++|        PROC MESSAGE;                # ISSUE *MESSAGE* MACRO #
00276  M01S00246.sxkd    +++|        FUNC XCOD C(10);             # CONVERT INTEGER TO OCTAL DISPLAY
00277  M01S00247.sxkd    +++|                                       CODE #
00278  M01S00248.sxkd    +++|        END
00279  M01S00249.sxkd    +++|
00280  M01S00250.sxkd    +++|#
00281  M01S00251.sxkd    +++|****  PROC KDISPLY - XREF LIST END.
00282  M01S00252.sxkd    +++|#
00283  M01S00253.sxkd    +++|
00284  M01S00254.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
00285  M01S00255.sxkd    +++|*CALL COMBFAS
00286  M01S00256.sxkd    +++|*CALL COMBKDA
00287  M01S00257.sxkd    +++|*CALL COMBKDD
00288  M01S00258.sxkd    +++|
00289  M01S00259.sxkd    +++|
00290  M01S00260.sxkd    +++|      ITEM CURRKW     I;             # *KWORD* ADDRESS #
00291  M01S00261.sxkd    +++|      ITEM CURRORD    I;             # ORDINAL #
00292  M01S00262.sxkd    +++|      ITEM I          I;             # TEMPORARY CELL #
00293  M01S00263.sxkd    +++|      ITEM LINE       I;             # LINE NUMBER #
00294  M01S00264.sxkd    +++|      ITEM MSGORD     I;             # MESSAGE ORDINAL #
00295  M01S00265.sxkd    +++|      ITEM TEMP       C(10);         # TEMPORARY CELL #
00296  M01S00266.sxkd    +++|
00297  M01S00267.sxkd    +++|
00298  M01S00268.sxkd    +++|      ITEM DSPLORD    C(10) = "     N.   ";  # DISPLAY ORDINAL #
00299  M01S00269.sxkd    +++|
00300  M01S00270.sxkd    +++|
00301  M01S00271.sxkd    +++|#
00302  M01S00272.sxkd    +++|*     ARRAY OF MESSAGES DEFINED FOR THE *K* DISPLAY.
00303  M01S00273.sxkd    +++|#
00304  M01S00274.sxkd    +++|
00305  M01S00275.sxkd    +++|      ARRAY KMESSAGES [0:KMNUM] S(4);
00306  M01S00276.sxkd    +++|        BEGIN
00307  M01S00277.sxkd    +++|        ITEM KM$TEXT    C(00,00,40) = [ "NO-ONE",
00308  M01S00278.sxkd    +++|        KM1,
00309  M01S00279.sxkd    +++|        KM2,
00310  M01S00280.sxkd    +++|        KM3,
00311  M01S00281.sxkd    +++|        KM4,
00312  M01S00282.sxkd    +++|        KM5,
00313  M01S00283.sxkd    +++|        KM6,
00314  M01S00284.sxkd    +++|        KM7,
00315  M01S00285.sxkd    +++|        KM8,
00316  M01S00286.sxkd    +++|        KM9,
00317  M01S00287.sxkd    +++|        KM10,
00318  M01S00288.sxkd    +++|        KM11,
00319  M01S00289.sxkd    +++|        KM12,
00320  M01S00290.sxkd    +++|        KM13,
00321  M01S00291.sxkd    +++|        KM14,
00322  M01S00292.sxkd    +++|        KM15,
00323  M01S00293.sxkd    +++|        KM16,
00324  M01S00294.sxkd    +++|        KM17,
00325  M01S00295.sxkd    +++|        KM18,
00326  M01S00296.sxkd    +++|        KM19,
00327  M01S00297.sxkd    +++|        KM20,
00328  M01S00298.sxkd    +++|        KM21,
00329  M01S00299.sxkd    +++|        KM22,
00330  M01S00300.sxkd    +++|        KM23,
00331  M01S00301.sxkd    +++|        KM24,
00332  M01S00302.sxkd    +++|        KM25,
00333  M01S00303.sxkd    +++|        KM26,
00334  M01S00304.sxkd    +++|        KM27,
00335  M01S00305.sxkd    +++|        KM28,
00336  M01S00306.sxkd    +++|        KM29,
00337  M01S00307.sxkd    +++|        KM30 ];
00338  M01S00308.sxkd    +++|        END
00339  M01S00309.sxkd    +++|
00340  M01S00310.sxkd    +++|
00341  M01S00311.sxkd    +++|#
00342  M01S00312.sxkd    +++|*     ARRAY TO DEVELOP THE MESSAGE TEXT FOR THE *K* LINE.
00343  M01S00313.sxkd    +++|#
00344  M01S00314.sxkd    +++|
Line S00315 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00345  M02S00315.sxkd2   ---|      ARRAY TEXT [0:0] S(5);
00346  M01S00031.sxkd2   +++|      ARRAY TEXT [0:0] S(7);
00347  M01S00316.sxkd    +++|        BEGIN
Line S00317 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00348  M02S00317.sxkd2   ---|        ITEM TEXT$WDS   C(00,00,40);
Line S00318 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00349  M02S00318.sxkd2   ---|        ITEM TEXT$ZER   U(04,00,60) = [0];
00350  M01S00032.sxkd2   +++|        ITEM TEXT$WDS   C(00,00,60);
00351  M01S00033.sxkd2   +++|        ITEM TEXT$ALL   C(00,00,40);
00352  M01S00034.sxkd2   +++|        ITEM TEXT$ZER   U(06,00,60) = [0];
00353  M01S00319.sxkd    +++|        END
00354  M01S00320.sxkd    +++|
00355  M01S00035.sxkd2   +++|#
00356  M01S00036.sxkd2   +++|*     ARRAY TO SET UP MESSAGES FOR DAYFILES.
00357  M01S00037.sxkd2   +++|#
00358  M01S00038.sxkd2   +++|
00359  M01S00039.sxkd2   +++|      ARRAY DAYTEXT [0:0] S(5);
00360  M01S00040.sxkd2   +++|        BEGIN
00361  M01S00041.sxkd2   +++|        ITEM DAYT$ALL   C(00,00,40);
00362  M01S00042.sxkd2   +++|        ITEM DAYT$ZER   C(04,00,60) = [0];
00363  M01S00043.sxkd2   +++|        END
00364  M01S00044.sxkd2   +++|
00365  M01S00321.sxkd    +++|                                               CONTROL EJECT;
00366  M01S00322.sxkd    +++|
00367  M01S00323.sxkd    +++|#
00368  M01S00324.sxkd    +++|*     CALL *KINPUT* IF THERE IS A RESPONSE IN THE KEYBOARD BUFFER.
00369  M01S00325.sxkd    +++|#
00370  M01S00326.sxkd    +++|
00371  M01S00327.sxkd    +++|      IF KB$CLEAR[0] NQ 0
00372  M01S00328.sxkd    +++|      THEN
00373  M01S00329.sxkd    +++|        BEGIN
00374  M01S00330.sxkd    +++|        KINPUT;
00375  M01S00331.sxkd    +++|        END
00376  M01S00332.sxkd    +++|
00377  M01S00045.sxkd2   +++|#
00378  M01S00046.sxkd2   +++|*     REFRESH *SM* DISPLAY.
00379  M01S00047.sxkd2   +++|#
00380  M01S00048.sxkd2   +++|
00381  M01S00049.sxkd2   +++|      IF KSMDISP                     # SM DISPLAY IN BUFFER #
00382  M01S00050.sxkd2   +++|        AND KLINKQ EQ 0              # NO MESSAGES TO DISPLAY #
00383  M01S00051.sxkd2   +++|      THEN                           # *SM* DISPLAY CAN BE REFRESHED #
00384  M01S00052.sxkd2   +++|        BEGIN  # SM #
00385  M01S00053.sxkd2   +++|        IF KL$COMP[0]
00386  M01S00054.sxkd2   +++|        THEN                         # SM DISPLAY ON SCREEN #
00387  M01S00055.sxkd2   +++|          BEGIN  # UPDATE #
00388  M01S00056.sxkd2   +++|          KDSM;                      # REFRESH SM DISPLAY #
00389  M01S00057.sxkd2   +++|          END  # UPDATE #
00390  M01S00058.sxkd2   +++|
00391  M01S00059.sxkd2   +++|        RETURN;                      # DO NOT DISPLAY MESSAGES #
00392  M01S00060.sxkd2   +++|        END  # SM #
00393  M01S00061.sxkd2   +++|
00394  M01S00333.sxkd    +++|#
Line S00334 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00395  M02S00334.sxkd2   ---|*     PROCESS ALL POSSIBLE WORK FOR THE LEFT SCREEN.
00396  M01S00062.sxkd2   +++|*     PROCESS ALL POSSIBLE MESSAGES FOR THE LEFT SCREEN.
00397  M01S00335.sxkd    +++|#
00398  M01S00336.sxkd    +++|
00399  M01S00063.sxkd2   +++|      IF KSMDISP
00400  M01S00064.sxkd2   +++|      THEN                           # SM DISPLAY IN BUFFER #
00401  M01S00065.sxkd2   +++|        BEGIN  # CLEAR #
00402  M01S00066.sxkd2   +++|        SLOWFOR I = (LF$TITLEDIS+1) STEP 1 UNTIL (LF$VALCMD-1)
00403  M01S00067.sxkd2   +++|        DO                           # CLEAR BUFFER FOR MESSAGES #
00404  M01S00068.sxkd2   +++|          BEGIN  # BLANK #
00405  M01S00069.sxkd2   +++|          KL$LINE[I] = " ";
00406  M01S00070.sxkd2   +++|          END  # BLANK #
00407  M01S00071.sxkd2   +++|
00408  M01S00072.sxkd2   +++|        KSMDISP = FALSE;             # NOTE SM DISPLAY NO LONGER UP #
00409  M01S00073.sxkd2   +++|        END  # CLEAR #
00410  M01S00074.sxkd2   +++|
00411  M01S00337.sxkd    +++|      REPEAT
00412  M01S00338.sxkd    +++|      DO
00413  M01S00339.sxkd    +++|        BEGIN  # PROCESS LEFT SCREEN DISPLAYS #
00414  M01S00340.sxkd    +++|
00415  M01S00341.sxkd    +++|#
00416  M01S00342.sxkd    +++|*     RETURN IF THERE IS NO AVAILABLE SPACE ON THE LEFT SCREEN.
00417  M01S00343.sxkd    +++|#
00418  M01S00344.sxkd    +++|
00419  M01S00345.sxkd    +++|        IF KACTCOUNT EQ KORD
00420  M01S00346.sxkd    +++|        THEN
00421  M01S00347.sxkd    +++|          BEGIN
00422  M01S00348.sxkd    +++|          RETURN;
00423  M01S00349.sxkd    +++|          END
00424  M01S00350.sxkd    +++|
00425  M01S00351.sxkd    +++|#
00426  M01S00352.sxkd    +++|*     SEARCH THE K-QUEUE TO FIND A NEW REQUEST.
00427  M01S00353.sxkd    +++|*     SETS - *CURRKW* = *KWORD* ADDRESS OR ZERO (IF END OF THE QUEUE).
00428  M01S00354.sxkd    +++|#
00429  M01S00355.sxkd    +++|
00430  M01S00356.sxkd    +++|        CURRKW = KLINKQ;
00431  M01S00357.sxkd    +++|        P<KWORD> =  CURRKW;
00432  M01S00358.sxkd    +++|        REPEAT WHILE CURRKW NQ 0 AND KW$ACT[0]
00433  M01S00359.sxkd    +++|        DO
00434  M01S00360.sxkd    +++|          BEGIN
00435  M01S00361.sxkd    +++|          CURRKW = KW$LINK[0];
00436  M01S00362.sxkd    +++|          P<KWORD> = CURRKW;
00437  M01S00363.sxkd    +++|          END
00438  M01S00364.sxkd    +++|
00439  M01S00365.sxkd    +++|#
00440  M01S00366.sxkd    +++|*     RETURN IF THERE IS NO NEW REQUEST.
00441  M01S00367.sxkd    +++|#
00442  M01S00368.sxkd    +++|
00443  M01S00369.sxkd    +++|        IF CURRKW EQ 0
00444  M01S00370.sxkd    +++|        THEN
00445  M01S00371.sxkd    +++|          BEGIN
00446  M01S00372.sxkd    +++|          KNEWREQ = FALSE;
00447  M01S00373.sxkd    +++|          RETURN;                    # NO NEW REQUEST #
00448  M01S00374.sxkd    +++|          END
00449  M01S00375.sxkd    +++|
00450  M01S00376.sxkd    +++|#
00451  M01S00377.sxkd    +++|*     LOCATE THE ORDINAL FOR AVAILABLE SPACE ON THE LEFT SCREEN.
00452  M01S00378.sxkd    +++|#
00453  M01S00379.sxkd    +++|
00454  M01S00380.sxkd    +++|        FASTFOR I = KORD STEP -1 UNTIL 1
00455  M01S00381.sxkd    +++|        DO
00456  M01S00382.sxkd    +++|          BEGIN
00457  M01S00383.sxkd    +++|          IF KCUR$WD[I] EQ 0
00458  M01S00384.sxkd    +++|          THEN
00459  M01S00385.sxkd    +++|            BEGIN
00460  M01S00386.sxkd    +++|            CURRORD = I;
00461  M01S00387.sxkd    +++|            END
00462  M01S00388.sxkd    +++|
00463  M01S00389.sxkd    +++|          END
00464  M01S00390.sxkd    +++|
00465  M01S00391.sxkd    +++|#
00466  M01S00392.sxkd    +++|*     BUILD THE LINES FOR THE LEFT SCREEN BODY.
00467  M01S00393.sxkd    +++|#
00468  M01S00394.sxkd    +++|
00469  M01S00395.sxkd    +++|        P<KLBODY> = LOC(KL$LINE[LF$BODY]);
00470  M01S00396.sxkd    +++|        TEMP = XCOD(CURRORD);
00471  M01S00397.sxkd    +++|        C<5,1>DSPLORD = C<9,1>TEMP;
00472  M01S00398.sxkd    +++|        KLB$ORD[1,CURRORD] = DSPLORD;
00473  M01S00399.sxkd    +++|
00474  M01S00400.sxkd    +++|        FOR LINE = 1 STEP 1 UNTIL 3
00475  M01S00401.sxkd    +++|        DO
00476  M01S00402.sxkd    +++|          BEGIN  # BUILD DISPLAY LINE #
00477  M01S00403.sxkd    +++|          MSGORD = KW$MSGORD(LINE);  # GET MESSAGE ORDINAL #
00478  M01S00404.sxkd    +++|          IF MSGORD EQ 0
00479  M01S00405.sxkd    +++|          THEN                       # NO MESSAGE FOR THIS LINE #
00480  M01S00406.sxkd    +++|            BEGIN
00481  M01S00407.sxkd    +++|            TEST LINE;
00482  M01S00408.sxkd    +++|            END
00483  M01S00409.sxkd    +++|
00484  M01S00410.sxkd    +++|          TEXT$WDS[0] = KM$TEXT[MSGORD];  # GET MESSAGE TEXT #
00485  M01S00411.sxkd    +++|          KPFILL(TEXT[0],LOC(KW$PAR[0]));  # SET PARAMETERS #
00486  M01S00412.sxkd    +++|          KLB$TEXT[LINE,CURRORD] = TEXT$WDS[0];  # TEXT TO LEFT SCREEN
00487  M01S00413.sxkd    +++|                                                 #
00488  M01S00414.sxkd    +++|          IF KW$DF[0]
00489  M01S00415.sxkd    +++|          THEN                       # TEXT TO DAYFILE #
00490  M01S00416.sxkd    +++|            BEGIN
Line S00417 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00491  M02S00417.sxkd2   ---|            MESSAGE(TEXT[0],UDFL1);
00492  M01S00075.sxkd2   +++|            DAYT$ALL[0] = TEXT$ALL[0];  # SEND FEWER CHARACTERS #
00493  M01S00076.sxkd2   +++|            MESSAGE(DAYTEXT,UDFL1);
00494  M01S00418.sxkd    +++|            END
00495  M01S00419.sxkd    +++|
00496  M01S00420.sxkd    +++|          IF KW$ELOG[0]
00497  M01S00421.sxkd    +++|          THEN                       # TEXT TO ERROR LOG #
00498  M01S00422.sxkd    +++|            BEGIN
Line S00423 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
00499  M02S00423.sxkd2   ---|            MESSAGE(TEXT[0],ERRLOG);
00500  M01S00077.sxkd2   +++|            DAYT$ALL[0] = TEXT$ALL[0];  # SEND FEWER CHARACTERS #
00501  M01S00078.sxkd2   +++|            MESSAGE(DAYTEXT,ERRLOG);
00502  M01S00424.sxkd    +++|            END
00503  M01S00425.sxkd    +++|
00504  M01S00426.sxkd    +++|          END  # BUILD DISPLAY LINE #
00505  M01S00427.sxkd    +++|
00506  M01S00428.sxkd    +++|#
00507  M01S00429.sxkd    +++|*     SET *KWORD* ACTIVE AND SET *KCURRENT* FOR THE ORDINAL.
00508  M01S00430.sxkd    +++|#
00509  M01S00431.sxkd    +++|
00510  M01S00432.sxkd    +++|        KW$ACT[0] = TRUE;            # ACTIVE FLAG #
00511  M01S00433.sxkd    +++|        KCUR$CW[CURRORD] = KW$CW[0];  # CONTROL FLAGS #
00512  M01S00434.sxkd    +++|        KCUR$ADDR[CURRORD] = CURRKW;  # *KWORD* ADDRESS #
00513  M01S00435.sxkd    +++|        KACTCOUNT = KACTCOUNT + 1;   # ACTIVE COUNTER #
00514  M01S00436.sxkd    +++|
00515  M01S00437.sxkd    +++|#
00516  M01S00438.sxkd    +++|*     IF THE REQUEST SPECIFIED AN *IMMEDIATE-COMPLETE*, SET THE
00517  M01S00439.sxkd    +++|*     *KWORD* COMPLETE AND DELINK IT.  THE CONTROL FLAGS
00518  M01S00440.sxkd    +++|*     REMAIN IN *KCURRENT* TO KEEP THAT ORDINAL MARKED ACTIVE,
00519  M01S00441.sxkd    +++|*     AND THE MESSAGES (LINE 1-3) REMAIN UP.
00520  M01S00442.sxkd    +++|#
00521  M01S00443.sxkd    +++|
00522  M01S00444.sxkd    +++|        IF KW$IC[0]
00523  M01S00445.sxkd    +++|        THEN
00524  M01S00446.sxkd    +++|          BEGIN
00525  M01S00447.sxkd    +++|          KW$COMP[0] = TRUE;         # COMPLETE #
00526  M01S00448.sxkd    +++|          KCUR$ADDR[CURRORD] = 0;    # CLEAR *KWORD* ADDRESS #
00527  M01S00449.sxkd    +++|          KREQ(CURRKW,KDELINK);      # DELINK FROM *K* QUEUE #
00528  M01S00450.sxkd    +++|          END
00529  M01S00451.sxkd    +++|
00530  M01S00452.sxkd    +++|        END  # PROCESS LEFT SCREEN DISPLAYS #
00531  M01S00453.sxkd    +++|
00532  M01S00454.sxkd    +++|      END  # KDISPLY #
00533  M01S00455.sxkd    +++|
00534  M01S00456.sxkd    +++|    TERM
00535  M01S00079.sxkd2   +++|PROC KDSM;
00536  M01S00080.sxkd2   +++|
00537  M01S00081.sxkd2   +++|# TITLE KDSM - DISPLAY *SM* INFORMATION ON *K* DISPLAY.            #
00538  M01S00082.sxkd2   +++|
00539  M01S00083.sxkd2   +++|
00540  M01S00084.sxkd2   +++|      BEGIN  # KDSM#
00541  M01S00085.sxkd2   +++|
00542  M01S00086.sxkd2   +++|#
00543  M01S00087.sxkd2   +++|**    KDSM - PAINT *SM* INFORMATION ON K-DISPLAY.
00544  M01S00088.sxkd2   +++|*
00545  M01S00089.sxkd2   +++|*     *KDSM* DISPLAYS STORAGE MODULE INFORMATION FROM THE UDT ON THE
00546  M01S00090.sxkd2   +++|*     K-DISPLAY IN RESPONSE TO AN *SMI* COMMAND INPUT FROM THE
00547  M01S00091.sxkd2   +++|*     KEYBOARD.
00548  M01S00092.sxkd2   +++|*
00549  M01S00093.sxkd2   +++|*     PROC KDSM
00550  M01S00094.sxkd2   +++|*
00551  M01S00095.sxkd2   +++|*     ENTRY     ARRAY KBINPUT (DEFINED IN *COMBKDD*) CONTAINS THE
00552  M01S00096.sxkd2   +++|*               IMAGE OF THE *SMI* COMMAND.
00553  M01S00097.sxkd2   +++|*
00554  M01S00098.sxkd2   +++|*     EXIT      *SM* PORTION OF *K* DISPLAY HAS BEEN UPDATED.
00555  M01S00099.sxkd2   +++|*
00556  M01S00100.sxkd2   +++|*     MESSAGES
00557  M01S00101.sxkd2   +++|*
00558  M01S00102.sxkd2   +++|* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00559  M01S00103.sxkd2   +++|*         1         2         3         4         5         6         7
00560  M01S00104.sxkd2   +++|*1234567890123456789012345678901234567890123456789012345678901234567890
00561  M01S00105.sxkd2   +++|*                       - MSE SUBSYSTEM -                             1
00562  M01S00106.sxkd2   +++|* - OPEN STAGE               RTRQ=   0           OPEN DESTAGE-        2
00563  M01S00107.sxkd2   +++|*                                                                     3
00564  M01S00108.sxkd2   +++|*                                                                     4
00565  M01S00109.sxkd2   +++|* SMI STATUS  ON                                                      5
00566  M01S00110.sxkd2   +++|*              X MAX DRDS FOR STAGING                                 6
00567  M01S00111.sxkd2   +++|*              Y MAX DRDS FOR DESTAGING                               7
00568  M01S00112.sxkd2   +++|*                                                                     8
00569  M01S00113.sxkd2   +++|*                  JSN   FILE        UI   PRU-S                       9
00570  M01S00114.sxkd2   +++|* DRD0  STAGE   - WXYZ  FILENAM  USRIDX  PRUCNT                      10
00571  M01S00115.sxkd2   +++|* DRD1  DESTAGE - ABCD  FILENAM  USRIDX  PRUCNT                      11
00572  M01S00116.sxkd2   +++|*                                                                    12
00573  M01S00117.sxkd2   +++|*                                                                    13
00574  M01S00118.sxkd2   +++|* VALID COMMANDS                                                     14
00575  M01S00119.sxkd2   +++|*   K.X.GO.               CLEARS ORDINAL *X*                         15
00576  M01S00120.sxkd2   +++|*   K.STAGE OR K.DESTAGE  TOGGLES OPEN/CLOSE                         16
00577  M01S00121.sxkd2   +++|*   K.SMI                 SELECTS SM *I* INFORMATION                 17
00578  M01S00122.sxkd2   +++|*   K.SMI,DRD=ST=X        SETS MAX *X* STAGE DRDS                    18
00579  M01S00123.sxkd2   +++|*   K.SMI,DRD=DS=Y        SETS MAX *Y* DESTAGE DRDS                  19
00580  M01S00124.sxkd2   +++|*
00581  M01S00125.sxkd2   +++|*
00582  M01S00126.sxkd2   +++|*
00583  M01S00127.sxkd2   +++|*
00584  M01S00128.sxkd2   +++|#
00585  M01S00129.sxkd2   +++|
00586  M01S00130.sxkd2   +++|
00587  M01S00131.sxkd2   +++|#
00588  M01S00132.sxkd2   +++|****  PROC KDSM - XREF LIST BEGIN.
00589  M01S00133.sxkd2   +++|#
00590  M01S00134.sxkd2   +++|
00591  M01S00135.sxkd2   +++|      XREF
00592  M01S00136.sxkd2   +++|        BEGIN
00593  M01S00137.sxkd2   +++|        PROC KPFILL;                 # *K* PARAMTER FILL #
00594  M01S00138.sxkd2   +++|        PROC ZFILL;                  # ZERO-FILL PARAMETER BLOCK #
00595  M01S00139.sxkd2   +++|        END
00596  M01S00140.sxkd2   +++|
00597  M01S00141.sxkd2   +++|#
00598  M01S00142.sxkd2   +++|****  PROC KDSM - XREF LIST END.
00599  M01S00143.sxkd2   +++|#
00600  M01S00144.sxkd2   +++|
00601  M01S00145.sxkd2   +++|      DEF LISTCON    #0#;            # DO NOT LIST COMDECKS #
00602  M01S00146.sxkd2   +++|*CALL COMBFAS
00603  M01S00147.sxkd2   +++|*CALL COMBCPR
00604  M01S00148.sxkd2   +++|*CALL COMBFET
00605  M01S00149.sxkd2   +++|*CALL COMBHFC
00606  M01S00150.sxkd2   +++|*CALL COMBKDA
00607  M01S00151.sxkd2   +++|*CALL COMBKDD
00608  M01S00152.sxkd2   +++|*CALL COMBLRQ
00609  M01S00153.sxkd2   +++|*CALL COMBUCR
00610  M01S00154.sxkd2   +++|*CALL COMBTDM
00611  M01S00155.sxkd2   +++|*CALL COMBUDT
00612  M01S00156.sxkd2   +++|*CALL COMXCTF
00613  M01S00157.sxkd2   +++|*CALL COMXHLR
00614  M01S00158.sxkd2   +++|*CALL COMXIPR
00615  M01S00159.sxkd2   +++|*CALL COMXLTC
00616  M01S00160.sxkd2   +++|*CALL COMXMSC
00617  M01S00161.sxkd2   +++|
00618  M01S00162.sxkd2   +++|      ITEM INTSM      I;             # INTEGER SM ID #
00619  M01S00163.sxkd2   +++|
00620  M01S00164.sxkd2   +++|#
00621  M01S00165.sxkd2   +++|*     ARRAY TO HOLD MESSAGE TEXT FOR LEFT SCREEN LINE.
00622  M01S00166.sxkd2   +++|#
00623  M01S00167.sxkd2   +++|
00624  M01S00168.sxkd2   +++|      ARRAY TEXT [0:0] S(7);          # HOLDS MESSAGE FOR LEFT SCREEN #
00625  M01S00169.sxkd2   +++|        BEGIN
00626  M01S00170.sxkd2   +++|        ITEM TEXT$WDS   C(00,00,60);
00627  M01S00171.sxkd2   +++|        ITEM TEXT$ZER   C(06,00,60) = [0];  # ZERO-BYTE TERMINATOR #
00628  M01S00172.sxkd2   +++|        END
00629  M01S00173.sxkd2   +++|
00630  M01S00174.sxkd2   +++|#
00631  M01S00175.sxkd2   +++|*     ARRAY TO BUFFER JSN HEADER TO STOP FLICKER.
00632  M01S00176.sxkd2   +++|#
00633  M01S00177.sxkd2   +++|
00634  M01S00178.sxkd2   +++|      ARRAY HEADERBUF [0:0] S(6);    # HOLDS BLANKS OR HEADER #
00635  M01S00179.sxkd2   +++|        BEGIN
00636  M01S00180.sxkd2   +++|        ITEM HB$LINE    C(00,00,52);
00637  M01S00181.sxkd2   +++|        END
00638  M01S00182.sxkd2   +++|
00639  M01S00183.sxkd2   +++|                                               CONTROL EJECT;
00640  M01S00184.sxkd2   +++|
00641  M01S00185.sxkd2   +++|      ZFILL(KSMPARMS,SMPARMLEN);     # CLEAR SM PARAMETER BLOCK #
00642  M01S00186.sxkd2   +++|      KSMDISP = TRUE;                # CONSIDER SM DISPLAY IN BUFFER #
00643  M01S00187.sxkd2   +++|
00644  M01S00188.sxkd2   +++|#
00645  M01S00189.sxkd2   +++|*     BUILD *KSM1* MESSAGE LINE (LINE 5 IN K-DISPLAY SHOWN ABOVE)
00646  M01S00190.sxkd2   +++|*     TO REFLECT THE STATUS OF THE SM.
00647  M01S00191.sxkd2   +++|*
00648  M01S00192.sxkd2   +++|*     THE SM MAY BE ON, OFF, OR IN MAINTENANCE MODE.
00649  M01S00193.sxkd2   +++|#
00650  M01S00194.sxkd2   +++|
00651  M01S00195.sxkd2   +++|      P<KWORD> = LOC(KSM$WORD[0]) - 1;  # POINT TO PARAMETER BLOCK #
00652  M01S00196.sxkd2   +++|      KP$SM = KSMID;                 # SET SM IDENTIFIER #
00653  M01S00197.sxkd2   +++|      KP$NF = "OFF       ";          # DEFAULT SM STATUS #
00654  M01S00198.sxkd2   +++|      KP$MA = " ";                   # IN CASE "E" FROM "MAINT" #
Line S00199 Modification History
M01 (Added by) sxkd2
M02 (Updated by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
00655  M02S00199.mse0011 ---|      INTSM = KSMID;                 # CONVERT CHARACTER TO INTEGER #
00656  M01S00001.mse0011 +++|      INTSM = KUDTIND;               # SET UDT INDEX FOR PROCESSING #
00657  M01S00200.sxkd2   +++|      IF SM$ON[INTSM]                ##
00658  M01S00201.sxkd2   +++|        AND NOT SM$ON$ACK[INTSM]     # NOT CHANGING STATUS #
00659  M01S00202.sxkd2   +++|      THEN                           # SM MAY BE ON #
00660  M01S00203.sxkd2   +++|        BEGIN  # CHECK #
00661  M01S00204.sxkd2   +++|        IF NOT INITIALIZE
00662  M01S00205.sxkd2   +++|        THEN                         # SM IS ON AND IDLE #
00663  M01S00206.sxkd2   +++|          BEGIN  # ON #
00664  M01S00207.sxkd2   +++|          KP$NF = "ON        ";
00665  M01S00208.sxkd2   +++|          END  # ON #
00666  M01S00209.sxkd2   +++|
00667  M01S00210.sxkd2   +++|        ELSE                         # SM MAY NOT YET BE ON #
00668  M01S00211.sxkd2   +++|          BEGIN  # INIT #
00669  M01S00212.sxkd2   +++|          IF SM$CUO0[INTSM] NQ 0
00670  M01S00213.sxkd2   +++|          THEN                       # FIRST CU CONNECTED TO SM #
00671  M01S00214.sxkd2   +++|            BEGIN  # 1ST #
00672  M01S00215.sxkd2   +++|            P<UDT$MSG> = LOC(UD$MSG[SM$CUO0[INTSM]]);
00673  M01S00216.sxkd2   +++|            IF MS$MSG[0] GQ HFC$CHSCIF  ##
00674  M01S00217.sxkd2   +++|              AND MS$MSG[0] LQ HFC$CHSDIO
00675  M01S00218.sxkd2   +++|            THEN                     # SM TURNED ON IN INIT #
00676  M01S00219.sxkd2   +++|              BEGIN  # ON #
00677  M01S00220.sxkd2   +++|              KP$NF = "ON        ";
00678  M01S00221.sxkd2   +++|              END  # ON #
00679  M01S00222.sxkd2   +++|
00680  M01S00223.sxkd2   +++|            END  # 1ST #
00681  M01S00224.sxkd2   +++|
00682  M01S00225.sxkd2   +++|          IF SM$CUO1[INTSM] NQ 0
00683  M01S00226.sxkd2   +++|          THEN                       # SECOND CU CONNECTED TO SM #
00684  M01S00227.sxkd2   +++|            BEGIN  # 2ND #
00685  M01S00228.sxkd2   +++|            P<UDT$MSG> = LOC(UD$MSG[SM$CUO1[INTSM]]);
00686  M01S00229.sxkd2   +++|            IF MS$MSG[0] GQ HFC$CHSCIF  ##
00687  M01S00230.sxkd2   +++|              AND MS$MSG[0] LQ HFC$CHSDIO
00688  M01S00231.sxkd2   +++|            THEN                     # SM TURNED ON IN INIT #
00689  M01S00232.sxkd2   +++|              BEGIN  # ON #
00690  M01S00233.sxkd2   +++|              KP$NF = "ON        ";
00691  M01S00234.sxkd2   +++|              END  # ON #
00692  M01S00235.sxkd2   +++|
00693  M01S00236.sxkd2   +++|            END  # 2ND #
00694  M01S00237.sxkd2   +++|
00695  M01S00238.sxkd2   +++|          END  # INIT #
00696  M01S00239.sxkd2   +++|
00697  M01S00240.sxkd2   +++|        END  # CHECK #
00698  M01S00241.sxkd2   +++|
00699  M01S00242.sxkd2   +++|      IF SM$DIAG[INTSM]              ##
00700  M01S00243.sxkd2   +++|        AND NOT SM$DAG$ACK[INTSM]    # NOT CHANGING STATUS #
00701  M01S00244.sxkd2   +++|      THEN                           # SM IS IN MAINTENANCE MODE #
00702  M01S00245.sxkd2   +++|        BEGIN  # MAINT #
00703  M01S00246.sxkd2   +++|        KP$NF = "MAINTENANC";
00704  M01S00247.sxkd2   +++|        KP$MA = "E";                 # REQUIRES 2 PARAMETERS #
00705  M01S00248.sxkd2   +++|        END  # MAINT #
00706  M01S00249.sxkd2   +++|
00707  M01S00250.sxkd2   +++|      TEXT$WDS[0] = KSM1;
00708  M01S00251.sxkd2   +++|      KPFILL(TEXT[0], LOC(KSM$WORD[0]));
00709  M01S00252.sxkd2   +++|      KL$LINE[LF$SMINFO] = TEXT$WDS[0];  # MSG --> DISPLAY BUFFER #
00710  M01S00253.sxkd2   +++|
00711  M01S00254.sxkd2   +++|#
00712  M01S00255.sxkd2   +++|*     BUILD *KSM2* AND *KSM3* MESSAGES (LINES 6 AND 7 IN K-DISPLAY)
00713  M01S00256.sxkd2   +++|#
00714  M01S00257.sxkd2   +++|
00715  M01S00258.sxkd2   +++|      KP$ND = SM$STNUM[INTSM];
00716  M01S00259.sxkd2   +++|      TEXT$WDS[0] = KSM2;
00717  M01S00260.sxkd2   +++|      KPFILL(TEXT[0], LOC(KSM$WORD[0]));
00718  M01S00261.sxkd2   +++|      KL$LINE[LF$SMINFO+1] = TEXT$WDS[0]; # MSG --> DISPLAY BUFFER#
00719  M01S00262.sxkd2   +++|
00720  M01S00263.sxkd2   +++|      KP$ND = SM$DSNUM[INTSM];
00721  M01S00264.sxkd2   +++|      TEXT$WDS[0] = KSM3;
00722  M01S00265.sxkd2   +++|      KPFILL(TEXT[0], LOC(KSM$WORD[0]));
00723  M01S00266.sxkd2   +++|      KL$LINE[LF$SMINFO+2] = TEXT$WDS[0]; # MSG --> DISPLAY BUFFER#
00724  M01S00267.sxkd2   +++|
00725  M01S00268.sxkd2   +++|      KL$LINE[LF$SMINFO+3] = " ";         # BLANK LINE --> BUFFER #
00726  M01S00269.sxkd2   +++|      HB$LINE[0] = " ";              # ASSUME NO STAGING OR DESTAGING #
00727  M01S00270.sxkd2   +++|
00728  M01S00271.sxkd2   +++|#
00729  M01S00272.sxkd2   +++|*     BUILD TEXT LINE TO REFLECT STATUS OF UPPER DRD.
00730  M01S00273.sxkd2   +++|*
00731  M01S00274.sxkd2   +++|*     THE DRD MAY BE OFF, IDLE, ACTIVE WITH A STAGE OR DESTAGE,
00732  M01S00275.sxkd2   +++|*     IN USE BY A UTILITY, OR IN MAINTENANCE MODE.
00733  M01S00276.sxkd2   +++|*
00734  M01S00277.sxkd2   +++|*     IF ACTIVE, PROCESSING INFORMATION SUCH AS FILE NAME, PRU COUNT,
00735  M01S00278.sxkd2   +++|*     USER INDEX, AND JOB NAME, IS RETRIEVED FROM THE HLRQ,
00736  M01S00279.sxkd2   +++|*     TDAM ENTRY, AND DISK FET.
00737  M01S00280.sxkd2   +++|#
00738  M01S00281.sxkd2   +++|
00739  M01S00282.sxkd2   +++|      KP$DD = D0$SUN[INTSM];    # SET DRD NUMBER FOR NEXT MESSAGE #
00740  M01S00283.sxkd2   +++|      IF D0$ON$ACK[INTSM]            # DRD CHANGING STATUS #
00741  M01S00284.sxkd2   +++|        OR D0$LLADR[INTSM] EQ 0      # DRD NOT YET ACCESSED #
00742  M01S00285.sxkd2   +++|        OR NOT D0$ON[INTSM]
00743  M01S00286.sxkd2   +++|      THEN                           # DRD IS OFF OR IN MAINT MODE #
00744  M01S00287.sxkd2   +++|        BEGIN  # NOT ON #
00745  M01S00288.sxkd2   +++|        IF D0$DIAG[INTSM]            ##
00746  M01S00289.sxkd2   +++|          AND NOT D0$DAG$ACK[INTSM]
00747  M01S00290.sxkd2   +++|        THEN                         # DRD IN MAINTENANCE MODE #
00748  M01S00291.sxkd2   +++|          BEGIN  # MAINT #
00749  M01S00292.sxkd2   +++|          TEXT$WDS[0] = KSM10;
00750  M01S00293.sxkd2   +++|          END  # MAINT #
00751  M01S00294.sxkd2   +++|
00752  M01S00295.sxkd2   +++|        ELSE                         # DRD IS OFF #
00753  M01S00296.sxkd2   +++|          BEGIN  # OFF #
00754  M01S00297.sxkd2   +++|          TEXT$WDS[0] = KSM8;
00755  M01S00298.sxkd2   +++|          END  # OFF #
00756  M01S00299.sxkd2   +++|
00757  M01S00300.sxkd2   +++|        END  # NOT ON #
00758  M01S00301.sxkd2   +++|
00759  M01S00302.sxkd2   +++|      ELSE
00760  M01S00303.sxkd2   +++|        BEGIN  # DRD0 IS ON #
00761  M01S00304.sxkd2   +++|        P<LLRQ> = D0$LLADR[INTSM];
00762  M01S00305.sxkd2   +++|        IF LLR$PRCNME[0] EQ REQTYP4"INITHW"  # DRD TURNING ON #
00763  M01S00306.sxkd2   +++|          OR LLR$RQI[0] EQ REQNAME"RQIAUCP"  # ABORTED UCP #
00764  M01S00307.sxkd2   +++|          OR NOT D0$FULL[INTSM]
00765  M01S00308.sxkd2   +++|        THEN                         # DRD NOT IN USE #
00766  M01S00309.sxkd2   +++|          BEGIN  # DRD0 IS IDLE #
00767  M01S00310.sxkd2   +++|          TEXT$WDS[0] = KSM9;
00768  M01S00311.sxkd2   +++|          END
00769  M01S00312.sxkd2   +++|
00770  M01S00313.sxkd2   +++|        ELSE
00771  M01S00314.sxkd2   +++|          BEGIN  # DRD0 IS ACTIVE - BUILD STATUS LINE #
00772  M01S00315.sxkd2   +++|          IF LLR$RQI[0] NQ REQNAME"RQIINT"  # NOT STAGE OR DESTAGE #
00773  M01S00316.sxkd2   +++|          THEN
00774  M01S00317.sxkd2   +++|            BEGIN  # DRD0 PROCESSING UTILITY REQUEST #
00775  M01S00318.sxkd2   +++|            TEXT$WDS[0] = KSM7;
00776  M01S00319.sxkd2   +++|            END
00777  M01S00320.sxkd2   +++|
00778  M01S00321.sxkd2   +++|          ELSE  # DRD0 PROCESSING STAGE/DESTAGE REQUEST #
00779  M01S00322.sxkd2   +++|            BEGIN  # GET HLRQ AND TDAM VALUES FOR K-DISPLAY#
00780  M01S00323.sxkd2   +++|            HB$LINE[0] = KSM4;       # MOVE HEADER TO BUFFER #
00781  M01S00324.sxkd2   +++|            P<HLRQ> = LLR$UCPRA;
00782  M01S00325.sxkd2   +++|            P<TDAM> = LOC(HLR$TDAM);
00783  M01S00326.sxkd2   +++|            P<FETSET> = LLR$DSKFET[0];
00784  M01S00327.sxkd2   +++|            KP$FN = TDAMPFN;
00785  M01S00328.sxkd2   +++|            KP$UI = TDAMUI;
00786  M01S00329.sxkd2   +++|            IF HLR$HPN EQ HLRPN"STAGE"
00787  M01S00330.sxkd2   +++|            THEN
00788  M01S00331.sxkd2   +++|              BEGIN  # STAGE MESSAGE NEEDED #
00789  M01S00332.sxkd2   +++|              TEXT$WDS[0] = KSM5;
00790  M01S00333.sxkd2   +++|              KP$PU = FET$CRI[0] + HLR$PRU[0];  # STAGING DIFFERENT #
00791  M01S00334.sxkd2   +++|              KP$JN = TDAMJSN;
00792  M01S00335.sxkd2   +++|              END
00793  M01S00336.sxkd2   +++|
00794  M01S00337.sxkd2   +++|            ELSE
00795  M01S00338.sxkd2   +++|              BEGIN  # DESTAGE MESSAGE NEEDED #
00796  M01S00339.sxkd2   +++|              TEXT$WDS[0] = KSM6;
00797  M01S00340.sxkd2   +++|              KP$PU = FET$CRI[0];
00798  M01S00341.sxkd2   +++|              KP$JN = LTC$SFJBSN[DSC$LTCT];
00799  M01S00342.sxkd2   +++|              END
00800  M01S00343.sxkd2   +++|
00801  M01S00344.sxkd2   +++|            IF P<FETSET> EQ 0
00802  M01S00345.sxkd2   +++|            THEN                     # GET SAVED PRU COUNT #
00803  M01S00346.sxkd2   +++|              BEGIN  # SAVED #
00804  M01S00347.sxkd2   +++|              KP$PU = HLR$PRU[0];
00805  M01S00348.sxkd2   +++|              END  # SAVED #
00806  M01S00349.sxkd2   +++|
00807  M01S00350.sxkd2   +++|            END  # GET HLRQ AND TDAM VALUES FOR K-DISPLAY #
00808  M01S00351.sxkd2   +++|
00809  M01S00352.sxkd2   +++|          END    # DRD0 IS ACTIVE - BUILD STATUS LINE #
00810  M01S00353.sxkd2   +++|
00811  M01S00354.sxkd2   +++|        END    # DRD0 IS ON #
00812  M01S00355.sxkd2   +++|
00813  M01S00356.sxkd2   +++|      KPFILL(TEXT[0],LOC(KSM$WORD[0]));
00814  M01S00357.sxkd2   +++|      KL$LINE[LF$SMDRD0] = TEXT$WDS[0];
00815  M01S00358.sxkd2   +++|
00816  M01S00359.sxkd2   +++|#
00817  M01S00360.sxkd2   +++|*     BUILD TEXT LINE TO REFLECT STATUS OF LOWER DRD.
00818  M01S00361.sxkd2   +++|*
00819  M01S00362.sxkd2   +++|#
00820  M01S00363.sxkd2   +++|
00821  M01S00364.sxkd2   +++|      KP$DD = D1$SUN[INTSM];    # SET DRD NUMBER FOR NEXT MESSAGE #
00822  M01S00365.sxkd2   +++|      IF D1$ON$ACK[INTSM]            # DRD CHANGING STATUS #
00823  M01S00366.sxkd2   +++|        OR D1$LLADR[INTSM] EQ 0      # DRD NOT YET ACCESSED #
00824  M01S00367.sxkd2   +++|        OR NOT D1$ON[INTSM]
00825  M01S00368.sxkd2   +++|      THEN                           # DRD IS OFF OR IN MAINT MODE #
00826  M01S00369.sxkd2   +++|        BEGIN  # NOT ON #
00827  M01S00370.sxkd2   +++|        IF D1$DIAG[INTSM]            ##
00828  M01S00371.sxkd2   +++|          AND NOT D1$DAG$ACK[INTSM]
00829  M01S00372.sxkd2   +++|        THEN                         # DRD IN MAINTENANCE MODE #
00830  M01S00373.sxkd2   +++|          BEGIN  # MAINT #
00831  M01S00374.sxkd2   +++|          TEXT$WDS[0] = KSM10;
00832  M01S00375.sxkd2   +++|          END  # MAINT #
00833  M01S00376.sxkd2   +++|
00834  M01S00377.sxkd2   +++|        ELSE                         # DRD IS OFF #
00835  M01S00378.sxkd2   +++|          BEGIN  # OFF #
00836  M01S00379.sxkd2   +++|          TEXT$WDS[0] = KSM8;
00837  M01S00380.sxkd2   +++|          END  # OFF #
00838  M01S00381.sxkd2   +++|
00839  M01S00382.sxkd2   +++|        END  # NOT ON #
00840  M01S00383.sxkd2   +++|
00841  M01S00384.sxkd2   +++|      ELSE
00842  M01S00385.sxkd2   +++|        BEGIN  # DRD1 IS ON #
00843  M01S00386.sxkd2   +++|        P<LLRQ> = D1$LLADR[INTSM];
00844  M01S00387.sxkd2   +++|        IF LLR$PRCNME[0] EQ REQTYP4"INITHW"  # DRD TURNING ON #
00845  M01S00388.sxkd2   +++|          OR LLR$RQI[0] EQ REQNAME"RQIAUCP"  # ABORTED UCP #
00846  M01S00389.sxkd2   +++|          OR NOT D1$FULL[INTSM]
00847  M01S00390.sxkd2   +++|        THEN                         # DRD NOT IN USE #
00848  M01S00391.sxkd2   +++|          BEGIN  # DRD1 IS IDLE #
00849  M01S00392.sxkd2   +++|          TEXT$WDS[0] = KSM9;
00850  M01S00393.sxkd2   +++|          END
00851  M01S00394.sxkd2   +++|
00852  M01S00395.sxkd2   +++|        ELSE
00853  M01S00396.sxkd2   +++|          BEGIN  # DRD1 IS ACTIVE - BUILD STATUS LINE #
00854  M01S00397.sxkd2   +++|          IF LLR$RQI[0] NQ REQNAME"RQIINT"  # NOT STAGE OR DESTAGE #
00855  M01S00398.sxkd2   +++|          THEN
00856  M01S00399.sxkd2   +++|            BEGIN  # DRD1 PROCESSING UTILITY REQUEST #
00857  M01S00400.sxkd2   +++|            TEXT$WDS[0] = KSM7;
00858  M01S00401.sxkd2   +++|            END
00859  M01S00402.sxkd2   +++|
00860  M01S00403.sxkd2   +++|          ELSE  # DRD1 PROCESSING STAGE/DESTAGE REQUEST #
00861  M01S00404.sxkd2   +++|            BEGIN  # GET HLRQ AND TDAM VALUES FOR K-DISPLAY#
00862  M01S00405.sxkd2   +++|            HB$LINE[0] = KSM4;       # MOVE HEADER TO BUFFER #
00863  M01S00406.sxkd2   +++|            P<HLRQ> = LLR$UCPRA;
00864  M01S00407.sxkd2   +++|            P<TDAM> = LOC(HLR$TDAM);
00865  M01S00408.sxkd2   +++|            P<FETSET> = LLR$DSKFET[0];
00866  M01S00409.sxkd2   +++|            KP$FN = TDAMPFN;
00867  M01S00410.sxkd2   +++|            KP$UI = TDAMUI;
00868  M01S00411.sxkd2   +++|            IF HLR$HPN EQ HLRPN"STAGE"
00869  M01S00412.sxkd2   +++|            THEN
00870  M01S00413.sxkd2   +++|              BEGIN  # STAGE MESSAGE NEEDED #
00871  M01S00414.sxkd2   +++|              TEXT$WDS[0] = KSM5;
00872  M01S00415.sxkd2   +++|              KP$PU = FET$CRI[0] + HLR$PRU[0];  # STAGING DIFFERENT #
00873  M01S00416.sxkd2   +++|              KP$JN = TDAMJSN;
00874  M01S00417.sxkd2   +++|              END
00875  M01S00418.sxkd2   +++|
00876  M01S00419.sxkd2   +++|            ELSE
00877  M01S00420.sxkd2   +++|              BEGIN  # DESTAGE MESSAGE NEEDED #
00878  M01S00421.sxkd2   +++|              TEXT$WDS[0] = KSM6;
00879  M01S00422.sxkd2   +++|              KP$PU = FET$CRI[0];
00880  M01S00423.sxkd2   +++|              KP$JN = LTC$SFJBSN[DSC$LTCT];
00881  M01S00424.sxkd2   +++|              END
00882  M01S00425.sxkd2   +++|
00883  M01S00426.sxkd2   +++|            IF P<FETSET> EQ 0
00884  M01S00427.sxkd2   +++|            THEN                     # GET SAVED PRU COUNT #
00885  M01S00428.sxkd2   +++|              BEGIN  # SAVED #
00886  M01S00429.sxkd2   +++|              KP$PU = HLR$PRU[0];
00887  M01S00430.sxkd2   +++|              END  # SAVED #
00888  M01S00431.sxkd2   +++|
00889  M01S00432.sxkd2   +++|            END  # GET HLRQ AND TDAM VALUES FOR K-DISPLAY #
00890  M01S00433.sxkd2   +++|
00891  M01S00434.sxkd2   +++|          END    # DRD1 IS ACTIVE - BUILD STATUS LINE #
00892  M01S00435.sxkd2   +++|
00893  M01S00436.sxkd2   +++|        END    # DRD1 IS ON #
00894  M01S00437.sxkd2   +++|
00895  M01S00438.sxkd2   +++|      KPFILL(TEXT[0],LOC(KSM$WORD[0]));
00896  M01S00439.sxkd2   +++|      KL$LINE[LF$SMDRD1] = TEXT$WDS[0];
00897  M01S00440.sxkd2   +++|      KL$LINE[LF$SMINFO+4] = HB$LINE[0];  # DISPLAY BUFFER CONTENTS #
00898  M01S00441.sxkd2   +++|      RETURN;
00899  M01S00442.sxkd2   +++|
00900  M01S00443.sxkd2   +++|      END  # KDSM #
00901  M01S00444.sxkd2   +++|
00902  M01S00445.sxkd2   +++|    TERM
00903  M01S00457.sxkd    +++|PROC KFILES(REJECT);
00904  M01S00458.sxkd    +++|
00905  M01S00459.sxkd    +++|# TITLE KFILES - PROCESS *K* DISPLAY *FILES* COMMAND.                 #
00906  M01S00460.sxkd    +++|
00907  M01S00461.sxkd    +++|      BEGIN  # KFILES #
00908  M01S00462.sxkd    +++|
00909  M01S00463.sxkd    +++|#
00910  M01S00464.sxkd    +++|**    KFILES - PROCESS *K* DISPLAY *FILES* COMMAND.
00911  M01S00465.sxkd    +++|*
00912  M01S00466.sxkd    +++|*     *KFILES* PROCESSES THE OPERATOR COMMAND, *FILES,N*, WHERE
00913  M01S00467.sxkd    +++|*     *N* IS THE REQUESTED NUMBER OF LARGE STREAMING BUFFERS TO
00914  M01S00468.sxkd    +++|*     BE AUTHORIZED.
00915  M01S00469.sxkd    +++|*
00916  M01S00470.sxkd    +++|*     PROC KFILES(REJECT)
00917  M01S00471.sxkd    +++|*
00918  M01S00472.sxkd    +++|*     ENTRY     ARRAY KBINPUT (DEFINED IN *COMBKDA*) CONTAINS THE
00919  M01S00473.sxkd    +++|*               IMAGE OF THE *FILES* REQUEST.
00920  M01S00474.sxkd    +++|*
00921  M01S00475.sxkd    +++|*     EXIT      (REJECT)   - REJECT OPERATOR RESPONSE FLAG.
00922  M01S00476.sxkd    +++|*                            = TRUE, INCORRECT REPONSE OR COMMAND.
00923  M01S00477.sxkd    +++|*                            = FALSE, VALID RESPONSE OR COMMAND.
00924  M01S00478.sxkd    +++|*
00925  M01S00479.sxkd    +++|*     MESSAGES  * VALUE OF X USED ON *FILES* COMMAND.*.
00926  M01S00480.sxkd    +++|*               (DISPLAYED ON *K* DISPLAY REJECT LINE, IF THE
00927  M01S00481.sxkd    +++|*               ORDINAL SPECIFIED WAS OUT OF RANGE AND A VALUE
00928  M01S00482.sxkd    +++|*               OF *X* WAS ASSUMED.)
00929  M01S00483.sxkd    +++|#
00930  M01S00484.sxkd    +++|
00931  M01S00485.sxkd    +++|      ITEM REJECT     B;             # REJECT OPERATOR RESPONSE FLAG #
00932  M01S00486.sxkd    +++|
00933  M01S00487.sxkd    +++|#
00934  M01S00488.sxkd    +++|****  PROC KFILES - XREF LIST BEGIN.
00935  M01S00489.sxkd    +++|#
00936  M01S00490.sxkd    +++|
00937  M01S00491.sxkd    +++|      XREF
00938  M01S00492.sxkd    +++|        BEGIN
00939  M01S00493.sxkd    +++|        FUNC XCDD I;                 # CONVERT TO DECIMAL DISPLAY #
00940  M01S00494.sxkd    +++|        FUNC XDXB I;                 # CONVERT DISPLAY TO INTEGER #
00941  M01S00495.sxkd    +++|        END
00942  M01S00496.sxkd    +++|
00943  M01S00497.sxkd    +++|#
00944  M01S00498.sxkd    +++|****  PROC KFILES - XREF LIST END.
00945  M01S00499.sxkd    +++|#
00946  M01S00500.sxkd    +++|
00947  M01S00501.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMDECKS #
00948  M01S00502.sxkd    +++|*CALL COMBFAS
00949  M01S00503.sxkd    +++|*CALL COMBKDA
00950  M01S00504.sxkd    +++|*CALL COMBKDD
00951  M01S00505.sxkd    +++|*CALL COMBUDT
00952  M01S00506.sxkd    +++|*CALL COMXBST
00953  M01S00507.sxkd    +++|*CALL COMXCTF
00954  M01S00508.sxkd    +++|
00955  M01S00509.sxkd    +++|      ITEM I          U;             # INDUCTION VARIABLE #
00956  M01S00510.sxkd    +++|      ITEM ORDINAL    I;             # REQUESTED *FILES* ORDINAL #
00957  M01S00511.sxkd    +++|      ITEM STAT       I;             # CONVERSION STATUS VALUE #
00958  M01S00512.sxkd    +++|
00959  M01S00513.sxkd    +++|      ARRAY MSG [0:0] S(4);          # HOLDS INFORMATIVE MESSAGE #
00960  M01S00514.sxkd    +++|        BEGIN
00961  M01S00515.sxkd    +++|        ITEM MSG$LINE   C(00,00,40)  # FULL MESSAGE LINE #
00962  M01S00516.sxkd    +++|          = [" VALUE OF X USED ON *FILES* COMMAND."];
00963  M01S00517.sxkd    +++|        ITEM MSG$ORD    C(01,00,01);  # ORDINAL DISPLAYED #
00964  M01S00518.sxkd    +++|        END
00965  M01S00519.sxkd    +++|
00966  M01S00520.sxkd    +++|                                               CONTROL EJECT;
00967  M01S00521.sxkd    +++|
00968  M01S00522.sxkd    +++|#
00969  M01S00523.sxkd    +++|*     CHECK FOR VALID NUMERIC ORDINAL.
00970  M01S00524.sxkd    +++|#
00971  M01S00525.sxkd    +++|
00972  M01S00526.sxkd    +++|      REJECT = FALSE;
00973  M01S00527.sxkd    +++|      STAT = XDXB(KB$FILEORD[0],1,ORDINAL);
00974  M01S00528.sxkd    +++|      IF STAT NQ 0
00975  M01S00529.sxkd    +++|      THEN
00976  M01S00530.sxkd    +++|        BEGIN
00977  M01S00531.sxkd    +++|        REJECT = TRUE;
00978  M01S00532.sxkd    +++|        RETURN;
00979  M01S00533.sxkd    +++|        END
00980  M01S00534.sxkd    +++|
00981  M01S00535.sxkd    +++|#
00982  M01S00536.sxkd    +++|*     CHECK FOR AN OUT OF RANGE ORDINAL.  IF THE SPECIFIED ORDINAL
00983  M01S00537.sxkd    +++|*     IS LESS THAN 1, ASSUME 1.  IF IT IS GREATER THAN THE NUMBER
00984  M01S00538.sxkd    +++|*     OF *MASSTOR CONTROLLERS* TIMES CHANNELS ON EACH CONTROLLER,
00985  M01S00539.sxkd    +++|*     A VALUE OF *MAX$ACHN* IS USED.
00986  M01S00540.sxkd    +++|#
00987  M01S00541.sxkd    +++|
00988  M01S00542.sxkd    +++|      IF ORDINAL LS 1
00989  M01S00543.sxkd    +++|      THEN                           # USE MINIMUM VALUE #
00990  M01S00544.sxkd    +++|        BEGIN
00991  M01S00545.sxkd    +++|        ORDINAL = 1;
00992  M01S00546.sxkd    +++|        MSG$ORD[0] = "1";
00993  M01S00547.sxkd    +++|        KL$LINE[LF$KBREJ] = MSG$LINE[0];  # INFORMATIVE MESSAGE #
00994  M01S00548.sxkd    +++|        END
00995  M01S00549.sxkd    +++|
00996  M01S00550.sxkd    +++|      IF ORDINAL GR MAX$ACHN
00997  M01S00551.sxkd    +++|      THEN                           # USE MAXIMUM VALUE #
00998  M01S00552.sxkd    +++|        BEGIN
00999  M01S00553.sxkd    +++|        ORDINAL = MAX$ACHN;
01000  M01S00554.sxkd    +++|        MSG$ORD[0] = XCDD(MAX$ACHN);
01001  M01S00555.sxkd    +++|        KL$LINE[LF$KBREJ] = MSG$LINE[0];  # INFORMATIVE MESSAGE #
01002  M01S00556.sxkd    +++|        END
01003  M01S00557.sxkd    +++|
01004  M01S00558.sxkd    +++|#
01005  M01S00559.sxkd    +++|*     CHANGE THE NUMBER OF AUTHORIZED BUFFERS, AS REQUIRED, SO THAT
01006  M01S00560.sxkd    +++|*     *ORDINAL* BUFFERS ARE NOW AUTHORIZED.
01007  M01S00561.sxkd    +++|#
01008  M01S00562.sxkd    +++|
01009  M01S00563.sxkd    +++|      FASTFOR I = 1 STEP 1 UNTIL BSTL
01010  M01S00564.sxkd    +++|      DO
01011  M01S00565.sxkd    +++|        BEGIN
01012  M01S00566.sxkd    +++|        BST$AUTH[I] = I LQ ORDINAL;
01013  M01S00567.sxkd    +++|        END
01014  M01S00568.sxkd    +++|
01015  M01S00569.sxkd    +++|      END  # KFILES #
01016  M01S00570.sxkd    +++|
01017  M01S00571.sxkd    +++|    TERM
01018  M01S00572.sxkd    +++|PROC KINIT;
01019  M01S00573.sxkd    +++|
01020  M01S00574.sxkd    +++|# TITLE KINIT - *K* DISPLAY INITIALIZATION.                           #
01021  M01S00575.sxkd    +++|
01022  M01S00576.sxkd    +++|      BEGIN  # KINIT #
01023  M01S00577.sxkd    +++|
01024  M01S00578.sxkd    +++|#
01025  M01S00579.sxkd    +++|**    KINIT - *K* DISPLAY INTIALIZATION.
01026  M01S00580.sxkd    +++|*
01027  M01S00581.sxkd    +++|*     *KINIT* ISSUES THE *CONSOLE* MACRO TO ACTIVATE THE
01028  M01S00582.sxkd    +++|*     *K* DISPLAY AND INITIALIZES THE *K* DISPLAY BUFFERS.
01029  M01S00583.sxkd    +++|*
01030  M01S00584.sxkd    +++|*     PROC KINIT.
01031  M01S00585.sxkd    +++|*
01032  M01S00586.sxkd    +++|*     EXIT      THE *CONSOLE* MACRO IS ISSUED.
01033  M01S00587.sxkd    +++|*               THE TITLE IS PLACED IN THE LEFT SCREEN BUFFER.
01034  M01S00588.sxkd    +++|*               THE *B* DISPLAY LINE 2 IS CLEARED.
01035  M01S00589.sxkd    +++|*
01036  M01S00590.sxkd    +++|*     MESSAGES  * REQUEST *K* DISPLAY *  (FROM *CONSOLE* MACRO).
01037  M01S00591.sxkd    +++|*
01038  M01S00592.sxkd    +++|*     NOTES     CLEARS LINE 2 OF THE *B* DISPLAY AFTER ISSUING
01039  M01S00593.sxkd    +++|*               THE *CONSOLE* MACRO TO ERASE THE "REQUEST *K* DISPLAY"
01040  M01S00594.sxkd    +++|*               MESSAGE.  THE *KPROC* AND *KREQ* ROUTINES ISSUE THE
01041  M01S00595.sxkd    +++|*               REQUEST-K MESSAGE AS NEEDED.
01042  M01S00596.sxkd    +++|#
01043  M01S00597.sxkd    +++|
01044  M01S00598.sxkd    +++|#
01045  M01S00599.sxkd    +++|****  PROC KINIT - XREF LIST BEGIN.
01046  M01S00600.sxkd    +++|#
01047  M01S00601.sxkd    +++|
01048  M01S00602.sxkd    +++|      XREF
01049  M01S00603.sxkd    +++|        BEGIN
01050  M01S00604.sxkd    +++|        PROC CONSOLE;                # ISSUE *CONSOLE* MACRO #
01051  M01S00605.sxkd    +++|        PROC MESSAGE;                # ISSUE *MESSAGE* MACRO #
01052  M01S00606.sxkd    +++|        END
01053  M01S00607.sxkd    +++|
01054  M01S00608.sxkd    +++|#
01055  M01S00609.sxkd    +++|****  PROC KINIT - XREF LIST END.
01056  M01S00610.sxkd    +++|#
01057  M01S00611.sxkd    +++|
01058  M01S00612.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
01059  M01S00613.sxkd    +++|*CALL COMBFAS
01060  M01S00614.sxkd    +++|*CALL COMBKDA
01061  M01S00615.sxkd    +++|*CALL COMBKDD
01062  M01S00616.sxkd    +++|
Line S00617 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01063  M02S00617.sxkd2   ---|
Line S00618 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01064  M02S00618.sxkd2   ---|      ITEM I         I;              # LOOP INDEX #
01065  M01S00619.sxkd    +++|#
01066  M01S00620.sxkd    +++|*     CONSOLE MACRO PARAMETER ARRAY.
01067  M01S00621.sxkd    +++|#
01068  M01S00622.sxkd    +++|
01069  M01S00623.sxkd    +++|      ARRAY CPARAM [0:0] S(1);       # CONSOLE PARAMETER #
01070  M01S00624.sxkd    +++|        BEGIN
01071  M01S00625.sxkd    +++|        ITEM CP$KBADDR  U(00,00,24);  # KEYBOARD ADDRESS #
01072  M01S00626.sxkd    +++|        ITEM CP$KLADDR  U(00,42,18);  # LEFT SCREEN ADDRESS #
01073  M01S00627.sxkd    +++|        END
01074  M01S00628.sxkd    +++|
01075  M01S00629.sxkd    +++|                                               CONTROL EJECT;
01076  M01S00630.sxkd    +++|
01077  M01S00631.sxkd    +++|#
01078  M01S00632.sxkd    +++|*     SET UP AND ISSUE THE CONSOLE MACRO.
01079  M01S00633.sxkd    +++|#
01080  M01S00634.sxkd    +++|
01081  M01S00635.sxkd    +++|      CP$KBADDR[0] = LOC(KBINPUT[0]);
01082  M01S00636.sxkd    +++|      CP$KLADDR[0] = LOC(KLEFTSCRN[0]);
01083  M01S00637.sxkd    +++|      CONSOLE(CPARAM[0]);
01084  M01S00638.sxkd    +++|
01085  M01S00639.sxkd    +++|#
01086  M01S00640.sxkd    +++|*     CLEAR REQUEST-K MESSAGE ON *B* DISPLAY.
01087  M01S00641.sxkd    +++|#
01088  M01S00642.sxkd    +++|
01089  M01S00643.sxkd    +++|      MESSAGE(BZEROES,LINE2);
01090  M01S00644.sxkd    +++|      KL$COMP[0] = FALSE;
01091  M01S00645.sxkd    +++|      KREQCLEAR = TRUE;
01092  M01S00646.sxkd    +++|
01093  M01S00647.sxkd    +++|#
01094  M01S00648.sxkd    +++|*     SET UP TITLE LINE IN LEFT SCREEN BUFFER.
01095  M01S00649.sxkd    +++|#
01096  M01S00650.sxkd    +++|
01097  M01S00651.sxkd    +++|      KL$LINE[LF$TITLE] = TITLELINE;
Line S00652 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01098  M02S00652.sxkd2   ---|      KL$LINE[LF$TITLE+1] = DISPSIT;
01099  M01S00446.sxkd2   +++|      KL$LINE[LF$TITLEDIS] = DISPSIT;
01100  M01S00653.sxkd    +++|
01101  M01S00654.sxkd    +++|#
01102  M01S00655.sxkd    +++|*     SET UP *VALID COMMANDS* MENU IN LEFT SCREEN BUFFER.
01103  M01S00656.sxkd    +++|#
01104  M01S00657.sxkd    +++|      KL$LINE[LF$VALCMD] = VALIDCMD;
01105  M01S00658.sxkd    +++|      KL$LINE[LF$VALCMD+1] = KXGOLINE;
01106  M01S00659.sxkd    +++|      KL$LINE[LF$VALCMD+2] = STDSLINE;
Line S00660 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01107  M02S00660.sxkd2   ---|
Line S00661 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01108  M02S00661.sxkd2   ---|
01109  M01S00447.sxkd2   +++|
01110  M01S00448.sxkd2   +++|      KL$LINE[LF$VALCMD+3] = SMLINE;
01111  M01S00449.sxkd2   +++|      KL$LINE[LF$VALCMD+4] = STLINE;
01112  M01S00450.sxkd2   +++|      KL$LINE[LF$VALCMD+5] = DSLINE;
01113  M01S00451.sxkd2   +++|
01114  M01S00452.sxkd2   +++|      KSMDISP = FALSE;      # *SM* DISPLAY NOT ON LEFT SCREEN #
01115  M01S00453.sxkd2   +++|      KSMID = "A";                   # PRESET DEFAULT FOR SM DISPLAY #
01116  M01S00662.sxkd    +++|      END  # KINIT #
01117  M01S00663.sxkd    +++|
01118  M01S00664.sxkd    +++|    TERM
01119  M01S00665.sxkd    +++|PROC KINPUT;
01120  M01S00666.sxkd    +++|
01121  M01S00667.sxkd    +++|# TITLE KINPUT - KEYBOARD INPUT.                                      #
01122  M01S00668.sxkd    +++|
01123  M01S00669.sxkd    +++|      BEGIN  # KINPUT #
01124  M01S00670.sxkd    +++|
01125  M01S00671.sxkd    +++|#
01126  M01S00672.sxkd    +++|**    KINPUT - KEYBOARD INPUT.
01127  M01S00673.sxkd    +++|*
01128  M01S00674.sxkd    +++|*     *KINPUT* PROCESSES THE OPERATOR RESPONSES OR COMMANDS.
01129  M01S00675.sxkd    +++|*
01130  M01S00676.sxkd    +++|*     PROC KINPUT.
01131  M01S00677.sxkd    +++|*
01132  M01S00678.sxkd    +++|*     ENTRY     ARRAY KBINPUT - KEYBOARD BUFFER.
01133  M01S00679.sxkd    +++|*
01134  M01S00680.sxkd    +++|*     EXIT      FOR A VALID OPERATOR RESPONSE -
01135  M01S00681.sxkd    +++|*                  THE *KWORD* REQUEST (IF IT IS STILL AVAILABLE)
01136  M01S00682.sxkd    +++|*                  IS COMPLETED AND DELINKED.
01137  M01S00683.sxkd    +++|*                  THE LEFT SCREEN AREA FOR THE RESPONSE IS CLEARED.
01138  M01S00684.sxkd    +++|*
01139  M01S00685.sxkd    +++|*               FOR A VALID OPERATOR COMMAND -
01140  M01S00686.sxkd    +++|*                  THE DEFINED PROCESSING IS DONE.
01141  M01S00687.sxkd    +++|*
01142  M01S00688.sxkd    +++|*               FOR AN INCORRECT OPERATOR TYPE-IN  -
01143  M01S00689.sxkd    +++|*                  THE TYPE-IN IS DISPLAYED IN THE ECHO LINE OF THE
01144  M01S00690.sxkd    +++|*                  LEFT SCREEN.
01145  M01S00691.sxkd    +++|*                  THE *** REJECT *** IS DISPLAYED IN THE REJECT LINE.
01146  M01S00692.sxkd    +++|*
01147  M01S00693.sxkd    +++|*               ARRAY KBINPUT - KEYBOARD BUFFER CLEARED.
01148  M01S00694.sxkd    +++|*
01149  M01S00695.sxkd    +++|*     NOTES     RESPONSES ARE IN THE FORM - N.WORD
01150  M01S00696.sxkd    +++|*                 WHERE N IS AN ORDINAL ON THE LEFT SCREEN,
01151  M01S00697.sxkd    +++|*                 AND WORD IS *GO* OR *DROP*.
01152  M01S00698.sxkd    +++|*
01153  M01S00699.sxkd    +++|*               COMMANDS ARE -  *FILES,NN*.
01154  M01S00700.sxkd    +++|*
01155  M01S00701.sxkd    +++|*               A BLANK IS ACCEPTED AND CLEARS ANY OUTSTANDING
01156  M01S00702.sxkd    +++|*               REJECT MESSAGE.
01157  M01S00703.sxkd    +++|#
01158  M01S00704.sxkd    +++|
01159  M01S00705.sxkd    +++|#
01160  M01S00706.sxkd    +++|****  PROC KINPUT - XREF LIST BEGIN.
01161  M01S00707.sxkd    +++|#
01162  M01S00708.sxkd    +++|
01163  M01S00709.sxkd    +++|      XREF
01164  M01S00710.sxkd    +++|        BEGIN
01165  M01S00711.sxkd    +++|        PROC ADD$LNK;                # ADD ENTRY TO LINK #
01166  M01S00712.sxkd    +++|        PROC DEL$LNK;                # DELETE ENTRY FROM LINK #
01167  M01S00713.sxkd    +++|        PROC KCLR;                   # CLEAR CURRENT REQUEST #
01168  M01S00714.sxkd    +++|        PROC KFILES;                 # PROCESS *FILES* COMMAND #
01169  M01S00715.sxkd    +++|        PROC KREQ;                   # *K* DISPLAY REQUEST #
01170  M01S00454.sxkd2   +++|        PROC KSM;                    # PROCESS *SMI* COMMAND #
01171  M01S00716.sxkd    +++|        FUNC XDXB I;                 # CONVERT DISPLAY CODE TO INTEGER
01172  M01S00717.sxkd    +++|                                     #
01173  M01S00718.sxkd    +++|        PROC ZFILL;                  # ZERO FILL BUFFER #
01174  M01S00719.sxkd    +++|        END
01175  M01S00720.sxkd    +++|
01176  M01S00721.sxkd    +++|#
01177  M01S00722.sxkd    +++|****  PROC KINPUT - XREF LIST END.
01178  M01S00723.sxkd    +++|#
01179  M01S00724.sxkd    +++|
01180  M01S00725.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
01181  M01S00726.sxkd    +++|*CALL COMBFAS
01182  M01S00727.sxkd    +++|*CALL COMBCHN
01183  M01S00728.sxkd    +++|*CALL COMBKDA
01184  M01S00729.sxkd    +++|*CALL COMBKDD
01185  M01S00730.sxkd    +++|*CALL COMBTDM
01186  M01S00731.sxkd    +++|*CALL COMXCTF
01187  M01S00732.sxkd    +++|
01188  M01S00733.sxkd    +++|      ITEM CH         I;             # CHARACTER INDEX #
01189  M01S00734.sxkd    +++|      ITEM CHAR       C(1);          # CHARACTER #
01190  M01S00735.sxkd    +++|      ITEM COMMAND    C(10);         # OPERATOR COMMAND #
01191  M01S00736.sxkd    +++|      ITEM I          I;             # TEMPORARY CELL #
01192  M01S00737.sxkd    +++|        ITEM LINK         U;         # ADDRESS OF NEW CHAIN ENTRY #
01193  M01S00738.sxkd    +++|      ITEM ORD        I;             # ORDINAL #
01194  M01S00739.sxkd    +++|      ITEM REJECT     B;             # REJECT RESPONSE FLAG #
01195  M01S00740.sxkd    +++|        ITEM RTDADR       U;          # *RTRQ* ADDRESS #
01196  M01S00741.sxkd    +++|
01197  M01S00742.sxkd    +++|                                               CONTROL EJECT;
01198  M01S00743.sxkd    +++|
01199  M01S00744.sxkd    +++|      KL$LINE[LF$KBREJ] = " ";       # CLEAR REJECT LINE #
Line S00745 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01200  M02S00745.sxkd2   ---|
Line S00746 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01201  M02S00746.sxkd2   ---|      KL$SUBL1[LF$KBECHO] = KB$SCAN[0];  # SET ECHO LINE #
01202  M01S00455.sxkd2   +++|      KL$LINE[LF$KBECHO] = " ";      # CLEAR ECHO LINE #
01203  M01S00747.sxkd    +++|
01204  M01S00748.sxkd    +++|#
01205  M01S00749.sxkd    +++|*     CRACK THE KEYBOARD INPUT.  DETERMINE IF INPUT IS -
01206  M01S00750.sxkd    +++|*       . AN OPERATOR RESPONSE - N.COMMAND.
01207  M01S00751.sxkd    +++|*       . AN OPERATOR COMMAND  - COMMAND,PARAMETER.
01208  M01S00752.sxkd    +++|#
01209  M01S00753.sxkd    +++|
01210  M01S00754.sxkd    +++|      REJECT = FALSE;                # INITIALIZE #
01211  M01S00755.sxkd    +++|      COMMAND = "   ";
01212  M01S00756.sxkd    +++|      CH = 0;
01213  M01S00757.sxkd    +++|
01214  M01S00758.sxkd    +++|      CHAR = C<0,1>KB$SCAN[0];       # GET FIRST CHARACTER #
01215  M01S00759.sxkd    +++|      I = XDXB(CHAR,0,ORD);
01216  M01S00760.sxkd    +++|      IF I EQ 0 AND ORD GQ 1 AND ORD LQ 9
01217  M01S00761.sxkd    +++|      THEN                           # ORDINAL #
01218  M01S00762.sxkd    +++|        BEGIN  # CHECK ORDINAL #
01219  M01S00763.sxkd    +++|        IF C<1,1>KB$SCAN[0] NQ "."
01220  M01S00764.sxkd    +++|        THEN                         # NO PERIOD FOLLOWS #
01221  M01S00765.sxkd    +++|          BEGIN
01222  M01S00766.sxkd    +++|          ORD = 0;                   # REJECT THE ORDINAL #
01223  M01S00767.sxkd    +++|          END
01224  M01S00768.sxkd    +++|
01225  M01S00769.sxkd    +++|        IF ORD GR KORD
01226  M01S00770.sxkd    +++|        THEN                         # INCORRECT ORDINAL #
01227  M01S00771.sxkd    +++|          BEGIN
01228  M01S00772.sxkd    +++|          ORD = 0;                   # REJECT THE ORDINAL #
01229  M01S00773.sxkd    +++|          END
01230  M01S00774.sxkd    +++|
01231  M01S00775.sxkd    +++|        END  # CHECK ORDINAL #
01232  M01S00776.sxkd    +++|
01233  M01S00777.sxkd    +++|      IF ORD NQ 0
01234  M01S00778.sxkd    +++|      THEN                           # ORDINAL DETECTED AND GOOD #
01235  M01S00779.sxkd    +++|        BEGIN
01236  M01S00780.sxkd    +++|        CH = 2;                      # ADVANCE SCAN PAST ORDINAL #
01237  M01S00781.sxkd    +++|        END
01238  M01S00782.sxkd    +++|
01239  M01S00783.sxkd    +++|#
01240  M01S00784.sxkd    +++|*     GET COMMAND ( MAXIMUM OF 10 CHARACTERS ).
01241  M01S00785.sxkd    +++|*     SCAN TO FIRST NON-ALPHANUMERIC.
01242  M01S00786.sxkd    +++|#
01243  M01S00787.sxkd    +++|
Line S00788 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01244  M02S00788.sxkd2   ---|      SLOWFOR I = 0 STEP 1 WHILE I LQ 9  ##
01245  M01S00456.sxkd2   +++|      C<0,1>COMMAND = C<CH,1>KB$SCAN[0];  # PRESET WITH FIRST CHAR #
01246  M01S00457.sxkd2   +++|      SLOWFOR I = 1 STEP 1 WHILE I LQ 9  ##
01247  M01S00458.sxkd2   +++|        AND C<I+CH,1>KB$SCAN[0] GQ "A"  # VALID CHARACTER FOUND #
01248  M01S00789.sxkd    +++|        AND C<I+CH,1>KB$SCAN[0] LQ "9"
01249  M01S00790.sxkd    +++|      DO
01250  M01S00791.sxkd    +++|        BEGIN
01251  M01S00792.sxkd    +++|        C<I,1>COMMAND = C<I+CH,1>KB$SCAN[0];
01252  M01S00793.sxkd    +++|        END
01253  M01S00794.sxkd    +++|
01254  M01S00795.sxkd    +++|#
01255  M01S00796.sxkd    +++|*     PROCESS THE OPERATOR RESPONSE.
01256  M01S00797.sxkd    +++|#
01257  M01S00798.sxkd    +++|
01258  M01S00799.sxkd    +++|      IF ORD NQ 0
01259  M01S00800.sxkd    +++|      THEN                           # FORM IS N.COMMAND #
01260  M01S00801.sxkd    +++|        BEGIN  # PROCESS OPERATOR RESPONSE #
01261  M01S00802.sxkd    +++|
01262  M01S00803.sxkd    +++|#
01263  M01S00804.sxkd    +++|*     GET *KCURRENT* FOR THE ORDINAL.
01264  M01S00805.sxkd    +++|#
01265  M01S00806.sxkd    +++|
01266  M01S00807.sxkd    +++|        P<KWORD> = LOC(KCUR$WD[ORD]);  # *KCURRENT* ENTRY #
01267  M01S00808.sxkd    +++|        IF KCUR$WD[ORD] EQ 0
01268  M01S00809.sxkd    +++|        THEN                         # NO REQUEST ACTIVE #
01269  M01S00810.sxkd    +++|          BEGIN
01270  M01S00811.sxkd    +++|          REJECT = TRUE;             # REJECT RESPONSE #
01271  M01S00812.sxkd    +++|          END
01272  M01S00813.sxkd    +++|
01273  M01S00814.sxkd    +++|        IF KCUR$ADDR[ORD] NQ 0
01274  M01S00815.sxkd    +++|        THEN                         # PLACE REPLY IN *KWORD* OF THE
01275  M01S00816.sxkd    +++|                                       CALLER #
01276  M01S00817.sxkd    +++|          BEGIN
01277  M01S00818.sxkd    +++|          P<KWORD> = KCUR$ADDR[ORD];  # *KWORD* REQUEST #
01278  M01S00819.sxkd    +++|          END
01279  M01S00820.sxkd    +++|
01280  M01S00821.sxkd    +++|#
01281  M01S00822.sxkd    +++|*     COMMAND IS "GO" AND GO IS VALID.
01282  M01S00823.sxkd    +++|#
01283  M01S00824.sxkd    +++|
01284  M01S00825.sxkd    +++|        IF COMMAND EQ "GO" AND KW$RPGO[0]
01285  M01S00826.sxkd    +++|        THEN
01286  M01S00827.sxkd    +++|          BEGIN
01287  M01S00828.sxkd    +++|          KW$OPGO[0] = TRUE;
01288  M01S00829.sxkd    +++|          END
01289  M01S00830.sxkd    +++|
01290  M01S00831.sxkd    +++|#
01291  M01S00832.sxkd    +++|*     COMMAND IS "DROP" AND DROP IS VALID.
01292  M01S00833.sxkd    +++|#
01293  M01S00834.sxkd    +++|
01294  M01S00835.sxkd    +++|        IF COMMAND EQ "DROP" AND KW$RPDROP[0]
01295  M01S00836.sxkd    +++|        THEN
01296  M01S00837.sxkd    +++|          BEGIN
01297  M01S00838.sxkd    +++|          KW$OPDROP[0] = TRUE;
01298  M01S00839.sxkd    +++|          END
01299  M01S00840.sxkd    +++|
01300  M01S00841.sxkd    +++|#
01301  M01S00842.sxkd    +++|*     IF NO VALID RESPONSE, REJECT IT.
01302  M01S00843.sxkd    +++|#
01303  M01S00844.sxkd    +++|
01304  M01S00845.sxkd    +++|        IF KW$OP[0] EQ 0
01305  M01S00846.sxkd    +++|        THEN
01306  M01S00847.sxkd    +++|          BEGIN
01307  M01S00848.sxkd    +++|          REJECT = TRUE;             # REJECT #
01308  M01S00849.sxkd    +++|          END
01309  M01S00850.sxkd    +++|
01310  M01S00851.sxkd    +++|#
01311  M01S00852.sxkd    +++|*     IF RESPONSE WAS VALID, CLEAR THE MESSAGES FOR THAT ORDINAL
01312  M01S00853.sxkd    +++|*     FROM THE LEFT SCREEN BUFFER AND DELINK THE REQUEST.
01313  M01S00854.sxkd    +++|#
01314  M01S00855.sxkd    +++|
01315  M01S00856.sxkd    +++|        IF NOT REJECT
01316  M01S00857.sxkd    +++|        THEN
01317  M01S00858.sxkd    +++|          BEGIN
01318  M01S00859.sxkd    +++|          KCLR(ORD);                 # CLEAR FROM DISPLAY #
01319  M01S00860.sxkd    +++|
01320  M01S00861.sxkd    +++|          KREQ(P<KWORD>,KDELINK);    # DELINK FROM QUEUE #
01321  M01S00862.sxkd    +++|          END
01322  M01S00863.sxkd    +++|
01323  M01S00864.sxkd    +++|        END  # PROCESS OPERATOR RESPONSE #
01324  M01S00865.sxkd    +++|
01325  M01S00866.sxkd    +++|#
01326  M01S00867.sxkd    +++|*     PROCESS THE OPERATOR COMMAND.
01327  M01S00868.sxkd    +++|#
01328  M01S00869.sxkd    +++|
01329  M01S00870.sxkd    +++|      ELSE
01330  M01S00871.sxkd    +++|        BEGIN  # PROCESS OPERATOR COMMAND #
01331  M01S00872.sxkd    +++|
01332  M01S00873.sxkd    +++|        REJECT = TRUE;               # ASSUME WRONG #
01333  M01S00874.sxkd    +++|
01334  M01S00875.sxkd    +++|#
01335  M01S00876.sxkd    +++|*     COMMAND IS "FILES".
01336  M01S00877.sxkd    +++|#
01337  M01S00878.sxkd    +++|
01338  M01S00879.sxkd    +++|        IF COMMAND EQ "FILES"
01339  M01S00880.sxkd    +++|        THEN
01340  M01S00881.sxkd    +++|          BEGIN
01341  M01S00882.sxkd    +++|          KFILES(REJECT);
01342  M01S00883.sxkd    +++|          END
01343  M01S00459.sxkd2   +++|#
01344  M01S00460.sxkd2   +++|*     COMMAND IS "SMI" OR
01345  M01S00461.sxkd2   +++|*                "SMI,DRD=ST=N "  OR
01346  M01S00462.sxkd2   +++|*                "SMI,DRD=DS=N"
01347  M01S00463.sxkd2   +++|#
01348  M01S00464.sxkd2   +++|
01349  M01S00465.sxkd2   +++|        IF C<0,2>COMMAND EQ "SM"
01350  M01S00466.sxkd2   +++|        THEN
01351  M01S00467.sxkd2   +++|          BEGIN  # PROCESS *SMI* COMMAND #
01352  M01S00468.sxkd2   +++|          KSM(REJECT);
01353  M01S00469.sxkd2   +++|          END
01354  M01S00470.sxkd2   +++|
01355  M01S00884.sxkd    +++|#
01356  M01S00885.sxkd    +++|*     COMMAND IS *STAGE* OR *DESTAGE*.
01357  M01S00886.sxkd    +++|*     TOGGLE DISPLAY AND SET FLAGS.
01358  M01S00887.sxkd    +++|#
01359  M01S00888.sxkd    +++|
01360  M01S00889.sxkd    +++|      P<DISPOS> = LOC(KL$LINE[LF$TITLE + 1]);
01361  M01S00890.sxkd    +++|      IF COMMAND EQ "STAGE"
01362  M01S00891.sxkd    +++|      THEN
01363  M01S00892.sxkd    +++|        BEGIN
01364  M01S00893.sxkd    +++|        IF GLBSTFL
01365  M01S00894.sxkd    +++|        THEN
01366  M01S00895.sxkd    +++|          BEGIN
01367  M01S00896.sxkd    +++|          GLBSTFL = FALSE;
01368  M01S00897.sxkd    +++|          DISPOS$ST[0] = "CLOSE";
01369  M01S00898.sxkd    +++|          LINK = CHN$BOC[LCHN"RTD$ACT"];
01370  M01S00899.sxkd    +++|            REPEAT WHILE LINK NQ 0
01371  M01S00900.sxkd    +++|            DO
01372  M01S00901.sxkd    +++|              BEGIN     # SEARCH *RTRQ* CHAIN #
01373  M01S00902.sxkd    +++|              P<TDAM> = LINK + 1;
01374  M01S00903.sxkd    +++|              RTDADR = LINK;
01375  M01S00904.sxkd    +++|              P<LINKWRD> = LINK;
01376  M01S00905.sxkd    +++|              LINK = LINK$ADR[0];
01377  M01S00906.sxkd    +++|
01378  M01S00907.sxkd    +++|              IF TDAMFC[0] EQ TDAMFCODE"STAGE"
01379  M01S00908.sxkd    +++|              THEN
01380  M01S00909.sxkd    +++|                BEGIN      # REMOVE STAGE *RTRQ* ENTRY #
01381  M01S00910.sxkd    +++|                DEL$LNK(RTDADR,LCHN"RTD$ACT",0);
01382  M01S00911.sxkd    +++|                ZFILL(TDAM,TDAMLEN);
01383  M01S00912.sxkd    +++|                ADD$LNK(RTDADR,LCHN"RTD$FRSPC",0);
01384  M01S00913.sxkd    +++|                END
01385  M01S00914.sxkd    +++|              END       # SEARCH *RTRQ* CHAIN #
01386  M01S00915.sxkd    +++|          RTRQ$CT = 0;
01387  M01S00916.sxkd    +++|          END
01388  M01S00917.sxkd    +++|
01389  M01S00918.sxkd    +++|        ELSE
01390  M01S00919.sxkd    +++|
01391  M01S00920.sxkd    +++|          BEGIN
01392  M01S00921.sxkd    +++|          GLBSTFL = TRUE;
01393  M01S00922.sxkd    +++|          DISPOS$ST[0] = " OPEN";
01394  M01S00923.sxkd    +++|          END
01395  M01S00924.sxkd    +++|
01396  M01S00925.sxkd    +++|        REJECT = FALSE;
01397  M01S00926.sxkd    +++|        END
01398  M01S00927.sxkd    +++|
01399  M01S00928.sxkd    +++|      IF COMMAND EQ "DESTAGE"
01400  M01S00929.sxkd    +++|      THEN
01401  M01S00930.sxkd    +++|        BEGIN
01402  M01S00931.sxkd    +++|        IF GLBDSFL
01403  M01S00932.sxkd    +++|        THEN
01404  M01S00933.sxkd    +++|          BEGIN
01405  M01S00934.sxkd    +++|          GLBDSFL = FALSE;
01406  M01S00935.sxkd    +++|          DISPOS$DT[0] = "CLOSE";
01407  M01S00936.sxkd    +++|          END
01408  M01S00937.sxkd    +++|
01409  M01S00938.sxkd    +++|        ELSE
01410  M01S00939.sxkd    +++|
01411  M01S00940.sxkd    +++|          BEGIN
01412  M01S00941.sxkd    +++|          GLBDSFL = TRUE;
01413  M01S00942.sxkd    +++|          DISPOS$DT[0] = " OPEN";
01414  M01S00943.sxkd    +++|          END
01415  M01S00944.sxkd    +++|
01416  M01S00945.sxkd    +++|        REJECT = FALSE;
01417  M01S00946.sxkd    +++|        END
01418  M01S00947.sxkd    +++|
01419  M01S00948.sxkd    +++|#
01420  M01S00949.sxkd    +++|*     COMMAND IS BLANKS.  ALLOWED TO CLEAR THE REJECT LINE (CLEAN UP).
01421  M01S00950.sxkd    +++|#
01422  M01S00951.sxkd    +++|
01423  M01S00952.sxkd    +++|        IF COMMAND EQ "          "
01424  M01S00953.sxkd    +++|        THEN                         # CLEAR #
01425  M01S00954.sxkd    +++|          BEGIN
01426  M01S00955.sxkd    +++|          REJECT = FALSE;
01427  M01S00956.sxkd    +++|          END
01428  M01S00957.sxkd    +++|
01429  M01S00958.sxkd    +++|        END  # PROCESS OPERATOR COMMAND #
01430  M01S00959.sxkd    +++|
Line S00960 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01431  M02S00960.sxkd2   ---|      KB$SCAN[0] = " ";              # CLEAR KEYBOARD INPUT #
Line S00961 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01432  M02S00961.sxkd2   ---|      KB$CLEAR[0] = 0;
01433  M01S00962.sxkd    +++|
01434  M01S00963.sxkd    +++|#
01435  M01S00964.sxkd    +++|*     IF RESPONSE WAS INCORRECT, ISSUE REJECT LINE.
01436  M01S00965.sxkd    +++|#
01437  M01S00966.sxkd    +++|
01438  M01S00967.sxkd    +++|      IF REJECT
01439  M01S00968.sxkd    +++|      THEN                           # ISSUE REJECT #
01440  M01S00969.sxkd    +++|        BEGIN
01441  M01S00970.sxkd    +++|        KL$SUBL1[LF$KBREJ] = "*** REJECT ***";
Line S00971 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01442  M02S00971.sxkd2   ---|        RETURN;
01443  M01S00471.sxkd2   +++|        KL$SUBL1[LF$KBECHO] = KB$SCAN[0];  # ISSUE ECHO #
01444  M01S00972.sxkd    +++|        END
01445  M01S00973.sxkd    +++|
Line S00974 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01446  M02S00974.sxkd2   ---|#
Line S00975 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01447  M02S00975.sxkd2   ---|*     RESPONSE WAS GOOD, CLEAR ECHO.
Line S00976 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01448  M02S00976.sxkd2   ---|#
Line S00977 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01449  M02S00977.sxkd2   ---|
Line S00978 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01450  M02S00978.sxkd2   ---|      KL$LINE[LF$KBECHO] = " ";      # CLEAR ECHO #
Line S00979 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01451  M02S00979.sxkd2   ---|
01452  M01S00472.sxkd2   +++|      KB$SCAN[0] = " ";              # CLEAR KEYBOARD INPUT #
01453  M01S00473.sxkd2   +++|      KB$CLEAR[0] = 0;
01454  M01S00980.sxkd    +++|      RETURN;
01455  M01S00981.sxkd    +++|      END  # KINPUT #
01456  M01S00982.sxkd    +++|
01457  M01S00983.sxkd    +++|    TERM
01458  M01S00984.sxkd    +++|PROC KPFILL(TEXT,(PADDR));
01459  M01S00985.sxkd    +++|
01460  M01S00986.sxkd    +++|# TITLE KPFILL - *K* PARAMETER FILL ROUTINE.                          #
01461  M01S00987.sxkd    +++|
01462  M01S00988.sxkd    +++|      BEGIN  # KPFILL #
01463  M01S00989.sxkd    +++|
01464  M01S00990.sxkd    +++|#
01465  M01S00991.sxkd    +++|**    KPFILL - PARAMETER FILL ROUTINE.
01466  M01S00992.sxkd    +++|*
01467  M01S00993.sxkd    +++|*     *KPFILL* INSERTS DEFINED PARAMETERS INTO THE *K* DISPLAY TEXT.
01468  M01S00994.sxkd    +++|*
01469  M01S00995.sxkd    +++|*     PROC KPFILL(TEXT,(PADDR))
01470  M01S00996.sxkd    +++|*
01471  M01S00997.sxkd    +++|*     ENTRY     (TEXT)  - THE *K* DISPLAY TEXT TO SCAN.
01472  M01S00998.sxkd    +++|*               (PADDR) - ADDRESS OF THE PARAMETER VALUES.
01473  M01S00999.sxkd    +++|*
01474  M01S01000.sxkd    +++|*     EXIT      (TEXT) - THE TEXT WITH PARAMETERS INSERTED.
01475  M01S01001.sxkd    +++|*
01476  M01S01002.sxkd    +++|*     NOTES     THE MAXIMUM SIZE OF A RESULTANT PARAMETER TO INSERT
01477  M01S01003.sxkd    +++|*               IN THE TEXT IS 10 CHARACTERS.
Line S01004 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01478  M02S01004.sxkd2   ---|*               THE MAXIMUM SIZE OF THE SCANNED TEXT IS 40 CHARACTERS.
01479  M01S00474.sxkd2   +++|*               THE MAXIMUM SIZE OF THE SCANNED TEXT IS 60 CHARACTERS.
01480  M01S01005.sxkd    +++|#
01481  M01S01006.sxkd    +++|
Line S01007 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01482  M02S01007.sxkd2   ---|      ITEM TEXT       C(40);         # TEXT #
01483  M01S00475.sxkd2   +++|      ITEM TEXT       C(60);         # TEXT #
01484  M01S01008.sxkd    +++|      ITEM PADDR      I;             # ADDRESS OF PARAMETER #
01485  M01S01009.sxkd    +++|
01486  M01S01010.sxkd    +++|#
01487  M01S01011.sxkd    +++|****  PROC KPFILL - XREF LIST BEGIN.
01488  M01S01012.sxkd    +++|#
01489  M01S01013.sxkd    +++|
01490  M01S01014.sxkd    +++|      XREF
01491  M01S01015.sxkd    +++|        BEGIN
01492  M01S00476.sxkd2   +++|        PROC BZFILL;                 # BLANK OR ZERO FILL #
01493  M01S01016.sxkd    +++|        FUNC XCDD C(10);             # CONVERT TO DECIMAL DISPLAY #
01494  M01S01017.sxkd    +++|        FUNC XCOD C(10);             # CONVERT TO OCTAL DISPLAY #
01495  M01S01018.sxkd    +++|        END
01496  M01S01019.sxkd    +++|
01497  M01S01020.sxkd    +++|#
01498  M01S01021.sxkd    +++|****  PROC KPFILL - XREF LIST END.
01499  M01S01022.sxkd    +++|#
01500  M01S01023.sxkd    +++|
01501  M01S01024.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
01502  M01S01025.sxkd    +++|*CALL COMBFAS
01503  M01S00477.sxkd2   +++|*CALL,COMBBZF
01504  M01S01026.sxkd    +++|*CALL COMBKDD
01505  M01S01027.sxkd    +++|
01506  M01S01028.sxkd    +++|
01507  M01S01029.sxkd    +++|      ITEM CHAR       C(1);          # CHARACTER FIELD #
01508  M01S01030.sxkd    +++|      ITEM FR         I;             # FROM INDEX #
01509  M01S01031.sxkd    +++|      ITEM I          I;             # TEMPORARY #
01510  M01S01032.sxkd    +++|      ITEM PCODE      C(2);          # PARAMETER CODE #
01511  M01S01033.sxkd    +++|      ITEM PI         I;             # PARAMETER INDEX #
01512  M01S01034.sxkd    +++|      ITEM PRESULT    C(10);         # PARAMETER RESULT #
Line S01035 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01513  M02S01035.sxkd2   ---|      ITEM TCOPY      C(40);         # COPY OF TEXT #
01514  M01S00478.sxkd2   +++|      ITEM TCOPY      C(60);         # COPY OF TEXT #
01515  M01S01036.sxkd    +++|      ITEM TO         I;             # TO INDEX #
01516  M01S01037.sxkd    +++|
01517  M01S01038.sxkd    +++|
01518  M01S01039.sxkd    +++|#
01519  M01S01040.sxkd    +++|*     PARAMETER WORK AREA.
01520  M01S01041.sxkd    +++|#
01521  M01S01042.sxkd    +++|
01522  M01S01043.sxkd    +++|      ARRAY PARWK [0:0] S(1);
01523  M01S01044.sxkd    +++|        BEGIN
01524  M01S01045.sxkd    +++|        ITEM PFIELDI    I(00,00,60);  # PARAMETER DEFINED AS INTEGER #
01525  M01S01046.sxkd    +++|        ITEM PFIELDC    C(00,00,10);  # PARAMETER REDEFINED CHARACTER #
01526  M01S01047.sxkd    +++|        END
01527  M01S01048.sxkd    +++|
01528  M01S01049.sxkd    +++|
01529  M01S01050.sxkd    +++|#
01530  M01S01051.sxkd    +++|*     TO ACCESS THE CALLERS PARAMETER WORD(S).
01531  M01S01052.sxkd    +++|#
01532  M01S01053.sxkd    +++|
01533  M01S01054.sxkd    +++|      BASED
01534  M01S01055.sxkd    +++|      ARRAY PARAMETER [0:0] S(1);
01535  M01S01056.sxkd    +++|        BEGIN
01536  M01S01057.sxkd    +++|        ITEM PARAM$WD   U(00,00,60);
01537  M01S01058.sxkd    +++|        END
01538  M01S01059.sxkd    +++|
01539  M01S01060.sxkd    +++|
01540  M01S01061.sxkd    +++|#
01541  M01S01062.sxkd    +++|*     ARRAY OF DEFINED PARAMETERS FOR *K* DISPLAY MESSAGE TEXTS.
01542  M01S01063.sxkd    +++|*     PARAMETERS ARE DEFINED IN *COMBKDD*.
01543  M01S01064.sxkd    +++|#
01544  M01S01065.sxkd    +++|
01545  M01S01066.sxkd    +++|      ARRAY KPAR [1:1] S(KPNUM);
01546  M01S01067.sxkd    +++|        BEGIN
01547  M01S01068.sxkd    +++|        ITEM P1         C(00,00,02) = [ P1C ];
01548  M01S01069.sxkd    +++|        ITEM P1FW       U(00,12,06) = [ P1W ];
01549  M01S01070.sxkd    +++|        ITEM P1FB       U(00,18,06) = [ P1B ];
01550  M01S01071.sxkd    +++|        ITEM P1FL       U(00,24,06) = [ P1L ];
01551  M01S01072.sxkd    +++|        ITEM P1CT       U(00,30,06) = [ P1T ];
01552  M01S01073.sxkd    +++|        ITEM P1TS       U(00,36,06) = [ P1S ];
01553  M01S01074.sxkd    +++|
01554  M01S01075.sxkd    +++|        ITEM P2         C(01,00,02) = [ P2C ];
01555  M01S01076.sxkd    +++|        ITEM P2FW       U(01,12,06) = [ P2W ];
01556  M01S01077.sxkd    +++|        ITEM P2FB       U(01,18,06) = [ P2B ];
01557  M01S01078.sxkd    +++|        ITEM P2FL       U(01,24,06) = [ P2L ];
01558  M01S01079.sxkd    +++|        ITEM P2CT       U(01,30,06) = [ P2T ];
01559  M01S01080.sxkd    +++|        ITEM P2TS       U(01,36,06) = [ P2S ];
01560  M01S01081.sxkd    +++|
01561  M01S01082.sxkd    +++|        ITEM P3         C(02,00,02) = [ P3C ];
01562  M01S01083.sxkd    +++|        ITEM P3FW       U(02,12,06) = [ P3W ];
01563  M01S01084.sxkd    +++|        ITEM P3FB       U(02,18,06) = [ P3B ];
01564  M01S01085.sxkd    +++|        ITEM P3FL       U(02,24,06) = [ P3L ];
01565  M01S01086.sxkd    +++|        ITEM P3CT       U(02,30,06) = [ P3T ];
01566  M01S01087.sxkd    +++|        ITEM P3TS       U(02,36,06) = [ P3S ];
01567  M01S01088.sxkd    +++|
01568  M01S01089.sxkd    +++|        ITEM P4         C(03,00,02) = [ P4C ];
01569  M01S01090.sxkd    +++|        ITEM P4FW       U(03,12,06) = [ P4W ];
01570  M01S01091.sxkd    +++|        ITEM P4FB       U(03,18,06) = [ P4B ];
01571  M01S01092.sxkd    +++|        ITEM P4FL       U(03,24,06) = [ P4L ];
01572  M01S01093.sxkd    +++|        ITEM P4CT       U(03,30,06) = [ P4T ];
01573  M01S01094.sxkd    +++|        ITEM P4TS       U(03,36,06) = [ P4S ];
01574  M01S01095.sxkd    +++|
01575  M01S01096.sxkd    +++|        ITEM P5         C(04,00,02) = [ P5C ];
01576  M01S01097.sxkd    +++|        ITEM P5FW       U(04,12,06) = [ P5W ];
01577  M01S01098.sxkd    +++|        ITEM P5FB       U(04,18,06) = [ P5B ];
01578  M01S01099.sxkd    +++|        ITEM P5FL       U(04,24,06) = [ P5L ];
01579  M01S01100.sxkd    +++|        ITEM P5CT       U(04,30,06) = [ P5T ];
01580  M01S01101.sxkd    +++|        ITEM P5TS       U(04,36,06) = [ P5S ];
01581  M01S01102.sxkd    +++|
01582  M01S01103.sxkd    +++|        ITEM P6         C(05,00,02) = [ P6C ];
01583  M01S01104.sxkd    +++|        ITEM P6FW       U(05,12,06) = [ P6W ];
01584  M01S01105.sxkd    +++|        ITEM P6FB       U(05,18,06) = [ P6B ];
01585  M01S01106.sxkd    +++|        ITEM P6FL       U(05,24,06) = [ P6L ];
01586  M01S01107.sxkd    +++|        ITEM P6CT       U(05,30,06) = [ P6T ];
01587  M01S01108.sxkd    +++|        ITEM P6TS       U(05,36,06) = [ P6S ];
01588  M01S01109.sxkd    +++|
01589  M01S01110.sxkd    +++|        ITEM P7         C(06,00,02) = [ P7C ];
01590  M01S01111.sxkd    +++|        ITEM P7FW       U(06,12,06) = [ P7W ];
01591  M01S01112.sxkd    +++|        ITEM P7FB       U(06,18,06) = [ P7B ];
01592  M01S01113.sxkd    +++|        ITEM P7FL       U(06,24,06) = [ P7L ];
01593  M01S01114.sxkd    +++|        ITEM P7CT       U(06,30,06) = [ P7T ];
01594  M01S01115.sxkd    +++|        ITEM P7TS       U(06,36,06) = [ P7S ];
01595  M01S01116.sxkd    +++|
01596  M01S01117.sxkd    +++|        ITEM P8         C(07,00,02) = [ P8C ];
01597  M01S01118.sxkd    +++|        ITEM P8FW       U(07,12,06) = [ P8W ];
01598  M01S01119.sxkd    +++|        ITEM P8FB       U(07,18,06) = [ P8B ];
01599  M01S01120.sxkd    +++|        ITEM P8FL       U(07,24,06) = [ P8L ];
01600  M01S01121.sxkd    +++|        ITEM P8CT       U(07,30,06) = [ P8T ];
01601  M01S01122.sxkd    +++|        ITEM P8TS       U(07,36,06) = [ P8S ];
01602  M01S01123.sxkd    +++|
01603  M01S01124.sxkd    +++|        ITEM P9         C(08,00,02) = [ P9C ];
01604  M01S01125.sxkd    +++|        ITEM P9FW       U(08,12,06) = [ P9W ];
01605  M01S01126.sxkd    +++|        ITEM P9FB       U(08,18,06) = [ P9B ];
01606  M01S01127.sxkd    +++|        ITEM P9FL       U(08,24,06) = [ P9L ];
01607  M01S01128.sxkd    +++|        ITEM P9CT       U(08,30,06) = [ P9T ];
01608  M01S01129.sxkd    +++|        ITEM P9TS       U(08,36,06) = [ P9S ];
01609  M01S01130.sxkd    +++|
01610  M01S01131.sxkd    +++|        ITEM P10        C(09,00,02) = [ P10C ];
01611  M01S01132.sxkd    +++|        ITEM P10FW      U(09,12,06) = [ P10W ];
01612  M01S01133.sxkd    +++|        ITEM P10FB      U(09,18,06) = [ P10B ];
01613  M01S01134.sxkd    +++|        ITEM P10FL      U(09,24,06) = [ P10L ];
01614  M01S01135.sxkd    +++|        ITEM P10CT      U(09,30,06) = [ P10T ];
01615  M01S01136.sxkd    +++|        ITEM P10TS      U(09,36,06) = [ P10S ];
01616  M01S01137.sxkd    +++|
01617  M01S01138.sxkd    +++|        ITEM P11        C(10,00,02) = [ P11C ];
01618  M01S01139.sxkd    +++|        ITEM P11FW      U(10,12,06) = [ P11W ];
01619  M01S01140.sxkd    +++|        ITEM P11FB      U(10,18,06) = [ P11B ];
01620  M01S01141.sxkd    +++|        ITEM P11FL      U(10,24,06) = [ P11L ];
01621  M01S01142.sxkd    +++|        ITEM P11CT      U(10,30,06) = [ P11T ];
01622  M01S01143.sxkd    +++|        ITEM P11TS      U(10,36,06) = [ P11S ];
01623  M01S01144.sxkd    +++|
01624  M01S01145.sxkd    +++|        ITEM P12        C(11,00,02) = [ P12C ];
01625  M01S01146.sxkd    +++|        ITEM P12FW      U(11,12,06) = [ P12W ];
01626  M01S01147.sxkd    +++|        ITEM P12FB      U(11,18,06) = [ P12B ];
01627  M01S01148.sxkd    +++|        ITEM P12FL      U(11,24,06) = [ P12L ];
01628  M01S01149.sxkd    +++|        ITEM P12CT      U(11,30,06) = [ P12T ];
01629  M01S01150.sxkd    +++|        ITEM P12TS      U(11,36,06) = [ P12S ];
01630  M01S01151.sxkd    +++|
01631  M01S01152.sxkd    +++|        ITEM P13        C(12,00,02) = [ P13C ];
01632  M01S01153.sxkd    +++|        ITEM P13FW      U(12,12,06) = [ P13W ];
01633  M01S01154.sxkd    +++|        ITEM P13FB      U(12,18,06) = [ P13B ];
01634  M01S01155.sxkd    +++|        ITEM P13FL      U(12,24,06) = [ P13L ];
01635  M01S01156.sxkd    +++|        ITEM P13CT      U(12,30,06) = [ P13T ];
01636  M01S01157.sxkd    +++|        ITEM P13TS      U(12,36,06) = [ P13S ];
01637  M01S01158.sxkd    +++|
01638  M01S01159.sxkd    +++|        ITEM P14        C(13,00,02) = [ P14C ];
01639  M01S01160.sxkd    +++|        ITEM P14FW      U(13,12,06) = [ P14W ];
01640  M01S01161.sxkd    +++|        ITEM P14FB      U(13,18,06) = [ P14B ];
01641  M01S01162.sxkd    +++|        ITEM P14FL      U(13,24,06) = [ P14L ];
01642  M01S01163.sxkd    +++|        ITEM P14CT      U(13,30,06) = [ P14T ];
01643  M01S01164.sxkd    +++|        ITEM P14TS      U(13,36,06) = [ P14S ];
01644  M01S01165.sxkd    +++|
01645  M01S01166.sxkd    +++|        ITEM P15        C(14,00,02) = [ P15C ];
01646  M01S01167.sxkd    +++|        ITEM P15FW      U(14,12,06) = [ P15W ];
01647  M01S01168.sxkd    +++|        ITEM P15FB      U(14,18,06) = [ P15B ];
01648  M01S01169.sxkd    +++|        ITEM P15FL      U(14,24,06) = [ P15L ];
01649  M01S01170.sxkd    +++|        ITEM P15CT      U(14,30,06) = [ P15T ];
01650  M01S01171.sxkd    +++|        ITEM P15TS      U(14,36,06) = [ P15S ];
01651  M01S01172.sxkd    +++|
01652  M01S01173.sxkd    +++|        ITEM P16        C(15,00,02) = [ P16C ];
01653  M01S01174.sxkd    +++|        ITEM P16FW      U(15,12,06) = [ P16W ];
01654  M01S01175.sxkd    +++|        ITEM P16FB      U(15,18,06) = [ P16B ];
01655  M01S01176.sxkd    +++|        ITEM P16FL      U(15,24,06) = [ P16L ];
01656  M01S01177.sxkd    +++|        ITEM P16CT      U(15,30,06) = [ P16T ];
01657  M01S01178.sxkd    +++|        ITEM P16TS      U(15,36,06) = [ P16S ];
01658  M01S01179.sxkd    +++|
Line S01180 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01659  M02S01180.sxkd2   ---|        ITEM P17        C(14,00,02) = [ P17C ];
Line S01181 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01660  M02S01181.sxkd2   ---|        ITEM P17FW      U(14,12,06) = [ P17W ];
Line S01182 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01661  M02S01182.sxkd2   ---|        ITEM P17FB      U(14,18,06) = [ P17B ];
Line S01183 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01662  M02S01183.sxkd2   ---|        ITEM P17FL      U(14,24,06) = [ P17L ];
Line S01184 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01663  M02S01184.sxkd2   ---|        ITEM P17CT      U(14,30,06) = [ P17T ];
Line S01185 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01664  M02S01185.sxkd2   ---|        ITEM P17TS      U(14,36,06) = [ P17S ];
Line S01186 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01665  M02S01186.sxkd2   ---|
Line S01187 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01666  M02S01187.sxkd2   ---|        ITEM P18        C(14,00,02) = [ P18C ];
Line S01188 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01667  M02S01188.sxkd2   ---|        ITEM P18FW      U(14,12,06) = [ P18W ];
Line S01189 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01668  M02S01189.sxkd2   ---|        ITEM P18FB      U(14,18,06) = [ P18B ];
Line S01190 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01669  M02S01190.sxkd2   ---|        ITEM P18FL      U(14,24,06) = [ P18L ];
Line S01191 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01670  M02S01191.sxkd2   ---|        ITEM P18CT      U(14,30,06) = [ P18T ];
Line S01192 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01671  M02S01192.sxkd2   ---|        ITEM P18TS      U(14,36,06) = [ P18S ];
Line S01193 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01672  M02S01193.sxkd2   ---|
Line S01194 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01673  M02S01194.sxkd2   ---|        ITEM P19        C(14,00,02) = [ P19C ];
Line S01195 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01674  M02S01195.sxkd2   ---|        ITEM P19FW      U(14,12,06) = [ P19W ];
Line S01196 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01675  M02S01196.sxkd2   ---|        ITEM P19FB      U(14,18,06) = [ P19B ];
Line S01197 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01676  M02S01197.sxkd2   ---|        ITEM P19FL      U(14,24,06) = [ P19L ];
Line S01198 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01677  M02S01198.sxkd2   ---|        ITEM P19CT      U(14,30,06) = [ P19T ];
Line S01199 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01678  M02S01199.sxkd2   ---|        ITEM P19TS      U(14,36,06) = [ P19S ];
Line S01200 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01679  M02S01200.sxkd2   ---|
Line S01201 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01680  M02S01201.sxkd2   ---|        ITEM P20        C(14,00,02) = [ P20C ];
Line S01202 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01681  M02S01202.sxkd2   ---|        ITEM P20FW      U(14,12,06) = [ P20W ];
Line S01203 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01682  M02S01203.sxkd2   ---|        ITEM P20FB      U(14,18,06) = [ P20B ];
Line S01204 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01683  M02S01204.sxkd2   ---|        ITEM P20FL      U(14,24,06) = [ P20L ];
Line S01205 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01684  M02S01205.sxkd2   ---|        ITEM P20CT      U(14,30,06) = [ P20T ];
Line S01206 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01685  M02S01206.sxkd2   ---|        ITEM P20TS      U(14,36,06) = [ P20S ];
Line S01207 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01686  M02S01207.sxkd2   ---|
Line S01208 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01687  M02S01208.sxkd2   ---|        ITEM P21        C(14,00,02) = [ P21C ];
Line S01209 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01688  M02S01209.sxkd2   ---|        ITEM P21FW      U(14,12,06) = [ P21W ];
Line S01210 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01689  M02S01210.sxkd2   ---|        ITEM P21FB      U(14,18,06) = [ P21B ];
Line S01211 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01690  M02S01211.sxkd2   ---|        ITEM P21FL      U(14,24,06) = [ P21L ];
Line S01212 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01691  M02S01212.sxkd2   ---|        ITEM P21CT      U(14,30,06) = [ P21T ];
Line S01213 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01692  M02S01213.sxkd2   ---|        ITEM P21TS      U(14,36,06) = [ P21S ];
Line S01214 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01693  M02S01214.sxkd2   ---|
Line S01215 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01694  M02S01215.sxkd2   ---|        ITEM P22        C(14,00,02) = [ P22C ];
Line S01216 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01695  M02S01216.sxkd2   ---|        ITEM P22FW      U(14,12,06) = [ P22W ];
Line S01217 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01696  M02S01217.sxkd2   ---|        ITEM P22FB      U(14,18,06) = [ P22B ];
Line S01218 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01697  M02S01218.sxkd2   ---|        ITEM P22FL      U(14,24,06) = [ P22L ];
Line S01219 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01698  M02S01219.sxkd2   ---|        ITEM P22CT      U(14,30,06) = [ P22T ];
Line S01220 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01699  M02S01220.sxkd2   ---|        ITEM P22TS      U(14,36,06) = [ P22S ];
Line S01221 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01700  M02S01221.sxkd2   ---|
Line S01222 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01701  M02S01222.sxkd2   ---|        ITEM P23        C(14,00,02) = [ P23C ];
Line S01223 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01702  M02S01223.sxkd2   ---|        ITEM P23FW      U(14,12,06) = [ P23W ];
Line S01224 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01703  M02S01224.sxkd2   ---|        ITEM P23FB      U(14,18,06) = [ P23B ];
Line S01225 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01704  M02S01225.sxkd2   ---|        ITEM P23FL      U(14,24,06) = [ P23L ];
Line S01226 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01705  M02S01226.sxkd2   ---|        ITEM P23CT      U(14,30,06) = [ P23T ];
Line S01227 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01706  M02S01227.sxkd2   ---|        ITEM P23TS      U(14,36,06) = [ P23S ];
01707  M01S00479.sxkd2   +++|        ITEM P17        C(16,00,02) = [ P17C ];
01708  M01S00480.sxkd2   +++|        ITEM P17FW      U(16,12,06) = [ P17W ];
01709  M01S00481.sxkd2   +++|        ITEM P17FB      U(16,18,06) = [ P17B ];
01710  M01S00482.sxkd2   +++|        ITEM P17FL      U(16,24,06) = [ P17L ];
01711  M01S00483.sxkd2   +++|        ITEM P17CT      U(16,30,06) = [ P17T ];
01712  M01S00484.sxkd2   +++|        ITEM P17TS      U(16,36,06) = [ P17S ];
01713  M01S00485.sxkd2   +++|
01714  M01S00486.sxkd2   +++|        ITEM P18        C(17,00,02) = [ P18C ];
01715  M01S00487.sxkd2   +++|        ITEM P18FW      U(17,12,06) = [ P18W ];
01716  M01S00488.sxkd2   +++|        ITEM P18FB      U(17,18,06) = [ P18B ];
01717  M01S00489.sxkd2   +++|        ITEM P18FL      U(17,24,06) = [ P18L ];
01718  M01S00490.sxkd2   +++|        ITEM P18CT      U(17,30,06) = [ P18T ];
01719  M01S00491.sxkd2   +++|        ITEM P18TS      U(17,36,06) = [ P18S ];
01720  M01S00492.sxkd2   +++|
01721  M01S00493.sxkd2   +++|        ITEM P19        C(18,00,02) = [ P19C ];
01722  M01S00494.sxkd2   +++|        ITEM P19FW      U(18,12,06) = [ P19W ];
01723  M01S00495.sxkd2   +++|        ITEM P19FB      U(18,18,06) = [ P19B ];
01724  M01S00496.sxkd2   +++|        ITEM P19FL      U(18,24,06) = [ P19L ];
01725  M01S00497.sxkd2   +++|        ITEM P19CT      U(18,30,06) = [ P19T ];
01726  M01S00498.sxkd2   +++|        ITEM P19TS      U(18,36,06) = [ P19S ];
01727  M01S00499.sxkd2   +++|
01728  M01S00500.sxkd2   +++|        ITEM P20        C(19,00,02) = [ P20C ];
01729  M01S00501.sxkd2   +++|        ITEM P20FW      U(19,12,06) = [ P20W ];
01730  M01S00502.sxkd2   +++|        ITEM P20FB      U(19,18,06) = [ P20B ];
01731  M01S00503.sxkd2   +++|        ITEM P20FL      U(19,24,06) = [ P20L ];
01732  M01S00504.sxkd2   +++|        ITEM P20CT      U(19,30,06) = [ P20T ];
01733  M01S00505.sxkd2   +++|        ITEM P20TS      U(19,36,06) = [ P20S ];
01734  M01S00506.sxkd2   +++|
01735  M01S00507.sxkd2   +++|        ITEM P21        C(20,00,02) = [ P21C ];
01736  M01S00508.sxkd2   +++|        ITEM P21FW      U(20,12,06) = [ P21W ];
01737  M01S00509.sxkd2   +++|        ITEM P21FB      U(20,18,06) = [ P21B ];
01738  M01S00510.sxkd2   +++|        ITEM P21FL      U(20,24,06) = [ P21L ];
01739  M01S00511.sxkd2   +++|        ITEM P21CT      U(20,30,06) = [ P21T ];
01740  M01S00512.sxkd2   +++|        ITEM P21TS      U(20,36,06) = [ P21S ];
01741  M01S00513.sxkd2   +++|
01742  M01S00514.sxkd2   +++|        ITEM P22        C(21,00,02) = [ P22C ];
01743  M01S00515.sxkd2   +++|        ITEM P22FW      U(21,12,06) = [ P22W ];
01744  M01S00516.sxkd2   +++|        ITEM P22FB      U(21,18,06) = [ P22B ];
01745  M01S00517.sxkd2   +++|        ITEM P22FL      U(21,24,06) = [ P22L ];
01746  M01S00518.sxkd2   +++|        ITEM P22CT      U(21,30,06) = [ P22T ];
01747  M01S00519.sxkd2   +++|        ITEM P22TS      U(21,36,06) = [ P22S ];
01748  M01S00520.sxkd2   +++|
01749  M01S00521.sxkd2   +++|        ITEM P23        C(22,00,02) = [ P23C ];
01750  M01S00522.sxkd2   +++|        ITEM P23FW      U(22,12,06) = [ P23W ];
01751  M01S00523.sxkd2   +++|        ITEM P23FB      U(22,18,06) = [ P23B ];
01752  M01S00524.sxkd2   +++|        ITEM P23FL      U(22,24,06) = [ P23L ];
01753  M01S00525.sxkd2   +++|        ITEM P23CT      U(22,30,06) = [ P23T ];
01754  M01S00526.sxkd2   +++|        ITEM P23TS      U(22,36,06) = [ P23S ];
01755  M01S00527.sxkd2   +++|
01756  M01S01228.sxkd    +++|
01757  M01S01229.sxkd    +++|        END
01758  M01S01230.sxkd    +++|
01759  M01S01231.sxkd    +++|
01760  M01S01232.sxkd    +++|#
01761  M01S01233.sxkd    +++|*     TO ACCESS THE PARAMETERS DEFINED IN THE ARRAY *KPAR*.
01762  M01S01234.sxkd    +++|#
01763  M01S01235.sxkd    +++|
01764  M01S01236.sxkd    +++|      BASED
01765  M01S01237.sxkd    +++|      ARRAY PARTABLE [0:0] S(1);     # PARAMETER TABLE #
01766  M01S01238.sxkd    +++|        BEGIN
01767  M01S01239.sxkd    +++|        ITEM PAR$CDE    C(00,00,02);  # CODE #
01768  M01S01240.sxkd    +++|        ITEM PAR$FWD    U(00,12,06);  # FROM WORD OFFSET #
01769  M01S01241.sxkd    +++|        ITEM PAR$FBIT   U(00,18,06);  # FROM STARTING BIT #
01770  M01S01242.sxkd    +++|        ITEM PAR$FLEN   U(00,24,06);  # FROM LENGTH IN BITS #
01771  M01S01243.sxkd    +++|        ITEM PAR$CONV   U(00,30,06);  # CONVERSION TYPE #
01772  M01S01244.sxkd    +++|        ITEM PAR$TSIZ   U(00,36,06);  # TO SIZE IN CHARACTERS #
01773  M01S01245.sxkd    +++|        END
01774  M01S01246.sxkd    +++|
01775  M01S01247.sxkd    +++|
01776  M01S01248.sxkd    +++|                                               CONTROL EJECT;
01777  M01S01249.sxkd    +++|
01778  M01S01250.sxkd    +++|      P<PARTABLE> = LOC(KPAR);       # TABLE OF DEFINED PARAMETERS #
01779  M01S01251.sxkd    +++|      P<PARAMETER> = PADDR;          # PARAMETER VALUES #
01780  M01S01252.sxkd    +++|
01781  M01S01253.sxkd    +++|      TCOPY = " ";                   # CLEAR TCOPY #
01782  M01S01254.sxkd    +++|      TO = 0;                        # TO INDEX #
01783  M01S01255.sxkd    +++|      FR = 0;                        # FROM INDEX #
01784  M01S01256.sxkd    +++|
01785  M01S01257.sxkd    +++|#
01786  M01S01258.sxkd    +++|*     MOVE FROM *TEXT* TO *TCOPY* ONE CHARACTER AT A TIME.  IF
01787  M01S01259.sxkd    +++|*     A PARAMETER CODE (*CODE*) IS DETECTED, MOVE THE PARAMETER
01788  M01S01260.sxkd    +++|*     AS DEFINED IN *PARTABLE* INTO THE *TCOPY*.
01789  M01S01261.sxkd    +++|#
01790  M01S01262.sxkd    +++|
Line S01263 Modification History
M01 (Added by) sxkd
M02 (Updated by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
01791  M02S01263.sxkd2   ---|      REPEAT WHILE TO LS 40 AND FR LS 40
01792  M01S00528.sxkd2   +++|      REPEAT WHILE TO LS 60 AND FR LS 60
01793  M01S01264.sxkd    +++|      DO
01794  M01S01265.sxkd    +++|        BEGIN  # TRANSFER *K* DISPLAY TEXT #
01795  M01S01266.sxkd    +++|
01796  M01S01267.sxkd    +++|        CHAR = C<FR,1>TEXT;          # GET CHARACTER #
01797  M01S01268.sxkd    +++|        IF CHAR NQ "*"
01798  M01S01269.sxkd    +++|        THEN                         # MOVE CHARACTER INTO TEXT #
01799  M01S01270.sxkd    +++|          BEGIN
01800  M01S01271.sxkd    +++|          C<TO,1>TCOPY = CHAR;
01801  M01S01272.sxkd    +++|          TO = TO + 1;               # ADVANCE *TO* #
01802  M01S01273.sxkd    +++|          FR = FR + 1;               # ADVANCE *FROM* #
01803  M01S01274.sxkd    +++|          TEST DUMMY;
01804  M01S01275.sxkd    +++|          END
01805  M01S01276.sxkd    +++|
01806  M01S01277.sxkd    +++|        PCODE = C<FR+1,2>TEXT;       # GET PARAMETER CODE #
01807  M01S01278.sxkd    +++|
01808  M01S01279.sxkd    +++|#
01809  M01S01280.sxkd    +++|*     SEARCH PARAMETER TABLE FOR MATCH ON PARAMETER CODE.
01810  M01S01281.sxkd    +++|*     DO SPECIFIED CONVERSION, IF ANY, AND MOVE
01811  M01S01282.sxkd    +++|*     PARAMETER INTO MESSAGE TEXT.
01812  M01S01283.sxkd    +++|#
01813  M01S01284.sxkd    +++|
01814  M01S01285.sxkd    +++|        FOR PI = 0 STEP 1 WHILE PI LS KPNUM
01815  M01S01286.sxkd    +++|        DO
01816  M01S01287.sxkd    +++|          BEGIN  # PROCESS PARAMETER #
01817  M01S01288.sxkd    +++|          IF PAR$CDE[PI] NQ PCODE
01818  M01S01289.sxkd    +++|          THEN
01819  M01S01290.sxkd    +++|            BEGIN
01820  M01S01291.sxkd    +++|            TEST PI;
01821  M01S01292.sxkd    +++|            END
01822  M01S01293.sxkd    +++|
01823  M01S01294.sxkd    +++|#
01824  M01S01295.sxkd    +++|*     GET PARAMETER VALUE.
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/sxkd.txt · Last modified: by 127.0.0.1