Previous Topic

Next Topic

Book Contents

Book Index

Examples

Example 1

Insert additional DO statements within a DO block using command I (Insert).

Figure 395 Example 1 - Using Insert Command - Before

          LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

     +--------------------------------------------------------------------------+

     __ ===========================================================================

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATA BASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATA BASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ ALWAYS

      I   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

     PLEASE FILL IN RULE DEFINITION.                                     08.53.27

An additional DO statement line has been opened.

Figure 396 Example 1 - Using Insert Command - After

          LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

     +--------------------------------------------------------------------------+

     __ ===========================================================================

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATA BASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATA BASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ ALWAYS

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO                                                                    C

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     PLEASE FILL IN RULE DEFINITION.                                     08.53.27

Example 2

Delete an EXECUTE block. Use of the DB (Delete Block) command is the preferred method. The DB command removes all parameters, comments, continuation lines, and separator lines of the specified block. DB must be specified on a main line of the block (such as, EXECUTE or ON). In this example, the SETUP EXECUTE block (indicated by A) is deleted.

Figure 397 Example 2 - Using Delete Command - Before

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

     +--------------------------------------------------------------------------+

     __ OWNER   M43                      GROUP ACCT_INV

     __ UPDATED 08/08/00  -  15:25:54    BY M43

     __ DESC    REORDER INVENTORY ITEM CHR001 IF NECESSARY

     __ OPTIONS

     __ ===========================================================================

     __ /* INITIALIZATION OF THE MINIMUM AMOUNT REQUIRED ON-HAND FOR

     __ /* INVENTORY ITEM CHR001.

     DB EXECUTE SETUP    UPON                                                   C

     __ ON DATA

     __ ALWAYS

     __   DO SET      = MIN_CHR001=100                                          C

     __ ===========================================================================

     __ /* DETERMINE CURRENT ON-HAND QUANTITY OF INVENTORY ITEM CHR001 BY

     __ /* EXTRACTING THIS VALUE FROM SYSOUT DDNAME INVENTRY.

     __ EXECUTE CHECK    UPON                                                   C

     __ ON SYSOUT     PROCST          PGMST          DDNAME INVENTRY JOBNM

     __    MODE PG    LINECT 0060    DATASTAMP

     __ WHEN LINE 001     - 060     COL 010     - 020     TYPE     STOP    AND/OR

     __      STRING = CHR001

     __   DO EXTRACT  = CURR_ONHAND

     PLEASE FILL IN RULE DEFINITION.                                     08.59.42

The SETUP EXECUTE block has been deleted. EXECUTE block CHECK has scrolled upwards on the Rule Definition screen.

Figure 398 Example 2 - Using Delete Command - After

          LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

     +--------------------------------------------------------------------------+

     __ OWNER   M43                      GROUP ACCT_INV

     __ UPDATED 08/08/00  -  15:25:54    BY M43

     __ DESC    REORDER INVENTORY ITEM CHR001 IF NECESSARY

     __ OPTIONS

     __ ===========================================================================

     __ /* DETERMINE CURRENT ON-HAND QUANTITY OF INVENTORY ITEM CHR001 BY

     __ /* EXTRACTING THIS VALUE FROM SYSOUT DDNAME INVENTRY.

     __ EXECUTE CHECK    UPON                                                   C

     __ ON SYSOUT     PROCST           PGMST          DDNAME INVENTRY JOBNM

     __    MODE PG    LINECT 0060    DATASTAMP

     __ WHEN LINE 001     - 060     COL 010     - 020     TYPE     STOP    AND/OR

     __      STRING = CHR001

     __   DO EXTRACT  = CURR_ONHAND

     __                 LEVEL 0 LINE +000 COL +050 - +060 PROCESS          TYP

     __   DO

     __ WHEN LINE         -         COL         -         TYPE     STOP    AND/OR

     __      STRING =

     __   DO

     __ ===========================================================================

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATA BASE VARIABLE

     PLEASE FILL IN RULE DEFINITION.                                     09.00.12

Example 3

Move multiple DO statements from one sub-block to another. The MM (Multiple Move) command is specified at the beginning and the end of the DO statements that are moved. The B (Before) command specifies the location before which these lines are placed.

Figure 399 Example 3 - Using Move Command - Before

          LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

     +--------------------------------------------------------------------------+

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ ALWAYS

     MM   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     MM   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     B_   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

     PLEASE FILL IN RULE DEFINITION.                                     09.02.21

The two DO SET statements have been moved to the specified location.

Figure 400 Example 3 - Using Move Command - After

          LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ ALWAYS

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  PLEASE FILL IN RULE DEFINITION.                                        09.03.16

Now, the ALWAYS sub-block should be deleted. The DB (Delete Block) command is used to remove this sub-block from the definition.

Figure 401 Example 3 - Deleting Sub-Block – Before

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATA BASEVARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     DB ALWAYS

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  PLEASE FILL IN RULE DEFINITION.                                        09.03.16

The ALWAYS sub-block has been deleted. The IF sub-block has scrolled upwards on the Rule Definition screen.

Figure 402 Example 3 - After Deleting Sub-Block – After

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

   

  PLEASE FILL IN RULE DEFINITION.                                        09.04.23

If CURR_ONHAND is less than MIN_CHR001, the DO statements specified after parameter ELSE are processed. The DO after the ELSE refers to variable %%DIFFER, but %%DIFFER has not been set appropriately. Copy the appropriate DO statements from IF to ELSE using the CC and B commands.

Figure 403 Example 3 - Copying DO Statements – Before

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     CC   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     CC   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     B_   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

   

  PLEASE FILL IN RULE DEFINITION.                                        09.04.23

The two specified lines have been copied.

Figure 404 Example 3 - After Copying DO Statements – After

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO PRINT    = DO NOT REORDER; SURPLUS=%%DIFFER                    F   C

     __   DO

     __ ELSE

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO SET      = REASON=TOLER(CURR_ONHAND,MIN_CHR001,10)                 C

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

     __ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  PLEASE FILL IN RULE DEFINITION.                                        09.05.52

Example 4

Copy a WHEN statement and some of its DO statements to another EXECUTE block. The CC (Multiple Copy) command is specified at the beginning and the end of the parameters that are copied. The B (Before) command specifies the location before which these lines are placed.

Figure 405 Example 4 - Using Copy Command - Before

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

     __ ===========================================================================

     __ /* DETERMINE CURRENT ON-HAND QUANTITY OF INVENTORY ITEM CHR001 BY

     __ /* EXTRACTING THIS VALUE FROM SYSOUT DDNAME INVENTRY.

     __ EXECUTE CHECK    UPON                                                   C

     __ ON SYSOUT     PROCST          PGMST          DDNAME INVENTRY JOBNM

     __    MODE PG    LINECT 0060    DATASTAMP

     CC WHEN LINE 001     - 060     COL 010     - 020     TYPE     STOP    AND/OR

     __      STRING = CHR001

     __   DO EXTRACT  = CURR_ONHAND

     CC                 LEVEL 0 LINE +000 COL +050 - +060 PROCESS          TYP

     __   DO COMMIT   = NOW      VAR CURR_ONHAND                                C

     __   DO

     __ WHEN LINE         -         COL         -         TYPE     STOP    AND/OR

     __      STRING =

     __   DO

===========================================================================

                                       .

                                       .

                                       .

                                       .

                                       .

                                       .

     __ ===========================================================================

     __ EXECUTE CHECK2   UPON                                                   C

     __ ON SYSOUT     PROCST           PGMST          DDNAME INVENTRY JOBNM

     __    MODE PG    LINECT 0060    DATASTAMP

     B_ WHEN LINE         -         COL         -         TYPE     STOP    AND/OR

     __      STRING =

     __   DO

 ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

The specified WHEN statement and DO statements have been successfully copied.

Figure 406 Example 4 - Using Copy Command - After

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

                                       .

                                       .

                                       .

                                       .

                                       .

                                       .

                                       .

                                       .

===========================================================================

     __ EXECUTE CHECK2   UPON                                                   C

     __ ON SYSOUT     PROCST           PGMST          DDNAME INVENTRY JOBNM

     __    MODE PG    LINECT 0060    DATASTAMP

     __ WHEN LINE 001     - 060     COL 010     - 020     TYPE     STOP    AND/OR

     __      STRING = CHR001                                                    

     __   DO EXTRACT  = CURR_ONHAND                                                 

     __                 LEVEL 0 LINE +000 COL +050 - +060 PROCESS          TYP

     __   DO

     __ WHEN LINE         -         COL         -         TYPE     STOP    AND/OR

     __      STRING =

     __   DO

_ ===========================================================================

     __ EXECUTE          UPON                                                   C

     __ ON

  ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

   

   

   

  PLEASE FILL IN RULE DEFINITION.                                        09.21.56

Example 5

Insert a continuation line between existing continuation lines. BMC recommends that command R (Repeat) be used to repeat the previous logical line.

Figure 407 Example 5 - Using Insert Command - Before

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

_ ===========================================================================

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ ALWAYS

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO PRINT    = DO NOT REORDER                                      F   C Y

     R                  SURPLUS=%%DIFFER                                        C Y

     __                 NO AUTHORIZATION FOR REORDER                            C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

 ===========================================================================

  PLEASE FILL IN RULE DEFINITION.                                        09.24.39

The continuation line has been repeated. The repeated line can be modified as necessary.

Figure 408 Example 5 - Using Copy Command - After

           LIBRARY : CTB.PROD.RULES                                RULE : REORDER

  COMMAND ===>                                                    SCROLL===> CRSR

  +-----------------------------------------------------------------------------+

  __ ===========================================================================

     __ /* COMPARE THE CURRENT ON-HAND AMOUNT (DATABASE VARIABLE

     __ /* CURR_ONHAND) TO THE MINIMUM REQUIRED AMOUNT (DATABASE VARIABLE

     __ /* MIN_CHR001). DETERMINE IF REORDERING IS NECESSARY, AND PRINT A

     __ /* MESSAGE INDICATING THE RESULTS

     __ EXECUTE COMPARE  UPON                                                   C

     __ ON DATA

     __ ALWAYS

     __   DO SET      = DIFFER=CURR_ONHAND-MIN_CHR001                           C

     __   DO

     __ IF       CURR_ONHAND>=MIN_CHR001                                        C

     __   DO PRINT    = DO NOT REORDER                                      F   C Y

     __                 SURPLUS=%%DIFFER                                        C Y

     __                 SURPLUS=%%DIFFER                                        C Y

     __                 NO AUTHORIZATION FOR REORDER                            C

     __   DO

     __ ELSE

     __   DO PRINT    = REORDER; DEFICIT=%%DIFFER                           F   C

     __   DO

     __              (ENTER "ALWAYS", "IF")

  PLEASE FILL IN RULE DEFINITION.                                        09.26.02

Parent Topic

Editing Rule Definitions in the IOA Edit Environment