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 |