Deck SXKD Part 001

2 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
02028  M01S00561.sxkd2   +++|        KL$COMP[0] = FALSE;          # DONE PROCESSING SM DISPLAY #
02029  M01S00562.sxkd2   +++|        KTIMER = KRESET;             # RESET *DSD* TIMER #
02030  M01S00563.sxkd2   +++|        END  # ACTIVE #
02031  M01S00564.sxkd2   +++|
02032  M01S00565.sxkd2   +++|      ELSE                           # NOTHING UP TO REFRESH #
02033  M01S00566.sxkd2   +++|        BEGIN  # TIMEOUT #
02034  M01S00567.sxkd2   +++|        KTIMER = KTIMER - 1;         # TIMEOUT IN CASE *DSD* SLOW #
02035  M01S00568.sxkd2   +++|        IF KTIMER LS 0
02036  M01S00569.sxkd2   +++|        THEN                         # DSD NOT PROCESSING SM DISPLAY #
02037  M01S00570.sxkd2   +++|          BEGIN  # IDLE #
02038  M01S00571.sxkd2   +++|          KSM$EXPIR = 0;             # DO NOT FORCE EXEC ACTIVE #
02039  M01S00572.sxkd2   +++|          END  # IDLE #
02040  M01S00573.sxkd2   +++|
02041  M01S00574.sxkd2   +++|        END  # TIMEOUT #
02042  M01S00575.sxkd2   +++|
02043  M00S01467.sxkd    +++|      END  # KPROC #
02044  M00S01468.sxkd    +++|
02045  M00S01469.sxkd    +++|    TERM
02046  M00S01470.sxkd    +++|PROC KREQ((KWADDR),(RTYP));
02047  M00S01471.sxkd    +++|
02048  M00S01472.sxkd    +++|# TITLE KREQ - *K* DISPLAY REQUEST.                                   #
02049  M00S01473.sxkd    +++|
02050  M00S01474.sxkd    +++|      BEGIN  # KREQ #
02051  M00S01475.sxkd    +++|
02052  M00S01476.sxkd    +++|#
02053  M00S01477.sxkd    +++|**    KREQ - *K* DISPLAY REQUEST.
02054  M00S01478.sxkd    +++|*
02055  M00S01479.sxkd    +++|*     *KREQ* LINKS A NEW REQUEST TO THE *K* DISPLAY QUEUE
02056  M00S01480.sxkd    +++|*     OR DELINKS AN OLD REQUEST FROM THE *K* DISPLAY QUEUE.
02057  M00S01481.sxkd    +++|*
02058  M00S01482.sxkd    +++|*     PROC KREQ((KWADDR),(RTYP))
02059  M00S01483.sxkd    +++|*
02060  M00S01484.sxkd    +++|*     ENTRY     (KWADDR) - ADDRESS OF *KWORD* ARRAY.
02061  M00S01485.sxkd    +++|*               (RTYP)   - REQUEST TYPE.
02062  M00S01486.sxkd    +++|*                          = *KLINK* TO ADD THE REQUEST TO THE QUEUE.
02063  M00S01487.sxkd    +++|*                          = *KDELINK* TO DELINK THE REQUEST FROM
02064  M00S01488.sxkd    +++|*                            THE QUEUE.
02065  M00S01489.sxkd    +++|*               (KLINKQ) - THE HEAD OF THE K-QUEUE.
02066  M00S01490.sxkd    +++|*
02067  M00S01491.sxkd    +++|*     EXIT      THE *KWORD* HAS BEEN LINKED/DELINKED.
02068  M00S01492.sxkd    +++|*
02069  M00S01493.sxkd    +++|*               FOR A *KLINK*, THE REQUEST-K MESSAGE IS ISSUED AND
02070  M00S01494.sxkd    +++|*               (KREQCLEAR) = FALSE, REQUEST-K MESSAGE IS UP.
02071  M00S01495.sxkd    +++|*               (KNEWREQ) - IS SET TRUE IF A NEW REQUEST
02072  M00S01496.sxkd    +++|*                           WAS ADDED.
02073  M00S01497.sxkd    +++|*
02074  M00S01498.sxkd    +++|*               FOR A *KDELINK*, THE LEFT SCREEN AREA IS BLANKED
02075  M00S01499.sxkd    +++|*               IF THE *KWORD* ENTRY IS CURRENTLY ON THE SCREEN.
02076  M00S01500.sxkd    +++|*
02077  M00S01501.sxkd    +++|*     MESSAGES  * REQUEST *K* DISPLAY * (IF *KLINK* REQUEST).
02078  M00S01502.sxkd    +++|*
02079  M00S01503.sxkd    +++|*     NOTES     FOR *KLINK* PROCESSING -
02080  M00S01504.sxkd    +++|*                . SKIP THE REQUEST IF IT IS ALREADY IN QUEUE.
02081  M00S01505.sxkd    +++|*                . ADD TO END OF K-QUEUE.
02082  M00S01506.sxkd    +++|*                . ISSUE THE REQUEST-K MESSAGE.
02083  M00S01507.sxkd    +++|*
02084  M00S01508.sxkd    +++|*               FOR *KDELINK* PROCESSING -
02085  M00S01509.sxkd    +++|*                . SKIP THIS REQUEST IF IT IS NOT IN THE QUEUE.
02086  M00S01510.sxkd    +++|*                . CLEAR THE SCREEN LINES FOR THIS REQUEST IF IT IS
02087  M00S01511.sxkd    +++|*                  CURRENTLY ACTIVE ON THE LEFT SCREEN.
02088  M00S01512.sxkd    +++|*                . SET COMPLETE IN *KWORD* ARRAY.
02089  M00S01513.sxkd    +++|*                . DELINK THE REQUEST FROM THE QUEUE.
02090  M00S01514.sxkd    +++|#
02091  M00S01515.sxkd    +++|
02092  M00S01516.sxkd    +++|      ITEM KWADDR     I;             # ADDRESS OF *KWORD* ARRAY #
02093  M00S01517.sxkd    +++|      ITEM RTYP       I;             # REQUEST TYPE #
02094  M00S01518.sxkd    +++|
02095  M00S01519.sxkd    +++|#
02096  M00S01520.sxkd    +++|****  PROC KREQ - XREF LIST BEGIN.
02097  M00S01521.sxkd    +++|#
02098  M00S01522.sxkd    +++|
02099  M00S01523.sxkd    +++|      XREF
02100  M00S01524.sxkd    +++|        BEGIN
02101  M00S01525.sxkd    +++|        PROC KCLR;                   # CLEAR CURRENT ON *K* DISPLAY #
02102  M00S01526.sxkd    +++|        PROC MESSAGE;                # ISSUE *MESSAGE* MACRO #
02103  M00S01527.sxkd    +++|        END
02104  M00S01528.sxkd    +++|
02105  M00S01529.sxkd    +++|#
02106  M00S01530.sxkd    +++|****  PROC KREQ - XREF LIST END.
02107  M00S01531.sxkd    +++|#
02108  M00S01532.sxkd    +++|
02109  M00S01533.sxkd    +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
02110  M00S01534.sxkd    +++|*CALL COMBFAS
02111  M00S01535.sxkd    +++|*CALL COMBKDA
02112  M00S01536.sxkd    +++|*CALL COMBKDD
02113  M00S01537.sxkd    +++|*CALL COMXCTF
02114  M00S01538.sxkd    +++|
02115  M00S01539.sxkd    +++|      ITEM CURRKW     I;             # CURRENT *KWORD* ADDRESS #
02116  M00S01540.sxkd    +++|      ITEM ORD        I;             # AN ORDINAL #
02117  M00S01541.sxkd    +++|      ITEM PREVKW     I;             # PREVIOUS *KWORD* ADDRESS #
02118  M00S01542.sxkd    +++|
02119  M00S01543.sxkd    +++|
02120  M00S01544.sxkd    +++|                                               CONTROL EJECT;
02121  M00S01545.sxkd    +++|
02122  M00S01546.sxkd    +++|#
02123  M00S01547.sxkd    +++|*     SEARCH K-QUEUE UNTIL END (ZERO) OR A MATCH ON *KWADDR*.
02124  M00S01548.sxkd    +++|*     SETS - *PREVKW* = ADDRESS OF PREVIOUS *KWORD* IN QUEUE.
02125  M00S01549.sxkd    +++|*          - *CURRKW* = ADDRESS OF CURRENT *KWORD* OR ZERO(END).
02126  M00S01550.sxkd    +++|#
02127  M00S01551.sxkd    +++|
02128  M00S01552.sxkd    +++|      CURRKW = LOC(KLINKQ);          # START AT HEAD #
02129  M00S01553.sxkd    +++|      REPEAT WHILE CURRKW NQ 0 AND CURRKW NQ KWADDR
02130  M00S01554.sxkd    +++|      DO
02131  M00S01555.sxkd    +++|        BEGIN
02132  M00S01556.sxkd    +++|        PREVKW = CURRKW;             # SET PREVIOUS #
02133  M00S01557.sxkd    +++|        P<KWORD> = CURRKW;
02134  M00S01558.sxkd    +++|        CURRKW = KW$LINK[0];         # GET NEXT IN QUEUE #
02135  M00S01559.sxkd    +++|        END
02136  M00S01560.sxkd    +++|
02137  M00S01561.sxkd    +++|#
02138  M00S01562.sxkd    +++|*     PROCESS THE LINK REQUEST.
02139  M00S01563.sxkd    +++|#
02140  M00S01564.sxkd    +++|
02141  M00S01565.sxkd    +++|      IF RTYP EQ KLINK
02142  M00S01566.sxkd    +++|      THEN                           # LINK TO QUEUE #
02143  M00S01567.sxkd    +++|        BEGIN  # LINK #
02144  M00S01568.sxkd    +++|        IF CURRKW NQ 0
02145  M00S01569.sxkd    +++|        THEN                         # FOUND MATCH IN QUEUE #
02146  M00S01570.sxkd    +++|          BEGIN
02147  M00S01571.sxkd    +++|          RETURN;                    # IGNORE THIS REQUEST #
02148  M00S01572.sxkd    +++|          END
02149  M00S01573.sxkd    +++|
02150  M00S01574.sxkd    +++|#
02151  M00S01575.sxkd    +++|*     INITIALIZE *KWORD* ARRAY FIELDS.
02152  M00S01576.sxkd    +++|#
02153  M00S01577.sxkd    +++|
02154  M00S01578.sxkd    +++|        P<KWORD> = KWADDR;
02155  M00S01579.sxkd    +++|        KW$KCTL[0] = 0;              # CLEAR K-CONTROLLED AREA #
02156  M00S01580.sxkd    +++|        KW$LINK[0] = 0;              # SET LINK AT END #
02157  M00S01581.sxkd    +++|
02158  M00S01582.sxkd    +++|#
02159  M00S01583.sxkd    +++|*     LINK *KWORD* TO END OF QUEUE.
02160  M00S01584.sxkd    +++|#
02161  M00S01585.sxkd    +++|
02162  M00S01586.sxkd    +++|        P<KWORD> = PREVKW;
02163  M00S01587.sxkd    +++|        KW$LINK[0] = KWADDR;         # PREVIOUS POINTS TO NEW #
02164  M00S01588.sxkd    +++|        KNEWREQ = TRUE;
02165  M00S01589.sxkd    +++|
02166  M00S01590.sxkd    +++|#
02167  M00S01591.sxkd    +++|*     ISSUE THE REQUEST-K MESSAGE.
02168  M00S01592.sxkd    +++|#
02169  M00S01593.sxkd    +++|
02170  M00S01594.sxkd    +++|        MESSAGE("$ REQUEST *K* DISPLAY  ",LINE2);
02171  M00S01595.sxkd    +++|        KREQCLEAR = FALSE;
02172  M00S01596.sxkd    +++|        RETURN;                      # EXIT #
02173  M00S01597.sxkd    +++|        END  # LINK #
02174  M00S01598.sxkd    +++|
02175  M00S01599.sxkd    +++|
02176  M00S01600.sxkd    +++|
02177  M00S01601.sxkd    +++|#
02178  M00S01602.sxkd    +++|*     PROCESS THE DELINK REQUEST.
02179  M00S01603.sxkd    +++|#
02180  M00S01604.sxkd    +++|
02181  M00S01605.sxkd    +++|      IF RTYP EQ KDELINK
02182  M00S01606.sxkd    +++|      THEN                           # DELINK FROM QUEUE #
02183  M00S01607.sxkd    +++|        BEGIN  # DELINK #
02184  M00S01608.sxkd    +++|        IF CURRKW EQ 0
02185  M00S01609.sxkd    +++|        THEN                         # NO MATCH IN QUEUE #
02186  M00S01610.sxkd    +++|          BEGIN
02187  M00S01611.sxkd    +++|          RETURN;                    # IGNORE THIS REQUEST #
02188  M00S01612.sxkd    +++|          END
02189  M00S01613.sxkd    +++|
02190  M00S01614.sxkd    +++|#
02191  M00S01615.sxkd    +++|*     IF REQUEST IS CURRENTLY ACTIVE ON *K* DISPLAY, CLEAR IT.
02192  M00S01616.sxkd    +++|#
02193  M00S01617.sxkd    +++|
02194  M00S01618.sxkd    +++|        P<KWORD> = CURRKW;
02195  M00S01619.sxkd    +++|        IF KW$ACT[0]
02196  M00S01620.sxkd    +++|        THEN                         # CURRENTLY ON *K* #
02197  M00S01621.sxkd    +++|          BEGIN  # CLEAR K DISPLAY ENTRY #
02198  M00S01622.sxkd    +++|
02199  M00S01623.sxkd    +++|#
02200  M00S01624.sxkd    +++|*     LOOK FOR *KWORD* ENTRY IN *KCURRENT*.
02201  M00S01625.sxkd    +++|#
02202  M00S01626.sxkd    +++|
02203  M00S01627.sxkd    +++|          FOR ORD = 1 STEP 1 WHILE ORD LQ KORD
02204  M00S01628.sxkd    +++|          DO
02205  M00S01629.sxkd    +++|            BEGIN
02206  M00S01630.sxkd    +++|            IF KCUR$ADDR[ORD] EQ KWADDR
02207  M00S01631.sxkd    +++|            THEN                     # FOUND MATCH #
02208  M00S01632.sxkd    +++|              BEGIN
02209  M00S01633.sxkd    +++|              KCLR(ORD);             # CLEAR FROM *K* DISPLAY #
02210  M00S01634.sxkd    +++|              END
02211  M00S01635.sxkd    +++|
02212  M00S01636.sxkd    +++|            END
02213  M00S01637.sxkd    +++|
02214  M00S01638.sxkd    +++|          END  # CLEAR K DISPLAY ENTRY #
02215  M00S01639.sxkd    +++|
02216  M00S01640.sxkd    +++|#
02217  M00S01641.sxkd    +++|*     SET COMPLETE ON THIS REQUEST.
02218  M00S01642.sxkd    +++|#
02219  M00S01643.sxkd    +++|
02220  M00S01644.sxkd    +++|        P<KWORD> = KWADDR;
02221  M00S01645.sxkd    +++|        KW$COMP[0] = TRUE;
02222  M00S01646.sxkd    +++|        DRVRRECALL = TRUE;           # SET TO RECALL THE DRIVER #
02223  M00S01647.sxkd    +++|
02224  M00S01648.sxkd    +++|#
02225  M00S01649.sxkd    +++|*     DELINK IT FROM QUEUE.
02226  M00S01650.sxkd    +++|#
02227  M00S01651.sxkd    +++|
02228  M00S01652.sxkd    +++|        CURRKW = KW$LINK[0];         # NEXT IN QUEUE #
02229  M00S01653.sxkd    +++|        P<KWORD> = PREVKW;
02230  M00S01654.sxkd    +++|        KW$LINK[0] = CURRKW;         # LINK PREVIOUS TO NEXT #
02231  M00S01655.sxkd    +++|        RETURN;
02232  M00S01656.sxkd    +++|
02233  M00S01657.sxkd    +++|        END  # DELINK #
02234  M00S01658.sxkd    +++|
02235  M00S01659.sxkd    +++|      END  # KREQ #
02236  M00S01660.sxkd    +++|
02237  M00S01661.sxkd    +++|    TERM
02238  M01S00576.sxkd2   +++|PROC KSM(REJECT);
02239  M01S00577.sxkd2   +++|
02240  M01S00578.sxkd2   +++|# TITLE KSM - PROCESS *SMI* COMMAND.                               #
02241  M01S00579.sxkd2   +++|
02242  M01S00580.sxkd2   +++|      BEGIN  # KSM #
02243  M01S00581.sxkd2   +++|
02244  M01S00582.sxkd2   +++|#
02245  M01S00583.sxkd2   +++|**    KSM - PROCESS *SMI* COMMAND.
02246  M01S00584.sxkd2   +++|*
02247  M01S00585.sxkd2   +++|*     *KSM* PROCESSES BOTH FORMS OF THE *SM* OPERATOR COMMAND.
02248  M01S00586.sxkd2   +++|*     THE TWO FORMS OF THE COMMAND ARE:
02249  M01S00587.sxkd2   +++|*       1. *SMI*, WHERE *I* IS THE SM IDENTIFIER
02250  M01S00588.sxkd2   +++|*
02251  M01S00589.sxkd2   +++|*          THIS FORM OF THE COMMAND CAUSES INFORMATION FOR THE
02252  M01S00590.sxkd2   +++|*          SPECIFIED *SM* TO BE DISPLAYED.
02253  M01S00591.sxkd2   +++|*
02254  M01S00592.sxkd2   +++|*       2. *SMI,DRD=XX=N*
02255  M01S00593.sxkd2   +++|*            WHERE *I* IS THE *SM* IDENTIFIER
02256  M01S00594.sxkd2   +++|*                  *XX* IS THE LITERAL *ST* (STAGE) OR *DS* (DESTAGE)
02257  M01S00595.sxkd2   +++|*                  *N* IS MAXIMUM NUMBER OF DRDS (0, 1, OR 2)
02258  M01S00596.sxkd2   +++|*
02259  M01S00597.sxkd2   +++|*          THIS FORM OF THE COMMAND CAUSES THE MAXIMUM NUMBER OF
02260  M01S00598.sxkd2   +++|*          DRDS PERMITTED FOR STAGING (*ST*) OR DESTAGING (*DS*)
02261  M01S00599.sxkd2   +++|*          TO BE REDEFINED WITH THE SPECIFIED VALUE OF *N* (0, 1,
02262  M01S00600.sxkd2   +++|*          OR 2).
02263  M01S00601.sxkd2   +++|*
02264  M01S00602.sxkd2   +++|*     PROC KSM(REJECT).
02265  M01S00603.sxkd2   +++|*
02266  M01S00604.sxkd2   +++|*     ENTRY     ARRAY KBINPUT (DEFINED IN *COMBKDD*) CONTAINS THE
02267  M01S00605.sxkd2   +++|*               IMAGE OF THE *SMI* COMMAND.
02268  M01S00606.sxkd2   +++|*
02269  M01S00607.sxkd2   +++|*     EXIT      *SM* PORTION OF *K* DISPLAY HAS BEEN UPDATED.
02270  M01S00608.sxkd2   +++|*
02271  M01S00609.sxkd2   +++|*     MESSAGES
02272  M01S00610.sxkd2   +++|*
02273  M01S00611.sxkd2   +++|*
02274  M01S00612.sxkd2   +++|*
02275  M01S00613.sxkd2   +++|*
02276  M01S00614.sxkd2   +++|#
02277  M01S00615.sxkd2   +++|
02278  M01S00616.sxkd2   +++|
02279  M01S00617.sxkd2   +++|#
02280  M01S00618.sxkd2   +++|****  PROC KSM - XREF LIST BEGIN.
02281  M01S00619.sxkd2   +++|#
02282  M01S00620.sxkd2   +++|
02283  M01S00621.sxkd2   +++|      XREF
02284  M01S00622.sxkd2   +++|        BEGIN
02285  M01S00623.sxkd2   +++|        PROC KDSM;                   # PAINT *SM* PORTION OF K-DISPLAY #
02286  M01S00624.sxkd2   +++|        FUNC XDXB I;                 # CONVERT DISPLAY TO INTEGER #
02287  M01S00625.sxkd2   +++|        END
02288  M01S00626.sxkd2   +++|
02289  M01S00627.sxkd2   +++|#
02290  M01S00628.sxkd2   +++|****  PROC KSM - XREF LIST END.
02291  M01S00629.sxkd2   +++|#
02292  M01S00630.sxkd2   +++|
02293  M01S00631.sxkd2   +++|      DEF LISTCON    #0#;            # DO NOT LIST COMDECKS #
02294  M01S00632.sxkd2   +++|*CALL COMBFAS
02295  M01S00633.sxkd2   +++|*CALL COMBKDA
02296  M01S00634.sxkd2   +++|*CALL COMBKDD
02297  M01S00635.sxkd2   +++|*CALL COMBUDT
02298  M01S00636.sxkd2   +++|
02299  M01S00637.sxkd2   +++|      ITEM CHDRD   C(1);             # CHARACTER VALUE FOR DRDS #
Line S00002 Modification History
M01 (Added by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02300  M01S00002.mse0011 +++|      ITEM FINDSM     B;             # STORAGE MODULE FOUND IN UDT #
Line S00638 Modification History
M01 (Added by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
02301  M01S00638.sxkd2   +++|      ITEM I          I;             # INTEGER VALUE FOR DRDS #
02302  M01S00639.sxkd2   +++|      ITEM NUMDRD     I;             # NUMBER OF DRDS FOR ST OR DS #
02303  M01S00640.sxkd2   +++|      ITEM REJECT     B;             # REJECT OPERATOR RESPONSE FLAG #
02304  M01S00641.sxkd2   +++|      ITEM TEMPSM  C(1);             # *SM* ID FROM INPUT COMMAND #
02305  M01S00642.sxkd2   +++|                                               CONTROL EJECT;
02306  M01S00643.sxkd2   +++|
02307  M01S00644.sxkd2   +++|#
02308  M01S00645.sxkd2   +++|*     CHECK FOR VALID *SM* COMMAND.
02309  M01S00646.sxkd2   +++|#
02310  M01S00647.sxkd2   +++|
02311  M01S00648.sxkd2   +++|      REJECT = FALSE;                # ASSUME VALID COMMAND #
02312  M01S00649.sxkd2   +++|      TEMPSM = C<2,1>KB$SCAN[0];
Line S00650 Modification History
M01 (Added by) sxkd2
M02 (Removed by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02313  M02S00650.mse0011 ---|      IF TEMPSM GR MAXSMUNIT         # SM ORDINAL LARGER THAN MAX #
Line S00003 Modification History
M01 (Added by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02314  M01S00003.mse0011 +++|      FINDSM = FALSE;                # LOCATED SM IN UDT FLAG #
02315  M01S00004.mse0011 +++|      SLOWFOR I = 1 STEP 1 UNTIL MAXSMUNIT
02316  M01S00005.mse0011 +++|      DO
02317  M01S00006.mse0011 +++|        BEGIN  # CHECK FOR SM ID IN EACH UDT #
02318  M01S00007.mse0011 +++|        IF SM$ID[I] EQ TEMPSM
02319  M01S00008.mse0011 +++|        THEN
02320  M01S00009.mse0011 +++|          BEGIN  # SM LOCATED IN UDT #
02321  M01S00010.mse0011 +++|          FINDSM = TRUE;
02322  M01S00011.mse0011 +++|          KUDTIND = I;
02323  M01S00012.mse0011 +++|          TEST I;
02324  M01S00013.mse0011 +++|          END
02325  M01S00014.mse0011 +++|
02326  M01S00015.mse0011 +++|        END  # CHECK FOR SM ID IN EACH UDT #
02327  M01S00016.mse0011 +++|
02328  M01S00017.mse0011 +++|
02329  M01S00018.mse0011 +++|
02330  M01S00019.mse0011 +++|      IF NOT FINDSM                  # SM NOT DEFINED IN THE UDT #
Line S00651 Modification History
M01 (Added by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
02331  M01S00651.sxkd2   +++|        OR TEMPSM EQ 0               ##
02332  M01S00652.sxkd2   +++|        OR KACTCOUNT NQ 0            # MESSAGE(S) AWAITING "GO" #
02333  M01S00653.sxkd2   +++|        OR (C<3,1>KB$SCAN[0] NQ " "  # NOT VALID POST-CHARACTERS #
02334  M01S00654.sxkd2   +++|        AND C<3,1>KB$SCAN[0] NQ 0
02335  M01S00655.sxkd2   +++|        AND C<3,5>KB$SCAN[0] NQ ",DRD=")
02336  M01S00656.sxkd2   +++|      THEN
02337  M01S00657.sxkd2   +++|        BEGIN  # INVALID #
02338  M01S00658.sxkd2   +++|        REJECT = TRUE;
02339  M01S00659.sxkd2   +++|        RETURN;
02340  M01S00660.sxkd2   +++|        END    # INVALID #
02341  M01S00661.sxkd2   +++|
02342  M01S00662.sxkd2   +++|
02343  M01S00663.sxkd2   +++|
02344  M01S00664.sxkd2   +++|      IF C<3,5>KB$SCAN[0] EQ ",DRD="
02345  M01S00665.sxkd2   +++|      THEN
02346  M01S00666.sxkd2   +++|        BEGIN  # COMMAND FORM *SMI,DRD=.....* #
02347  M01S00667.sxkd2   +++|
02348  M01S00668.sxkd2   +++|#
02349  M01S00669.sxkd2   +++|*                COMMAND FORM IS   *SMI,DRD=ST=N*
02350  M01S00670.sxkd2   +++|*                             OR   *SMI,DRD=DS=N*
02351  M01S00671.sxkd2   +++|#
02352  M01S00672.sxkd2   +++|
02353  M01S00673.sxkd2   +++|
02354  M01S00674.sxkd2   +++|        CHDRD = C<11,1>KB$SCAN[0];    # NUMBER DRDS FOR ST OR DS #
02355  M01S00675.sxkd2   +++|        I = XDXB(CHDRD,0,NUMDRD);
02356  M01S00676.sxkd2   +++|
02357  M01S00677.sxkd2   +++|        IF NOT (I EQ 0  AND  NUMDRD GQ 0
02358  M01S00678.sxkd2   +++|                        AND  NUMDRD LQ MAX$SMDRD)
02359  M01S00679.sxkd2   +++|        THEN  # INVALID NUMBER OF DRDS SPECIFIED #
02360  M01S00680.sxkd2   +++|          BEGIN  # DO NOT ALTER *UDT* #
02361  M01S00681.sxkd2   +++|          REJECT = TRUE;
02362  M01S00682.sxkd2   +++|          RETURN;
02363  M01S00683.sxkd2   +++|          END
02364  M01S00684.sxkd2   +++|
02365  M01S00685.sxkd2   +++|#
02366  M01S00686.sxkd2   +++|*       COMMAND FORM  *SMI,DRD=ST=N* OR *SMI,DRD=DS=N* IS VALID.
02367  M01S00687.sxkd2   +++|#
02368  M01S00688.sxkd2   +++|
02369  M01S00689.sxkd2   +++|
02370  M01S00690.sxkd2   +++|        IF C<8,3>KB$SCAN[0] EQ "ST="
02371  M01S00691.sxkd2   +++|        THEN  # PARAMETER IS *ST* #
02372  M01S00692.sxkd2   +++|          BEGIN  # SET MAX DRDS FOR STAGING #
Line S00693 Modification History
M01 (Added by) sxkd2
M02 (Removed by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02373  M02S00693.mse0011 ---|          SM$STNUM[TEMPSM] = NUMDRD;
Line S00020 Modification History
M01 (Added by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02374  M01S00020.mse0011 +++|          SM$STNUM[KUDTIND] = NUMDRD;
Line S00694 Modification History
M01 (Added by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
02375  M01S00694.sxkd2   +++|          END
02376  M01S00695.sxkd2   +++|
02377  M01S00696.sxkd2   +++|        ELSE
02378  M01S00697.sxkd2   +++|          BEGIN  # PARAM MUST BE *DS* #
02379  M01S00698.sxkd2   +++|          IF C<8,3>KB$SCAN[0] EQ "DS="
02380  M01S00699.sxkd2   +++|          THEN
02381  M01S00700.sxkd2   +++|            BEGIN   # SET MAX DRDS FOR DESTAGING #
Line S00701 Modification History
M01 (Added by) sxkd2
M02 (Removed by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02382  M02S00701.mse0011 ---|            SM$DSNUM[TEMPSM] = NUMDRD;
Line S00021 Modification History
M01 (Added by) mse0011
Seq #  *Modification Id* Act 
----------------------------+
02383  M01S00021.mse0011 +++|            SM$DSNUM[KUDTIND] = NUMDRD;
Line S00702 Modification History
M01 (Added by) sxkd2
Seq #  *Modification Id* Act 
----------------------------+
02384  M01S00702.sxkd2   +++|            END
02385  M01S00703.sxkd2   +++|
02386  M01S00704.sxkd2   +++|          ELSE
02387  M01S00705.sxkd2   +++|            BEGIN   # ST/DS PARAMETER IS INVALID #
02388  M01S00706.sxkd2   +++|            REJECT = TRUE;
02389  M01S00707.sxkd2   +++|            RETURN;
02390  M01S00708.sxkd2   +++|            END
02391  M01S00709.sxkd2   +++|          END    # *DS* PARAM #
02392  M01S00710.sxkd2   +++|
02393  M01S00711.sxkd2   +++|        END    # COMMAND FORM *SMI,DRD=.....* #
02394  M01S00712.sxkd2   +++|
02395  M01S00713.sxkd2   +++|#
02396  M01S00714.sxkd2   +++|*     AT THIS POINT, THE COMMAND HAS BEEN VALIDATED WHETHER IT IS THE
02397  M01S00715.sxkd2   +++|*     *K.SMI* FORM OR THE *K.SMI,DRD.....* FORM.  IF THE LATTER FORM,
02398  M01S00716.sxkd2   +++|*     THE *UDT* HAS ALREADY BEEN UPDATED TO REFLECT THE NEW MAXIMUM
02399  M01S00717.sxkd2   +++|*     NUMBER OF DRD-S FOR STAGING (*ST*) OR DESTAGING (*DS*).  IT IS
02400  M01S00718.sxkd2   +++|*     NOW TIME TO REPAINT THE K-DISPLAY TO REFLECT THE *SM* SELECTED.
02401  M01S00719.sxkd2   +++|#
02402  M01S00720.sxkd2   +++|
02403  M01S00721.sxkd2   +++|      KSMID = TEMPSM;
02404  M01S00722.sxkd2   +++|        KDSM;          # DISPLAY *SM* INFORMATION #
02405  M01S00723.sxkd2   +++|      RETURN;
02406  M01S00724.sxkd2   +++|
02407  M01S00725.sxkd2   +++|      END # KSM #
02408  M01S00726.sxkd2   +++|
02409  M01S00727.sxkd2   +++|
02410  M01S00728.sxkd2   +++|
02411  M01S00729.sxkd2   +++|    TERM