Previous Topic

Next Topic

Book Contents

Book Index

Example 2

The sample file provided below lists inventory information for an assembly shop.

The purpose of the rule definition is to determine if items must be ordered for department 100 – Final Assembly Shop – group -781. This is determined by adding the total amount currently in stock for department 100, group -781, and comparing this number to the minimum on-hand amount (that is stored in the Control-M/Analyzer Database). If items must be ordered, TSO user M18B is notified by the Shout facility, a remark is issued, and the rule is terminated with a NOTOK result.

Figure 296 Rule Definition Process Sample Report – Example 2

 ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-

 DATE:   08.08.00

 UPDATE: 08.08.00

                              INVENTORY REPORT

                              ----------------

 WAREHOUSE NO: 1001       DEPARTMENT:  100  -  FINAL ASSEMBLY SHOP

           ----                    ---------------------------

                              SHELF  QNTY  QNTY   QNTY   QNTY IN   TOTAL    PART     

 ITEM NO.     DESCRIPTION         LIFE   UNIT  AVAIL  ORDER  PROCESS   QNTY     CLASS

 -----------  ----------------    ----  ----  -----   ------  -------  -------  -----------

 1233-781-21  RIVET D. 0.1 ACR    NONE    KG   100.00  250.00          350.00   FLOOR STOCK

 1233-781-25  RIVET D. 0.5 ACR    NONE    KG   500.00  500.00         1000.00   FLOOR STOCK

 1233-781-27  RIVET D. 0.7 ACR    NONE    KG   100.00  100.00          200.00   FLOOR STOCK

 1234-781-21  RIVET D. 0.1 ACP    NONE    KG   100.00                  100.00   FLOOR STOCK

 2200-700-22  RUBBER RING D. 2.2  1 MON   EA    10.00   10.00           20.00   FLOOR STOCK

 2200-700-27  RUBBER RING D. 2.7  1 MON   EA    15.00    5.00           20.00   FLOOR STOCK

 DATE:   08.08.00

 UPDATE: 08.08.00

                              INVENTORY REPORT

                              ----------------

 WAREHOUSE NO: 1002       DEPARTMENT:  101  -  WINGS ASSEMBLY SHOP

           ----                    ---------------------------

                              SHELF  QNTY  QNTY   QNTY   QNTY IN   TOTAL    PART     

 ITEM NO.     DESCRIPTION         LIFE   UNIT  AVAIL  ORDER  PROCESS   QNTY     CLASS

 -----------  ----------------    ----  ----  -----   ------  -------  -------  -----------

 1233-781-21  RIVET D. 0.1 ACR    NONE    KG   100.00  250.00           350.00  FLOOR STOCK

 1233-781-22  RIVET D. 0.1 BCR    NONE    KG    10.00   50.00            60.00  FLOOR STOCK

 1233-781-25  RIVET D. 0.5 ACR    NONE    KG   500.00  500.00          1000.00  FLOOR STOCK

 1233-781-26  RIVET D. O.5 BCR    NONE    KG    25.00   25.00            50.00  FLOOR STOCK

 1233-781-27  RIVET D. 0.7 ACR    NONE    KG   100.00  100.00           200.00  FLOOR STOCK

 1233-781-28  RIVET D. 0.7 BCR    NONE    KG    20.00   80.00           100.00  FLOOR STOCK

 1234-781-21  RIVET D. 0.1 ACP    NONE    KG   100.00                   100.00  FLOOR STOCK

Figure 297 Rule Definition – Example 2

HEADER OWNER 'M18' CREATOR 'M18B' GROUP 'INVENTORY'

       DATE '080800' TIME '153005'

       DESC 'INVENTORY CHECKS AND BALANCES'

/*

 *  EXAMINE THE FILE ASSOCIATED WITH DDNAME INVINP, IN THE CURRENT

 *  STEP.

 *  (THE FILE CONTAINS THE REPORT LISTED ABOVE.)

 */

EXECUTE 'INVFILE'

ON_DD DD 'INVINP'

   /*

    *  START PROCESSING LINES WHEN THE STRING 'FINAL' IS FOUND

    *   PROCESS LINES THAT HAVE THE STRING '-781' IN POS 6-10

    *    (BUT ONLY LINES 12-59 OF EACH PAGE)

    *  STOP PROCESSING LINES WHEN THE STRING 'WINGS' IS FOUND

    */

   WHEN FLINE +6 TLINE +7 FCOL +1 TCOL +100 SEARCH 'FINAL'

   STOPWHEN FLINE 6 TLINE 7 FCOL 1 TCOL 100 SEARCH 'WINGS'

   AND

   WHEN  FLINE 12 TLINE 59 FCOL +6 TCOL +10 SEARCH '-781'

      /*

       * ACCUMULATE THE DATA IN COLUMNS 84-94 IN THE VARIABLE QTY

       */

      DO EXTRACT 'QTY' LEVEL 1 LINE +0 FCOL +78 TCOL +88 TYPE SU

/*

 *  SET DATABASE VARIABLE WITH COMPUTED QTY.

 *  CHECK IF QTY IS UNDER MINIMUM (USING DATA-BASE), AND

 *  ACT ACCORDINGLY.

 */

EXECUTE 'BAL'

ON_DATA

   ALWAYS

      DO PRINT

         DATA 'TOTAL QUANTITY FOR FINAL ASSEMBLY SHOP GRP 781 IS %%QTY'

      DO SET 'DB_INVENTORY.QTY_781' EVAL 'QTY'

   IF 'QTY < DB_INVENTORY.MIN_781_IN_STOCK@G0'

      DO SHOUT MSG 'PLEASE ORDER NEW STOCK OF GRP 781 (QTY=%%QTY)'

        URGENCY 'R' DEST 'TSO-M18B'

      DO REMARK DATA 'REQUEST ORDER OF STOCK FOR GRP QTY'

      DO TERMINATE RESULT NOTOK CODE 0004

   ELSE

      DO REMARK DATA 'STOCK OF GRP 781 IS OK'

      DO TERMINATE RESULT OK CODE 0000

Parent Topic

Rule Definition Process Examples