Material requirements planning system5101352Abstract An integrated MRP system for distributors, manufacture and job shops is provided. The MRP system of the present invention is specifically directed to an user which manufactures and sells products that have a wide variety of options. In particular, the MRP system of the present invention provides two key features. The first feature allows the user to define items which uniquely characterize the product for a customer order, purchase order, to work order. The second unique feature of the MRP system of the present invention is the application of user-defined formulas which allow the user to include user-defined formulas which determined the quantity and/or size of a part based on the selected options. Thus, the MRP system of the present invention allows the user who manufactures and sells a number of styles with a wide variety of options to employ an MRP system without a correspondingly high manintenance overhead. Claims I claim: Description BACKGROUND OF THE INVENTION
TABLE 1
______________________________________
Standard Header File MaintTIME 15:54 TERM 8
______________________________________
##STR1##
##STR2##
##STR3##
##STR4##
##STR5##
##STR6##
______________________________________
Entering a New Product Standards Record 1. Product Standards Code The user may enter any alphanumeric code, up to 20 characters in length. This code will be used to identify the Product Standards record throughout the system. If this Product Standards record is for a regular production item, the user may want to enter the item code for ease of reference. 2-4. Description The user may enter three 30 character lines of descriptive information about each Product Standards record. 5. SCRAP FACTOR If the manufacture of the product normally results in some known percentage of defective product, then that percentage can be entered under "Scrap Factor". The Estimating and Product Standards Module 28 will then use this figure when calculating production quantities to insure that enough good product is manufactured to meet requirements. 6. Lead Time This figure may be used for scheduling. When requirements are entered for delivery on a specific date, the system uses this lead time to calculate when the work order should be issued in order to meet the required delivery date. Enter the lead time, in plant hours. If no lead time is entered, the system will use the default lead time from the work order control parameters. At the conclusion of this screen, the message `Enter line to change` will appear. The user should enter an `M` to maintain Product Standards detail lines. Entering Product Standards Records Detail Lines After the user have entered an `M` to maintain detail from the Product Standards header screen, the following screen will appear:
TABLE 2
______________________________________
Product Standards Detail File MaintTIME 15:57 TERM 8
______________________________________
##STR7##
##STR8##
##STR9##
##STR10##
##STR11##
##STR12##
##STR13##
##STR14##
##STR15##
##STR16##
Standard Calc Parameters:
##STR17##
##STR18##
##STR19##
##STR20##
##STR21##
##STR22##
##STR23##
##STR24##
##STR25##
##STR26##
______________________________________
The Product Standards code and Description 1 from the Product Standards header are displayed at the top of the screen. 1. Line Number If the manufacturing operation uses reporting stations, the first digit of the line number is the reporting station associated. When the user have entered a valid reporting station number, the reporting station description will be displayed to the right and the cursor will move one space to the right, on the same line for the user to enter the sequence number portion of the line number. If the user do not use reporting stations, the line number and the sequence number are the same. If the user are adding records, the system will assign the next sequence number, starting with 10 and incrementing by 10. If the user wants to insert a record between two existing ones, he enters a number that is between the existing records where this one is to be inserted. 2. Operation Type Operation types are used to specify the general kind of processing accomplished by this Product Standards detail line. This is somewhat user-defined, as not all types apply to all companies. The types that are available include the following: `L`abor: A labor operation is one which must be performed at a specific department or work center. Primary concerns for labor operations are production scheduling, capacity planning, and labor costing. The manufacturing operation control record may require that all Labor operations be set up as standard operations. `M`aterial: Materials operations are raw materials that are consumed in the production process by this operation. Primary concerns for materials operations are inventory reporting, materials requirements planning, and material costing. The manufacturing operation control record may require that all Material lines be items from the item file. `O`utside services: These are direct costs which are incurred as part of the production process, but do not affect inventory usage, labor costs, planning, scheduling, or capacity. The primary concern of outside service operations is their impact on costing. Outside services may be set up as standard operations. `C`omments: These are notes or reminders associated with a specific operation. The purpose of most comments is for printing on production documents, and they have no impact on costing or scheduling. Comments may be set up as standard operations. Other Costs: There may be up to seven user-defined other costs. Each is identified by a number (1-7). Other costs are used for tracking any other type of specific cost that does not fall into one of the types described above. The manufacturing operation control record determines which other costs are used. The user must enter a valid operation type for each Product Standards detail line. 3. Labor Code/Item The user's entry for this field depends on the operation type the user entered above. If the operation type is labor, the user enters a department number and the department name will be displayed. If the manufacturing operation uses work centers, the cursor will move to the right on the same line for the user to enter a work center code. When the user enters a work center code for this detail line the work center description will be displayed on the right. If the operation type is material, he enters the item code for the material to be used in this detail line. The manufacturing operation control record determines whether or not the user must enter a valid item code from the item file. If the operation type is comment, other cost, or outside service, this entry is not used unless this Product Standards detail record uses a standard operation. If not used, the user may move to the next field. If this detail record is a Standard Operation, the user enters the labor code that was used for this Standard Operation. The cursor will then move to the description field. 4. Operation/Category This field is only applicable for Labor or Material operation types. For a labor item, this field allows the user to specify a Standard Operation. If the user want to use a Standard Operation for this Product Standards detail record, he enters the Standard Operation code here. The manufacturing operation control record may require that the user enter a Standard Operation code for all labor operations. For a material item, the cursor will skip this field if the user entered a valid item code, and the product category code for this item will be displayed. If the manufacturing operation control record allows the user to enter material lines for materials that are not in your item file, and this is such a line, the user must enter a valid product category code. 5. Description If this detail line uses a Standard Operation, the description from the Standard Operation record will be displayed as the default. If this detail line uses an item record from the item file, the item description from the item record will be displayed as the default. The user may accept the default or enter a different description. If one of the cases described above does not apply, a default description will not be displayed and the user may type a description up to 30 characters long. 6. Reporting Type There are two choices available, though both may not be used by the manufacturing operation. The reporting types are (S)tandard or (A)ctual. If both types are not used by the manufacturing operation, the one that is used will be displayed and the cursor will skip this entry. Reporting type refers to the calculation method that will be used for computing the costs and quantities used in the manufacturing process for the Product Standards. Standard reporting is used because it requires less data entry at completion time, but it reports standard quantities, which may be less accurate than actual reporting. Standard reporting should be used for reporting items that are inexpensive or not likely to deviate significantly from standard quantities. Actual reporting is used because it is more accurate than standard reporting, but it requires more data entry at reporting time. The exact quantities that were used in the manufacturing process are reported and used for calculating costs and usages. Actual reporting should be used for items that are expensive or highly variable from standard quantities. 7. Quantity Calculator This refers to the method used for calculating the quantity required for this operation. There are two choices (D)efault or (F)ormula, though both may not be available for the manufacturing operation. If both alternatives are not used by the manufacturing operation, the method that is used will be displayed and the cursor will skip this entry. Default calculations are based on the quantities specified in the calculation parameters section of this operation. To use the default method, the user enters an `D`. Formula calculations are be based on the results of a formula. To use the formula method, the user enters an `F`. The cursor will move to the right for the user's to enter the formula code that is to be used. The user must enter a valid formula code. Product Standards Detail Lines Calculation Parameters The following fields are displayed under the heading "Calculation Parameters". The manner in which each of these items is used varies according to the operation type. If the user are not already familiar with the structure of system defaults used for these fields, the user should read the `Note` that appears below. The system offers a multi-level default structure, or `pecking order` for locating the particular parameter values that are used when performing calculations. At each level in the pecking order, the system attempts to locate a value that is greater than zero. If such a value is located, it will be used for calculations and subsequent levels in the pecking order will not be used. Zero will be used for calculations if, at the end of the pecking order a greater value has not been located. This pecking order is used on an individual basis for each parameter--one parameter may be found at one level in the pecking order, the next may be at a different level. At the first level of the pecking order, the system uses parameter values from the estimate or work order detail line. The system will default to the next level in the pecking order for any values not entered on the detail line. The next level in the pecking order is the Product Standards record, if one was used to create the estimate. The system will default to the Product Standards detail for value(s) not entered in the estimate or work order detail. If the values are not entered in the Product Standards detail, or if a Product Standards record was not used to create the estimate, the system will default to the next level in the pecking order. If the operation type for this line is Other cost, Comment, or one of the seven user-defined costs, this is the last level in the pecking order unless a Standard Operation was used. If the operation type is Material, the cost, or rate per unit, is the only value for which there is another level in the pecking order. If a value has not been located by the final level in the pecking order for any parameter, a zero will be used when performing calculations. If the operation type is material, the next, and final level in the pecking order is used only for finding the rate, or cost. If an item (from the item file) was specified for this material line, the system will default to the cost entered in the item record. There are three costs in each item record, last, standard, and average. The manufacturing operation control record determines which will be used. If an item record does not exist for this material line, zero will be used for calculations. For non-material operation types, the system will default to the Standard Operations record, if one was used. Except for the `rate` in labor operations, this is the final level in the pecking order. If the estimate or work order detail record does not use a Standard Operation, or if parameter values cannot be located in the Standard Operation record, zero will be used for calculations. The last item in the pecking order is used only for locating the rate per unit for labor detail lines. The system defaults to the department record, and uses the hourly rate for this pay type. If there is no hourly rate specified in the department record, a zero will be used for calculations. 9. Setup Time/Scrap If this is a labor operation, setup time refers to the time (in number of hours) required to prepare for the operation to begin. If setup time is applicable to this operation, the user enters the time. If a setup time is not applicable, the user leaves it blank. If this is a material operation, scrap refers to the number of units that are wasted each time the material operation is performed. If applicable, the user enters the quantity. If scrap is not applicable for this material, the user leaves it blank. 10. Frequency If this is a labor operation and the user have entered a setup time, the user may use this entry to indicate the rate of occurrence with which the setup must be executed. For example, if this labor operation requires a setup time of 1 hour, and the setup must be executed again after 30 units are produced, then the setup time is 1.0 and the frequency is 30. If this is a material line and the user have entered a scrap amount, the user may enter a frequency to indicate the rate at which the scrap amount is incurred. For example, if this material results in a scrap of 1 unit for each 30 units that are produced, the user should enter 1 for scrap, and 30 for the frequency. This entry is generally not used if the user did not enter a setup time, or for operations that are not labor or material. If the user chooses not to use it, he leaves it blank. 11.-12. Run Time/Quantity and Unit of Measure For labor operations, these fields are dependent on each other. Their use is best illustrated through examples: Example 1 If the user wants to specify a number of hours per unit of output, he enters the number of hours required to perform this operation for one unit of output, and `HPP` (hours per piece) as the unit of measure. This method is generally used for operations that take a relatively long time to perform. For an operation that requires one and a half hours to perform, the user should enter 1.5 as the run time and HPP as the unit of measure. EXAMPLE 2 If the user want to specify a number of units produced per hour, he enters the number of units in run time, and `PPH` (pieces per hour) as the unit of measure. This method is generally used for operations which take very little time to perform. For an operation that yields 1000 pieces per hour, the user should enter 1000 as the run time, and PPH as the unit of measure. 13. Rate Per Unit If the user are not already familiar with the way in which the system uses rates and defaults, the user should read the `Note about parameter defaults` at the beginning of this section. If this is a labor operation, the rate per unit refers to the standard hourly rate for the department/work center where this operation is performed. If this is a material operation, the rate per unit refers to the cost for the raw material. If this is another type of operation, the rate per unit refers to the cost per unit of the operation. Entries 14-16 apply only to labor operations: 14. Pay Type If this is a labor line, the user must enter a valid pay type code. This code is used to determine the pay rate for calculating labor costs. It is also used if the user are interfacing to payroll. 15. Move Time This entry allows the user to indicate the length of time required to move this item from the previous work station to this work station. If entered, this field is important for reporting labor costs incurred by move time, as well as for shop scheduling. 16. Queue Time This entry allows the user to specify a time for which the product must sit idle at this work station before this operation may begin. If the length of time is significant, this entry is important for its impact on shop scheduling. 17. Percent Overlap This entry refers to the percentage of completion of this operation at which the next operation may begin. For example, if there is a 40% overlap, then when this operation has been completed on 60% of the items, execution of the next operation may begin. This entry is used primarily for calculating lead times and for shop scheduling. If not applicable, the user leaves this field blank. 19. Print on Document # The production documents used by the manufacturing operation are specified in the manufacturing operation control record. The user may use up to nine different documents, and all are user-defined. Each production document is assigned a one-digit number. When production documents are generated, detail lines are selected for printing based on the print on document flags. For each production document that the user want this Product Standards detail line to print on, he enters the production document number. The system will display the name of the production document, and the cursor will move to the right side of the screen. The user enters a `Y` or an `N` depending on whether or not the user wants this operation to print on the document. When the user have selected all the production document flags the user want for this operation, he enters a 0 for the document number, and the cursor will move to the next entry. After completing the entry of the Product Standards detail line. The cursor will move back to the line number entry for the user to enter another detail line or may be returned to the first screen. Changing an existing Product Standards record To modify an existing Product Standards record, the user must first display it on the user's screen. The user may locate the record using pre-defined function keys or the user may enter the Product Standards code. Once the user have displayed a record on the user's screen, the user may change any of the details on the header screen by entering the number of the line the user want to change and entering a different value. Each field on this screen is described in the preceding pages. If the user wants to change something on a detail line, the user first displays the Product Standards header, then enter an `M` to maintain detail. He can then enter the line number of the detail line the user want to change or use a function key to locate the line. Once the line has been displayed on the user's screen, the user may make changes by entering the number of the field the user want to change, and entering a different value. Each field on the screen is described in the preceding pages. Deleting an existing Product Standards record To delete an existing Product Standards record, the user must first display it on the user's screen. The user may locate the record using function keys or the user may enter the Product Standards code and the header will be displayed on the user's screen. Once the user have displayed the Product Standards header to be deleted, the user may choose option `D` for delete. Product Standards are not immediately deleted from the file--they are flagged for deletion at a later date. Product Standards records which have been flagged for deletion remain in the file until the `Purge deleted Product Standards` program has been run. Whenever a Product Standards that has been flagged for deletion is displayed on the user's screen, the word `DEL` will appear in the top right corner of the user's screen. (See Chapter 4, Periodic Procedures for information about deleting Product Standards records.) To delete Product Standards detail records, the user should first locate the Product Standards header, then choose option `M` to maintain lines. Locate the line the user want to delete, and choose option `D` to delete the line. Product Standards detail lines are flagged for deletion in the same manner as Product Standards headers (described above). Turning now to FIG. 11, a detailed flow chart illustrating the process of Detail Formula Entry/Change, shown in FIG. 7, is shown. A discussion of its operation follows: Estimating and Product Standards Detail Formula Definitions This option is used to create, change or delete the detail formulas used by the Estimating and Product Standards Module 28. The manufacturing operation control record specifies whether or not detail formulas are used by the manufacturing operation. If they are not used, this option will not appear on the user's menu. Detail formulas are executed when the calculation type in a Product Standards/estimate/work order detail record specifies a formula name. Detail formulas are used to calculate quantities, costs, overhead, and lead times for estimates, work orders or MRP. Several types of formulas are used throughout the MRP system of the present invention. All formulas use the same logic and operations, and all formulas are set up and maintained in the same manner. Depending on the module in which the formulas are used, however, different parameter tables apply. Therefore, when setting up or maintaining formulas, be sure to use the parameter table listing for that type of formula. When selecting this option, the following screen will be displayed:
TABLE 3
______________________________________
Detail Cost Formula File MaintTIME 10:50 TERM 3
______________________________________
##STR27##
##STR28##
##STR29##
##STR30##
##STR31##
______________________________________
1. Formula Code Enter a code (up to six alphanumeric characters) to identify this formula. If the user enter an existing formula code, the values will be displayed for the user to edit or delete. If the user are establishing a new formula, the user should enter an unused formula code, and the cursor will move to the first description line. 2.-4. Description 1-Description 3 The user may enter up to three 30-character lines of description about the formula the user are entering. 5. Trace Flag The user enters "Y" if the user wants to trace what happens when the user calculate the user's estimate otherwise enter "N". If the user put a tracer on the formula then it creates a file called xxxTRCyy (where xxx=company id, yy=terminal number) which can be printed from the operating system. The following is an example of a printout of a traced formula:
TABLE 4
______________________________________
FAB01 00 0010 01 01 01 00000000.000000 01
01 00 0000
FAB01 00 0020 01 77 01 00000000.000000 02
1040 01 00 0000
FAB01 00 0025 01 78 01 00000000.000000 01
01 00 0000
FAB01 00 0026 01 77 01 00000000.000000 02
1040 01 00 0000
FAB01 00 0030 01 47 02 00000001.000000 02
1040 01 00 0000
FAB01 00 0040 01 83 01 00000000.000000 01
02 T 00 0000
______________________________________
The first column represents the formula name. The next column represents the current level number of the environment. The third column represents the line number in the formula. The fourth column tells the user the user's block level in reference to begin/end blocks. This is useful when using multiple begin/end blocks. The fifth column tells the Op Code that is executed. The sixth and seventh columns represent the next numeric stack location available and the numeric stack value. The eighth and ninth columns represent next alpha stack location available and the alpha stack value. The tenth and eleventh columns represent the next boolean stack location available and the boolean stack value. The twelfth column represents the return error code and the last column represents the user error code. This completes the formula header information. If the user want to maintain formula detail lines, the user enters an `M` for maintain at the `enter line to change` prompt. Maintaining Formula Detail Lines When the user choose `M` to maintain formula detail lines, the following screen will appear:
TABLE 5
______________________________________
Est & Stds Detail Formula MaintTIME 17:23 TERM 25
______________________________________
##STR32##
##STR33##
##STR34##
##STR35##
##STR36##
##STR37##
3. Operand
##STR38##
______________________________________
1. Line Number Each formula detail line must be assigned a line number. If the user are entering a new formula, the system will assign the next available line number. In assigning line numbers, the system uses increments of 10. It is advisable to use line numbers with an increment that allows for the insertion of new lines at a later date. If the user are editing an existing formula, he enters the line number for the line the user want to change, or enter an unused line number to insert a new line. 2. Op Code The operation code refers to the logical operation to be performed. Operation codes used for all formulas are the same. An op code listing appears in the formula appendix section at the end of this volume. When the user have entered a valid op code, the operation description will be displayed. 3. Operand If an operand applies for the op code the user have entered, the cursor will move to this field. The operand refers to the parameter upon which the operation is to be performed. The user must make a valid entry from the accompanying parameter table. 4. Comment The user may enter a comment line to describe this formula detail line. The comment appears on the formula listings. Formula Parameter Tables The parameter table lists all the parameters that may be used in detail formulas. The parameter table for the type of formula the user is maintaining is used. Table headings begin with Param No and Param Name to clarify referring to the table items. Each parameter is one of the following types: A Alphanumeric: This indicates that the parameter value is alphanumeric. N Numeric: Indicates that the parameter value is numeric. E Either: Indicates that the parameter value may be numeric or alphanumeric. B Boolean: Indicates that the parameter value is either a true or false value. Parameters in the table may be set by the MRP system or the formula, as indicated in the table. Likewise, parameters may be read by the MRP system or the formula, as indicated in the table. It is important to remember that the table actually provides the place where information is stored before, during, and after the formula is executed. A more detailed discussion of how to write formulas follows later.
TABLE 6
______________________________________
Param Parameter Set By Read By
No Name Ty Sys Frm Oper Sys Frm
______________________________________
1 Est/WO Item to
A Y Y
be Mfg
2 Est/WO Router
A Y Y
Code
3 Est/WO Item A Y Y
Category
4 Est/WO Option 1
E Y Y
5 Est/WO Option 2
E Y Y
6 Est/WO Option 3
E Y Y
7 Est/WO Option 4
E Y Y
8 Est/WO Option 5
E Y Y
9 Est/WO Option 6
E Y Y
10 Est/WO User A Y Y
Option 1
11 Est/WO User A Y Y
Option 2
12 Est/WO User N Y Y
Value 1
13 Est/WO User N Y Y
Value 2
14 Est/WO Total N Y Y
Qty to Mfg
15 Est/WO Lead N Y Y
Time
16 Mfg Item Record
B Y Y
Flag
17 Mfg Item Unit of
A Y Y
Measure
18 Mfg Item Unit
N Y Y
Weight
19 Mfg Item N Y Y
Average Cost
20 Mfg Item Last
N Y Y
Cost
21 Mfg Item N Y Y
Standard Cost
22 Mfg Item Width
N Y Y
Per Unit
23 Mfg Item Height
N Y Y
Per Unit
24 Mfg Item Length
N Y Y
Per Unit
25 Mfg Item User
A Y Y
Option -1
26 Mfg Item User
A Y Y
Option -2
27 Mfg Item User
N Y Y
Value -1
28 Mfg Item User
N Y Y
Value -2
29 Est/WO Detail
B Y Y
Record Flag
30 Est/WO Detail
A Y Y
Type
31 Est/WO Detail
A Y Y Y
Dept Code
32 Est/WO Detail
A Y Y Y
Work Center
33 Est/WO Detail
A Y Y Y
Item
34 Est/WO Detail
N Y Y Y
Item Whse
35 Est/WO Detail
A Y Y Y
Oper/Mod
36 Est/WO Detail
N Y Y
Setup/Scrap
37 Est/WO Detail
N Y Y
Freq
38 Est/WO Detail
N Y Y
Run Time/Qty
39 Est/WO Detail
A Y Y
U/M
40 Est/WO Detail
N Y Y
Rate/Cost
41 Est/WO Detail
A Y Y
Pay Type
42 Est/WO Detail
N Y Y
Move Time
43 Est/WO Detail
N Y Y
Queue Time
44 Est/WO Detail
N Y Y
Overlap %
45 Est/WO Detail
N Y Y
User Value
46 Est/WO Detail
N Y Y
Qty Compl
47 WT Record Flag
B Y Y
48 WT Type A Y Y
49 WT Dept Code A Y Y
50 WT Work Center
A Y Y
51 WT Item A Y Y
52 WT Item Whse N Y Y
53 WT Oper/Cat A Y Y
54 WT Serial A Y Y
Number
55 WT Vendor N Y Y
Number
56 WT Setup Time/
N Y Y
Scrap
57 WT Run Time/ N Y Y
Quantity
58 WT Unit of A Y Y
Measure
59 WT Cost per Unit
N Y Y
60 WT Employee N Y Y
No
61 WT Shift N Y Y
62 WT Pay Type A Y Y
Code
63 WT Quantity N Y Y
Completed
64 WT Quantity N Y Y
Scrap
65 Company GNA N Y Y
Overhead Rate
66 Plant Code A Y Y
67 Plant Def RM N Y Y
Item Whse
68 Plant Def FG N Y Y
Item Whse
69 Plant Mfg N Y Y
Overhead Rate
70 Plant Reg Labor
N Y Y
Rate
71 Plant Ovt Labor
N Y Y
Rate
72 Plant Spc Labor
N Y Y
Rate
73 Plant User N Y Y
Value 1
74 Plant User N Y Y
Value 2
75 Plant User N Y Y
Value 3
76 Dept Record Flag
B Y 81 Y
77 Dept Mfg Over-
N Y 81 Y
head Rate
78 Dept Reg Labor
N Y 81 Y
Rate
79 Dept Ovt Labor
N Y 81 Y
Rate
80 Dept Spc Labor
N Y 81 Y
Rate
81 Dept User N Y 81 Y
Value 1
82 Dept User N Y 81 Y
Value 2
83 Dept User N Y 81 Y
Value 3
84 Work Center B Y 82 Y
Record Flag
85 Work Center Mfg
N Y 82 Y
Ovhd Rate
86 Work Center Def
A Y 82 Y
Pay Type
87 Work Center Reg
N Y 82 Y
Labor Rate
88 Work Center Ovt
N Y 82 Y
Labor Rate
89 Work Center Spc
N Y 82 Y
Labor Rate
90 Work Center N Y 82 Y
User Value 1
91 Work Center N Y 82 Y
User Value 2
92 Work Center N Y 82 Y
User Value 3
93 Item Record Flag
B Y 83 Y
94 Item Unit of A Y 83 Y
Measure
95 Item Unit Weight
N Y 83 Y
96 Item Average N Y 83 Y
Cost
97 Item Last Cost
N Y 83 Y
98 Item Standard
N Y 83 Y
Cost
99 Item Width Per
N Y 83 Y
Unit
100 Item Height Per
N Y 83 Y
Unit
101 Item Length Per
N Y 83 Y
Unit
102 Item User A Y 83 Y
Option -1
103 Item User A Y 83 Y
Option -2
104 Item User N Y 83 Y
Value -1
105 Item User N Y 83 Y
Value -2
Turning now to FIG. 12, a detailed flow chart illustrating the process of Estimate Entry/Change, shown in FIG. 7, is shown. A discussion of their operations follows: Estimate File Maintenance The Estimate File 52 of the MRP system of the present invention is used to create or modify an estimate, calculate costs, prices and print the estimate. The user may create estimates for regular production items and for special, custom, or modified items. The user may also change details for an existing estimate. Each Estimate record consists of two components, a Estimate header and the Estimate detail records. Each estimate has one header which identifies the estimate and contains the item number, description, category, and manufacturing quantities. Each Estimate record may contain multiple detail records, each of which contains information about a specific component of production required to build the item. The header screen appears as shown below:
TABLE 7
______________________________________
Estimate Header File MaintTIME 8:59 TERM 8
______________________________________
##STR39##
##STR40##
##STR41##
##STR42##
##STR43##
Quantities
##STR44##
##STR45##
##STR46##
##STR47##
______________________________________
The user may use any of the four alternatives described below to create a new Estimate: The usual way to create an Estimate is to use an existing Product Standards record. To use this method, the user first completes the Estimate header screen, entering the Product Standards code that the user wants to use in field #4. At the completion of this screen, the user will be asked if the user wants to copy the Product Standards into the Estimate detail and the user should respond "Y"es. The Product Standards will be duplicated into the Estimate detail. The user then may proceed with Estimate calculations and printing. If the user is preparing an estimate for an item that is similar to an existing Product Standards record, the user may use the method described above to created the Estimate record, then edit the details that are different from the Product Standards record similar to maintaining Estimate detail. If the user do not have a Product Standards record that can be used for creating an Estimate record, the user may enter the Estimate header as discussed below, leaving a blank for entry #4, "Product Standards Code". The user will then have to enter each detail record. If the user has an Estimate record already created that is similar to the one the user wants to create, the user may copy the old one using the rename feature. The user first brings up the Estimate record to be copied. When the original Estimate record is displayed on the user's screen, the user presses the "R" key to Replicate. The user then will be asked if the user want to delete the original Estimate record. The user should respond "N"o and the cursor will move to the Estimate code entry. The user then enters the code for the new Estimate record to duplicate the header and detail of the original Estimate record into the new Estimate record. The user may then edit the header or detail. If the user are using one of the methods that copies the Product Standards detail into the Estimate record, the user enters the Product Standards code at the time the Estimate record is created and the user must also respond "Y"es when asked if the user want to copy the Product Standards into the Estimate detail. The only opportunity the user has to copy Product Standards into an Estimate record is at the time the Estimate record is created. 1. Estimate Code For a new Estimate record, the user may assign any alphanumeric code, up to eight characters in length. If the user want to change an existing Estimate record, he first enters the code. If the user entered a valid estimate code, the remaining values on the user's screen will be displayed. 3. Item Number If the user are preparing an Estimate record for a regular production item, the user enters the item code here, as it appears on the Inventory Item File. If the user uses multiple locations, the user will also have to enter the location code for this item. When the user make a valid entry, the item description will be displayed on the right side of the user's screen. If this Estimate record is for an item that is not in the Inventory Item file, the user may leave this entry blank or enter up to 15 characters of information for the user's reference. 4. Product Standards Code This entry is the link to the Product Standards file. If the method the user are using to create the Estimate record copies the Product Standards, the user must enter the Product Standards code here. If the item the user entered above specifies a Product Standards code on the source screen, that code will be displayed and the Product Standards description will be displayed in the spaces to the right. If the user did not enter an Inventory Item code above or if the item the user entered does not specify a Product Standards code, the user may enter the Product Standards code. Alternatively, the user may use the index feature to display and select a Product Standards code. The entry of a Product Standards code is not required and the user may to leave this entry blank. 5. Category Code If a valid item number was entered for this Estimate record, then the product category code for this item will be displayed, and the category description will be displayed to the right. If the user did not enter an item number for this Estimate record, the user must specify a valid product category code. 6-11. Item Options If options have been specified for the product category shown above, the user's screen will display the options descriptions, beginning with entry #6. For each option the user must enter an option value. If the option requires valid option checking, the system will verify that the user have entered a valid option value. The user may enter the valid option value by typing it or select the value using the index feature as described below: When using the index feature to see the valid options, if the user wants to display the valid options that are available for an option, the user may use the index feature by positioning the cursor on the option, then pressing the pre-selected function key. A box will appear on the user's screen with valid options displayed inside. The selection cursor will be positioned on the first option in the box. Only a limited number of option values are shown at one time but the user may use the following function keys to display more valid options or to move the selection cursor. "F1" When multiple screens of valid option values are required, this function key will return the user to the first screen. "F2" This key moves the selection cursor down one line at a time. "F3" This key moves the selection cursor up one line at a time. "F4" This key displays the next screen of valid option values. "F8" This key is used to insert the valid option value currently chosen by the selection cursor into the Estimate record and end the index feature. 12. Description If a valid Product Standards code was entered above, then the description from the Product Standards File will appear in this space. The user may change this description or accept it. If a valid Product Standards code was not entered, the user may enter any 30 character alphanumeric description for this Estimate record. 13-16. Quantities The user enters the manufacturing quantities for which the Estimate record is to be calculated. The user may enter up to four different quantities. In performing calculations, the system will automatically consider production efficiencies such as setup time, queue time, frequencies, etc. for each quantity. The following steps depend on whether the user is creating a new Estimate record or modifying an existing one: If the user have created a new Estimate record using a product standards as the basis, the user will be asked "Do the user wish to copy the product record now ("Y" or "N")? The user should respond with a "Y"es and the system will copy the Product Standards detail from the Product Standards code the user entered above. This is the user's only opportunity to copy the Product Standards detail into the Estimate record. The user may then calculate and print the Estimate record as described below or choose "M" to maintain detail and change any of the details that were copies from the Product Standards record. If the user are not using a Product Standards as the basis for this Estimate record, the user should choose option "M" to maintain estimate detail and enter the Estimate detail record. If the user has returned to this screen after entering or changing Estimate detail records, the user may change information on the header screen or continue. Calculating and Printing Estimates Each time the user enters or changes an Estimate record, the user will be asked if the user wants to calculate and print the Estimate record before returning to the menu. These processes are identical to menu options 2 and 3 from the Estimate processing sub-menu. After clearing the Estimate header screen, the user will be asked "Do you want to calculate the estimate now?" The user should only proceed with calculations after the user has finished entering or changing estimate details. If the user is ready to calculate the estimate, he enters a "Y". If the user enters an "N", the user will be returned to the menu. If the user has chosen to calculate the estimate, the following calculations are performed and the results are displayed on the user's screen. The user will be asked "Do you want to print the estimate?" If the user enters an "N", the user will be returned to the menu. If the user enters a "Y", the user will be asked for which of the four manufacturing quantities the user wants to print, then the user will be asked to choose an output selection. The report will be printed and the user's menu displayed. After the user has entered an `M` to maintain detail from the Estimate header screen, the following screen will appear:
TABLE 8
______________________________________
Estimate Detail File MaintTIME 15:57 TERM 8
______________________________________
##STR48##
##STR49##
##STR50##
##STR51##
##STR52##
##STR53##
##STR54##
##STR55##
##STR56##
##STR57##
Standard Calc Parameters:
##STR58##
##STR59##
##STR60##
##STR61##
##STR62##
##STR63##
##STR64##
##STR65##
##STR66##
______________________________________
The Estimate code and Item Number from the Estimate header are displayed at the top of the screen. 1. Line Number If the manufacturing operation uses reporting stations, the first digit of the line number is the reporting station (0-9) with which this Estimate detail line is associated. When the user have entered a valid reporting station number, the reporting station description will be displayed to the right and the cursor will move one space to the right, on the same line for the user to enter the sequence number portion of the line number. If the user do not use reporting stations, the line number and the sequence number are the same. If the user are adding records, the system will assign the next sequence number, starting with 10 and incrementing by 10. If the user want to insert a record between two existing ones, he enters a number that is between the existing records where this one is to be inserted. 2. Operation Type Operation types are used to specify the general kind of processing accomplished by this Estimate detail line. This is somewhat user-defined, as not all types apply to all companies. The types that are available include the following: `L`abor: A labor operation is one which must be performed at a specific department or work center. Primary concerns for labor operations are production scheduling, capacity planning, and labor costing. The manufacturing operation control record may require that all Labor operations be set up as standard operations. `M`aterial: Materials operations are raw materials that are consumed in the production process by this operation. Primary concerns for materials operations are inventory reporting, materials requirements planning, and material costing. The manufacturing operation control record may require that all Material lines be items from the item file. `O`utside services: These are direct costs which are incurred as part of the production process, but do not affect inventory usage, labor costs, planning, scheduling, or capacity. The primary concern of outside service operations is their impact on costing. Outside services may be set up as standard operations. `C`omments: These are notes or reminders associated with a specific operation. The purpose of most comments is for printing on production documents, and they have no impact on costing or scheduling. Comments may be set up as standard operations. Other Costs: There may be up to seven user-defined other costs. Each is identified by a number (1-7). Other costs are used for tracking any other type of specific cost that does not fall into one of the types described above. The manufacturing operation control record determines which other costs are used. The user must enter a valid operation type for each Estimate detail line. 3. Labor Code/Item The user's entry for this field depends on the operation type the user entered above. If the operation type is labor, the user enters a department number and the department name will be displayed. If the manufacturing operation uses work centers, the cursor will move to the right, on the same line for the user to enter a work center code. Enter a work center code for this detail line, and the work center description will be displayed on the right. If the operation type is material, the user enters the item code for the material to be used in this detail line. The manufacturing operation control record determines whether or not the user must enter a valid item code from the item file. If the operation type is comment, other cost, or outside service, this entry is not used unless this Estimate detail record uses a standard operation. If not used, the user may move to the next field. If this detail record is a standard operation, the user enters the labor code that was used for this standard operation. The cursor will move to the description field. 4. Operation/Category This field is only applicable for Labor or Material operation types. For a labor item, this field allows the user to specify a standard operation. If the user want to use a standard operation for this Estimate detail record, he enters the Standard Operation code here. The manufacturing operation control record may require that the user enter a Standard Operation code for all labor operations. For a material item, the cursor will skip this field if the user entered a valid item code, and the product category code for this item will be displayed. If the manufacturing operation control record allows the user to enter material lines for materials that are not in the user's item file, and this is such a line, the user must enter a valid product category code. 5. Description If this detail line uses a Standard Operation, the description from the Standard Operation record will be displayed as the default. If this detail line uses an item record from the item file, the item description from the item record will be displayed as the default. The user may accept the default or enter a different description. If one of the cases described above does not apply, a default description will not be displayed, and the user may type a description up to 30 characters long. 6. Reporting Type There are two choices available, though both may not be used by the manufacturing operation. The reporting types are (S)tandard or (A)ctual. If both types are not used by the manufacturing operation, the one that is used will be displayed and the cursor will skip this entry. Reporting type refers to the calculation method that will be used for computing the costs and quantities used in the manufacturing process for this Estimate. Standard reporting is used because it requires less data entry at completion time, but it reports standard quantities, which may be less accurate than actual reporting. Standard reporting should be used for reporting items that are inexpensive or not likely to deviate significantly from standard quantities. Actual reporting is used because it is more accurate than standard reporting, but it requires more data entry at reporting time. The exact quantities that were used in the manufacturing process are reported and used for calculating costs and usages. Actual reporting should be used for items that are expensive or highly variable from standard quantities. 7. Quantity Calculation This refers to the method used for calculating the quantity required for this operation. There are two choices (D)efault or (F)ormula, though both may not be available for the manufacturing operation. If both alternatives are not used by the manufacturing operation, the method that is used will be displayed and the cursor will skip this entry. Default calculations are based on the quantities specified in the calculation parameters section of this operation. To use the default method, the user enters an `D`. Formula calculations are be based on the results of a formula. To use the formula method, the user enters an `F`. The cursor will move to the right for the user's to enter the formula code that is to be used. The user must enter a valid formula code. Estimate detail lines Calculation Parameters The following fields are displayed under the heading "Calculation Parameters." The manner in which each of these items is used varies according to the operation type. If the user are not already familiar with the structure of system defaults used for these fields, the user should read the `Note` that appears below. The system offers a multi-level default structure, or `pecking order` for locating the particular parameter values that are used when performing calculations. At each level in the pecking order, the system attempts to locate a value that is greater than zero. If such a value is located, it will be used for calculations and subsequent levels in the pecking order will not be used. Zero will be used for calculations if, at the end of the pecking order a greater value has not been located. This pecking order is used on an individual basis for each parameter--one parameter may be found at one level in the pecking order, the next may be at a different level. At the first level of the pecking order, the system uses parameter values from the estimate or work order detail line. The system will default to the next level in the pecking order for any values not entered on the detail line. The next level in the pecking order is the Estimate record, if one was used to create the estimate. The system will default to the Estimate detail for value(s) not entered in the estimate or work order detail. If the values are not entered in the Estimate detail, or if a Estimate record was not used to create the estimate, the system will default to the next level in the pecking order. If the operation type for this line is Other cost, Comment, or one of the seven user-defined costs, this is the last level in the pecking order unless a standard operation was used. If the operation type is Material, the cost, or rate per unit, is the only value for which there is another level in the pecking order. If a value has not been located by the final level in the pecking order for any parameter, a zero will be used when performing calculations. If the operation type is material, the next, and final level in the pecking order is used only for finding the rate, or cost. If an item (from the item file) was specified for this material line, the system will default to the cost entered in the item record. There are three costs in each item record, last, standard, and average. The manufacturing operation control record determines which will be used. If an item record does not exist for this material line, zero will be used for calculations. For non-material operation types, the system will default to the Standard Operations record, if one was used. Except for the `rate` in labor operations, this is the final level in the pecking order. If the estimate or work order detail record does not use a standard operation, or if parameter values cannot be located in the Standard Operation record, zero will be used for calculations. The last item in the pecking order is used only for locating the rate per unit for labor detail lines. The system defaults to the department record, and uses the hourly rate for this pay type. If there is no hourly rate specified in the department record, a zero will be used for calculations. 9. Setup Time/Scrap If this is a labor operation, setup time refers to the time (in number of hours) required to prepare for the operation to begin. If setup time is applicable to this operation, the user enters the time. If a setup time is not applicable, the user leaves it blank. If this is a material operation, scrap refers to the number of units that are wasted each time the material operation is performed. If applicable, the user enters the quantity. If scrap is not applicable for this material, the user leaves it blank. 10. Frequency If this is a labor operation and the user have entered a setup time, the user may use this entry to indicate the rate of occurrence with which the setup must be executed. For example, if this labor operation requires a setup time of 1 hour, and the setup must be executed again after 30 units are produced, then the setup time is 1.0 and the frequency is 30. If this is a material line and the user have entered a scrap amount, the user may enter a frequency to indicate the rate at which the scrap amount is incurred. For example, if this material results in a scrap of 1 unit for each 30 units that are produced, the user should enter 1 for scrap, and 30 for the frequency. This entry is generally not used if the user did not enter a setup time, or for operations that are not labor or material. If the user does not use it, he may leave it blank. 11. Run Time/Quantity For labor operations, this value is the run time to complete the operation in terms of unit of measure (see below). Their use is best illustrated through examples: Example 1 If the user want to specify a number of hours per unit of output, he enters the number of hours required to perform this operation for one unit of output, and `HPP` (hours per piece) as the unit of measure. This method is generally used for operations that take a relatively long time to perform. For an operation that requires one and a half hours to perform, the user should enter 1.5 as the run time and HPP as the unit of measure. Example 2 If the user want to specify a number of units produced per hour, he enters the number of units in run time, and `PPH` (pieces per hour) as the unit of measure. This method is generally used for operations which take very little time to perform. For an operation that yields 1000 pieces per hour, the user should enter 1000 as the run time, and PPH as the unit of measure. 12. Unit of Measure For a labor line, this field specifies the units of measure for the run time the user has entered. As discussed above, the usual choices are Hours Per Piece (HPP) or Pieces Per Hour (PPH). 13. Rate Per Unit If the user are not already familiar with the way in which the system uses rates and defaults, the user should read the `Note about parameter defaults` at the beginning of this section. If this is a labor operation, the rate per unit refers to the standard hourly rate for the department/work center where this operation is performed. If this is a material operation, the rate per unit refers to the cost for the raw material. If this is another type of operation, the rate per unit refers to the cost per unit of the operation. Entries 14-16 apply only to labor operations: 14. Pay Type If this is a labor line, the user must enter a valid pay type code. This code is used to determine the pay rate for calculating labor costs. It is also used if the user are interfacing to payroll. 15. Move Time This entry allows the user to indicate the length of time required to move this item from the previous work station to this work station. If entered, this field is important for reporting labor costs incurred by move time, as well as for shop scheduling. 16. Queue Time This entry allows the user to specify a time for which the product must sit idle at this work station before this operation may begin. If the length of time is significant, this entry is important for its impact on shop scheduling. 17. Percent Overlap This entry refers to the percentage of completion of this operation at which the next operation may begin. For example, if there is a 40% overlap, then when this operation has been completed on 60% of the items, execution of the next operation may begin. This entry is used primarily for calculating lead times and for shop scheduling. If not applicable, the user leaves this field blank. 19. Print on Document Flag The production documents used by the manufacturing operation are specified in the manufacturing operation control record. The user may use up to nine different documents, and all are user-defined. Each production document is assigned a one-digit number. When production documents are generated, detail lines are selected for printing based on the print on document flags. For each production document that the user want this Estimate detail line to print on, he enters the production document number. The system will display the name of the production document, and the cursor will move to the right side of the screen. The user enters a `Y` or an `N` depending on whether or not the user want this operation to print on the document. When the user have selected all the production document flags the user want for this operation, he enters a 0 for the document number, and the cursor will move to the next entry. After completing entry of the Estimate detail line, the cursor will move back to the line number entry for the user to enter another detail line or the user can return to the first screen. Changing an existing Estimate record To change an existing Estimate detail record, the user first displays it on the screen. The user may use pre-defined function keys, as described earlier, or enter the line number. Once the user has a detail line displayed, he may change the values on the screen by entering the number of the selected field. As can be seen, Estimate detail records are substantially the same in format and entry procedure to Product Standards details records. If the user wants to change something on a detail line, the user must first display the Estimate header, then enter an `M` to maintain detail, enter the line number of the detail line the user want to change, or use a function key to locate the line. Once the line has been displayed on the user's screen, the user may make changes by entering the number of the field the user want to change, and entering a different value. Each field on the screen is described in the preceding pages. Deleting an existing Estimate record To delete an existing Estimate record, the user must first display it on the user's screen. The user may locate the record using pre-defined function keys or the user may enter the Estimate code and the header will be displayed on the user's screen. Once the user have displayed the Estimate header to be deleted, the user should choose option `D` for delete. Estimate are not immediately deleted from the file--they are flagged for deletion at a later date. Estimate records which have been flagged for deletion remain in the file until the `Purge deleted Estimate` program has been run. Whenever a Estimate that has been flagged for deletion is displayed on the user's screen, the word `DEL` will appear in the top right corner of the user's screen. To delete Estimate detail records, the user should first locate the Estimate header, then choose option `M` to maintain lines. Locate the line the user want to delete, and choose option `D` to delete the line. Estimate detail lines are flagged for deletion in the same manner as Estimate headers, described above. Turning now to FIG. 13, the operations performed when the user requests that an estimate be calculated is shown. The estimating block shown in FIG. 7 processes each of the Estimate detail records for the estimate being calculated. Each record is either a labor, material, other cost, comment, or outside service. The estimating block first builds the parameter table and then performs either the default or formula based quantity and cost calculation as selected by the user. The estimating block also optionally calculates manufacturing and general and administrative overhead. After the calculations are completed, the result are written in the Estimate header and detail records. The processing performed by the Work Order Entry/Change block shown in FIG. 8 is the same as that described above and shown in FIG. 13 except that it also calculates either due date or start date and commits or relieves inventory based on its calculations. Similarly, the processing performed by the MRPF block shown in FIG. 9 is the same as that described above and shown in FIG. 13 except that it does not perform any cost calculations. Finally, referring to FIG. 14, a detailed flow chart illustrating the process of Formula Processing shown in FIG. 7 is shown. A discussion of its operation follows: FORMULA LOGIC The following discussion outlines the general concepts in writing the formulas which are used in the MRP system of the present invention. General Concepts Formulas are designed to give diversity and flexibility in calculating quantities, pricing, overhead, costing, royalties, commissions, loading and discounts. All formulas are written with the same rules and concepts, but each type of formula has its own parameter table which determines the meaning of its instructions. The parameter tables are included in the File Maintenance section of documentation for each module. Formulas consist of a header record, which specifies the formula name and description, and detail lines. Each detail line in a formula consists of a line number, operation code, operand (if applicable) and a comment line (if applicable). The detail line number determines the sequence in which the commands of a formula are executed. When creating a formula, the system assigns the line number in increments of 10 thereby allowing for easy insertion of additional lines at a later date. The operation code, or op code, determines the instruction that is to be performed by each detail line. In some cases, op codes are used independently, but in many cases they are used in conjunction with an operand. The operation code listing that follows is applicable to all formulas, regardless of the parameter table which is used. The listing contains a detailed description of each op code. The operand is the value or variable which is to be acted on by this operation. In most cases, the operand will be a value from the parameter table. In some cases however, the operand may be a value such as a constant, or another formula name, etc. Some op codes do not require the use of an operand. Each formula uses four stacks, a numeric stack, an alphanumeric stack, a boolean stack, which consists only of True/False values, and an environmental stack. Op codes and parameters are each associated with only one stack. The parameter tables and the operation code listings indicate which type of stack is applicable to each value. When setting up the user's formulas the first op code must be a begin block and the last op code must be an end block. These blocks define the start and end of the user's formula, and are an example of op codes which do not utilize a parameter. Begin and end blocks may also be included within the formula. For every begin block there will be an end block. Each stack within a formula works independently. Values are placed onto stacks using `push` statements, and the user may push as many values on the stack as the user want. Values are removed from stacks using `pop` statements. Push statements add values to the formula stack from the top, just as pop statements remove values from the top of the stack. For example, let's see how a formula would find the result of 2+4-3. These are all numeric values, so the op codes will be selected accordingly. The first line of our formula would be a `begin block.` We would then "Push Immed Numeric" of 2 on the numeric stack, then "Push Immed Numeric" of 4 onto the numeric stack. We can then execute the "Add" op code to combine the first two values of the stack, and place the result (6) as the top value of the stack. When 6 was placed as the top value of the stack, the 2 and 4 were pushed down, so they are now at positions 3 and 2, respectively. We can now "Push Immed Numeric" of 3 onto the stack (placing it in position 1 and moving 6 to position 2.) Next, we execute the "Subtract" command, which subtract the top value (3) from the value in position 2 (6), and places the result (3) on the top of the stack. Errors may be encountered anywhere a formula is used. The system uses some standard error return codes to notify the operator of the error, or the user may set up the user's own error codes in the system, using "Formula Error Code Maintenance". The user-defined error codes are especially useful to advise of problems with data, which may not be caused by the formula logic, but which will prevent the formula from producing useful results for the manufacturing operation. The following is the list of Formula Error Codes set up in the system:
TABLE 9
______________________________________
FORMULA RETURN CODES
RETURN
CODE DESCRIPTION
______________________________________
01 Incompatible Formula
02 Environmental Stack Overflow
03 Environmental Stack Underflow
04 Boolean Stack Overflow
05 Boolean Stack Underflow
06 Numeric Stack Overflow
07 Numeric Stack Underflow
08 Alpha Stack Overflow
09 Alpha Stack Underflow
10 Formula Not Found
11 I-O Error on Formula File
12 Missing End Block
13 Divide by Zero Error
14 Reserved Instruction
15 Non-implemented Instruction
16 Parameter No Out of Range
______________________________________
How to Write Formulas When the user selects a formula maintenance program from the user's menu, the formula header screen will be displayed first. The formula header screen appears below: 1. Line No If the user are adding a line number, the system will assign the next available number or the user may enter a unique number. The system assigns line numbers in increments of 10 to allow the insertion of additional lines at a later date. If the user are editing the formula, he enters the line number the user are editing. 2. Op Code The operation code determines the specific instruction to be executed by this line of the formula. The accompanying Op Code listing includes a description of each operation. Enter the op code for this line of the formula. 3. Operand The operand is the value or variable to be acted upon by this line of the formula. There are at least three different kinds of operands: a. Some op codes, such as `begin block`, do not require the use of an operand. These op codes are simply used to identify the beginning or ending of the formula. b. Usually the operand will be a value from the parameter table. The formula file maintenance section for each module includes a parameter table, and each parameter is assigned a three digit parameter number. c. Some op codes require the use of a constant. The `push immediate numeric` code for example requires the entry of the constant value to be pushed onto the stack. The `call` op code requires the entry of another formula code which is to be executed as part of the execution of this formula. 4. Comment
TABLE 10
______________________________________
Sales Order Formula MaintTIME 17:23 TERM 25
______________________________________
##STR67##
##STR68##
##STR69##
##STR70##
______________________________________
1. Formula Code Enter a code (up to six alphanumeric characters) to identify this formula. If the user enter an existing formula code, the values will be displayed for the user to edit or delete. If the user are establishing a new formula, the user should enter an unused formula code, and the cursor will move to the first description line. 2.-4. Description 1-Description 4 The user may enter up to four 30-character lines of description about the formula the user are entering. If the user wants to maintain formula detail lines, he enters an `M` for maintain at the `enter line to change` prompt. Maintaining Formula Detail Lines When the user choose `M` to maintain formula detail lines, the following screen will appear:
TABLE 11
______________________________________
##STR71##
##STR72##
##STR73##
##STR74##
______________________________________
Enter a comment (up to 30 characters) to describe the instruction the user are entering. The comment is for clarification only and is not used by the formula. Formula Op Codes The listing below includes all op codes used in KeyMan formulas. This set of Op Codes is used in all formulas, regardless of the parameter table that applies.
TABLE 12
______________________________________
OP
CODE DESCRIPTION OPERAND STATUS
______________________________________
01 Begin Block B
Defines the start of block. This instruction does
not alter NS, AS, or BS.
02 End Block B
Defines the end of block. This instruction does
not alter NS, AS, or BS.
03 Perform L B
Executes the instruction or block at location
designated by L. This instruction does not alter
NS, AS, or BS.
04 Perform While True
L B
Executes the instruction or block at location
designated by L repeatedly if BS0 = "T"; This
instruction does not alter NS, AS, or BS.
05 Perform Until True
L E
Executes the instruction or block at location
designated by L repeatedly if BS0 = "F"; This
instruction does not alter NS, AS, or BS.
06 Call A B
Executes the formula designated by A. This
instruction does not alter NS, AS, or BS.
07 If True Then B
Executes the next instruction or block if BS0 =
"T"; This instruction does not alter NS, AS, or
BS.
08 If Not True Then E
Executes the next instruction or block if BS0 =
"F"; This instruction does not alter NS, AS, or
BS.
09 No Operation B
No Operation; This instruction does not alter ES,
NS, AS, or BS.
10 Push Immed Boolean
B B
Pushes the immediate boolean operand designated by
B on BS; B to BS. This instruction does not alter
ES, NS, or AS.
11 And B
Pops BS two times then pushes BS0 and BS1 on BS;
BS0 and BS1 to BS. This instruction does not alter
ES, NS, or AS.
12 Or B
Pops BS two times then pushes BS0 or BS1 on BS;
BS0 or BS1 to BS. This instruction does not alter
ES, NS, or AS.
13 Not B
Pops BS then pushes not BS0 on BS; Not BS0 to BS.
This instruction does not alter ES, NS, or AS.
14 Reserved R
15 Table Boolean Next U
16 Table Boolean Random U
17 Push Bool Parameter
L B
Pushes the Lth element of the parameter table on
BS; param(L) to BS. This instruction does not
alter ES, NS, or AS.
18 Pop Bool Parameter
L B
Pops BS into the Lth element of the parameter
table; BS0 to param(L). This instruction does not
alter ES, NS, or AS.
19 Reserved R
20 Push Immed Numeric
N B
Pushes the immediate numeric operand designated by
N on NS; N to NS. This instruction does not alter
ES, BS, or AS.
21 Add B
Pops NS two times then pushes NS1 plus NS0 on NS;
NS1 + NS0 to NS; This instruction does not alter
ES, BS, or AS.
22 Subtract B
Pops NS two times then pushes NS1 minus NS0 on NS;
NS1 - NS0 to NS; This instruction does not alter
ES, BS, or AS.
23 | ||||||
