CacheAddChangeBOMMBF

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose

This function will perform Get, Add, Update, Delete, Delete All, Get Next, Add/Update, and Terminate 

functions on the Bill of Material cache. 


The calling application is responsible for loading all appropriate key values to the data structure 

and identifying the number of keys to use in retrieval/update processes.  


• Cache Action Code
• 
'1' Get - retrieve the cache element.  
• '2' Add - add a cache element.
• '3' Update - update a cache element.
• '4' Delete - delete a cache element.
• '5' Delete All - delete all cache elements
• '6' Get Next - retrieve the next cache element
• '7' Add/Update - will add if element does not exist, will change if it does exist.
• '8' Terminate - terminate cache
• '9' Close Cursor- closes cache cursor

• Number of Keys 
• 
If the number of keys is passed as a parameter, the business function uses this value to setup 
key values for a Get, Update, Delete, Get Next, and Add/Update.  

• A zero may be passed to retrieve or update the first record.

1.3 Special Logic 
Only modify the Save Key fields on the first Add.


1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where there 

is Cache DS this refers to the cacht data structure. 


2.Technical Specifications

2.4 Processing 

Cache Layout:Same as Data Structure.


2.4.1If Cache is sent in. 
2.4.1.1Retrieve the handle from what was sent in.

2.4.2Perform setup functions 
2.4.2.1Initialize cache to get handle.
2.4.2.2Set  DS Cache Error Code = '0';   

2.4.2.3If not successful Set error "032E,"  "Error Processing Cache".




2.5Processing Based on Mode.

2.5.1If Process Mode is "1" - GET:

2.5.1.1Open cursor, reset cursor.
2.5.1.2Retrieve the first element on the cache matching the key values passed 

as input; the number of keys to be used is passed in the input parameters,  If  "0" 

fetch first element in the list. 

2.5.1.3Load the values from the retrieved element into the data structure to 

be passed back to the calling program. 

2.5.1.4If get fails DS Cache Error Code = '6'.


2.5.2If Process Mode is "2" - ADD 

2.5.2.1Copy the DS - Key fields into the Save Key fields
2.5.2.2Insert a new cache element with values from data structure.

2.5.2.3If add fails set error "032E" and set DS Cache Error Code = '4'.


2.5.3If Process Mode is "3" - UPDATE 

2.5.3.1Fetch the record that matches the key.  Copy all fields from DS to the 
Cache Except the Save Fields because these will be needed for the update of the Data 

base 

2.5.3.2If add fails set error "032E" and set DS Cache Error Code = '4'.


2.5.4If Process Mode is "4" - DELETE:
2.5.4.1Delete all elements on the cache matching the key values passed as 
input.

2.5.4.2If delete fails DS Cache Error Code  = '5'.


2.5.5If Process Mode is "5" - DELETE ALL:
2.5.5.1Delete all elements in the cache.
2.5.5.2If delete fails DS Cache Error Code  = '5'.


2.5.6If Process Mode is "6" - GET NEXT:

2.5.6.1Retrieve the next element on the cache matching the key values passed 
as input (the cursor should have been set through a previous "Get" action, i.e. 

process mode "1", if number of keys is "0" then fetch next record with out using any 

key). 

2.5.6.2Load the values from the retrieved element into the data structure to 

be passed back to the calling program.

2.5.6.3If there are no more elements close cursor and set  DS Cache Error Code 

= '1'.


2.5.7If Process Mode is "7" - ADD/UPDATE:

2.5.7.1Fetch the record that matches the key.  Copy all fields from DS to the 
Cache Except the Save Fields because these will be needed for the update of the Data 

base 

2.5.7.2Insert a new cache if fetch failed copying the Key Fields to the Save 

Key fields element with values from data structure.

2.5.7.3Update record if Fetch was successful.

2.5.7.4If add fails set error "032E" and set DS Cache Error Code = '4'.


2.5.8If Process Mode is "8" - END
2.5.8.1Perform cleanup functions (Terminate cache).

2.5.9If Process Mode is "9" - CLOSE CURSOR
2.5.9.1Perform cursor close on cursor passed in.

Data Structure

D3002040K - Cache Add Change BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
szTransactionTypeVC02AcharNONENONE

A generic field that is used as a work field.

mnOriginalSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cOriginalCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnIdentifierShortItemITMMATH_NUMERICNONENONE

An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item 
numbers (see data item XRT) to accommodate substitute item numbers, replacements, bar codes, customer numbers, supplier numbers, and 
so forth. The item numbers are as follows:   o Item Number (short) - An eight-digit, computer-assigned item number     o 2nd Item Number - The 
25-digit, free-form, user defined alphanumeric item number     o 3rd Item Number - Another 25-digit, free-form, user defined alphanumeric item 
number

szIdentifier2ndItemLITMcharNONENONE

A number that identifies the item. The system provides three separate item numbers plus an extensive cross-reference capability to 
alternative item numbers. The three types of item numbers are: Item Number (short) An 8-digit, computer-assigned item number. 2nd Item Number A 
25-digit, user defined, alphanumeric item number. 3rd Item Number  Another 25-digit, user defined, alphanumeric item number. In addition to 
these three basic item numbers, the system provides an extensive cross-reference search capability. You can define numerous 
cross-references to alternative part numbers. For example, you can define substitute item numbers, replacements, bar codes, customer numbers, or 
supplier numbers.

szIdentifier3rdItemAITMcharNONENONE

The system provides three separate item numbers plus an extensive cross-reference capability to alternate item numbers. These item 
numbers are as follows: 1.  Item Number (short) - An 8-digit, computer-assigned item number. 2.  2nd Item Number - The 25-digit, free-form, user 
defined alphanumeric item number. 3.  3rd Item Number - Another 25-digit, free-form, user defined alphanumeric item number.  In addition to 
these three basic item numbers, an extensive cross-reference search capability has been provided (see XRT). Numerous cross references to 
alternate part numbers can be user defined, such as substitute item numbers, replacements, bar codes, customer numbers, or supplier 
numbers.

szBranchComponentCMCUcharNONENONE

A secondary or lower-level business unit. The system uses the value that you enter to indicate that a branch or plant contains several 
subordinate departments or jobs. For example, assume that the component branch is named MMCU. The structure of MMCU might be as follows:    
Branch/Plant - (MMCU)       Dept A - (MCU)       Dept B - (MCU)       Job 123 - (MCU)

mnSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPartialsAllowedYNPRTAcharNONENONE

When you specify component and substitute items on the bill of material, this field indicates whether the total quantity is required to be 
available or if a partial quantity available is acceptable to commit. Example: 100 lb of item A is available:        150 lb of item A is needed. If 
substitutes are not used and Partials Allowed is set to Y for item A, then the 100 lb will be committed. If substitute processing is used, substitutes will 
be checked next, and Partials Allowed on the substitute record will be considered

mnQtyRequiredStandardQNTYMATH_NUMERICNONENONE

The number of units that the system applies to the transaction.

szUnitOfMeasureUMcharNONENONE

A user defined code (00/UM) that identifies the unit of measurement for an amount or quantity. For example, it can represent a barrel, box, 
cubic meter, liter, hour, and so on.

cFixedorVariableBatchSizeFVBTcharNONENONE

jdEffectiveFromDateEFFFJDEDATENONENONE

A date that indicates one of the following:     o When a component part goes into effect on a bill of material     o When a routing step goes into 
effect as a sequence on the routing for an item     o When a rate schedule is in effect The default is the current system date. You can enter 
future effective dates so that the system plans for upcoming changes. Items that are no longer effective in the future can still be recorded and 
recognized in Product Costing, Shop Floor Management, and Capacity Requirements Planning. The Material Requirements Planning system 
determines valid components by effectivity dates, not by the bill of material revision level. Some forms display data based on the effectivity 
dates you enter.

jdEffectiveThruDateEFFTJDEDATENONENONE

A date that indicates one of the following:     o When a component part is no longer in effect on a bill of material     o When a routing step is no 
longer in effect as a sequence on the routing for an item     o When a rate schedule is no longer active The default is December 31 of the 
default year defined in the Data Dictionary for Century Change Year. You can enter future effective dates so that the system plans for upcoming 
changes. Items that are no longer effective in the future can still be recorded and recognized in Product Costing, Shop Floor Management, 
and Capacity Requirements Planning. The Material Requirements Planning system determines valid components by effectivity dates, not by 
the bill of material revision level. Some forms display data based on the effectivity dates you enter.

szEffectiveFromSerialNoFSERcharNONENONE

This field is used to identify the serial number of a particular parent part and specify when the component will become an active part of the 
parent's bill of material.

szEffectiveThruSerialNoTSERcharNONENONE

This field is used to identify the serial number of a particular parent part and specify when the component will no longer be an active part of 
the parent's bill of material.

cIssueTypeCodeITCcharNONENONE

A code that indicates how the system issues each component in the bill of material from stock. In Shop Floor Management, it indicates how 
the system issues a part to a work order. Valid values are:    I Manual issue    F Floor stock (there is no issue)    B Backflush (when the part is 
reported as complete)    P Preflush (when the parts list is generated)    U Super backflush (at the pay-point operation)    S Sub-contract item (send 
to supplier)    Blank Shippable end item  You can issue a component in more than one way within a specific branch/plant by using different 
codes on the bill of material and the work order parts list. The bill of material code overrides the branch/plant value.

cRequiredYNFTRCcharNONENONE

A code that specifies whether a component is required. Valid codes are:    Y The component is required.    N The component is not a 
required selection during order processing. The default value is N.

cOptionalItemKitOPTKcharNONENONE

A code that indicates whether a component is standard or optional within a bill of material or for kit processing. Valid codes are:    S 
Standard. The item is always included in any transaction involving the bill of material.    O Optional. In order entry, you can specify whether the item will 
be included in a particular sale.    F Feature. The item has features that you must specify at order entry. The default value is S

cDefaultComponentFORVcharNONENONE

An option that specifies a default component. Use this field if you are creating Sales Orders using the Recurring Orders Edited Creation 
program (P40211Z). To do so, enter Y in this field. When you specify a kit master item, the Recurring Orders Edited Creation program 
automatically selects all related standard and default components.

cComponentCostingMethodCSTMcharNONENONE

Indicates the method to be used to compute the cost of the component. Valid values are:    #       indicates that this cost will be entered by you 
or may come from an outside source, such as the Item Location record, if a stock item.    $       indicates that this is a dollar amount to be 
added to the cumulative cost of the item as a whole.    %       indicates that this is a percentage, to be multiplied against the or # cost line to 
produce a component cost amount.    blank indicates that this is the base cost for the costed kit as a whole Other cost components will be added to 
this cost or multiplied against it. (Not currently operational)

cCostMethodPurchasingCSMPcharNONENONE

Indicates which of the numerous unit costs available is to be used in costing outgoing Purchase Orders.  Up to seven costs can be chosen 
for an inventory item. These costs include:    1.   Last In Cost    2.   Average cost    3.   Memo Cost 1    4.   Current Cost    5.   Future Cost    6.   Lot Cost  
  7.   Standard Cost Costs 1 and 2 are updated automatically when an item is received. CONTRACT MANAGEMENT SYSTEM: Indicates 
Pricing Type.  Contracts normally use:    U Unit Price Contract (Progress Payments calculates line item payments)    L Lump Sum Contract 
(Units can be left blank or defaulted to 1.  To default units, change Data Dictionary default for Data Item UORG)

cOrderWithYNORDWcharNONENONE

Future use. The Order With code determines if work order generation (P31410) will explode this items bill of material to create orders for this 
items components.

cFixedOrVariableQtyFORQcharNONENONE

A code that indicates if the quantity per assembly for an item on the bill of material varies according to the quantity of the parent item 
produced or is fixed regardless of the parent quantity. This value also determines if the component quantity is a percent of the parent quantity. Valid 
values are:    F Fixed Quantity    V Variable Quantity (default)    %   Quantities are expressed as a percentage and must total 100%For 
fixed-quantity components, the Work Order and Material Requirements Planning systems do not extend the component's quantity per assembly 
value by the order quantity.

cCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

cComponentTypeCOTYcharNONENONE

The component type determines what the component is used for in a bill of material.  For example:    A Active ingredient    C Standard 
Component    F Filler ingredient

mnFromPotencyFRMPMATH_NUMERICNONENONE

A number that indicates the minimum potency or percentage of active ingredients acceptable for an item. The system displays a warning 
message if you try to purchase or issue items that do not meet the minimum acceptable potency. The system does not allow you to sell items 
that do not meet the minimum acceptable potency.

mnThruPotencyTHRPMATH_NUMERICNONENONE

A number that indicates the maximum potency or percentage of active ingredients that is acceptable for an item. The system displays a 
warning message if you try to purchase or issue items that have a potency that exceeds the maximum potency acceptable. The system does 
not allow you to sell items that have a potency that exceeds the maximum potency acceptable.

szFromGradeFRGDcharNONENONE

A user defined code (40/LG) that indicates the minimum grade that is acceptable for an item. The system displays a warning message if 
you try to purchase or issue items with grades that do not meet the minimum grade acceptable. The system does not allow you to sell items 
with grades that do not meet the minimum acceptable level.

szThruGradeTHGDcharNONENONE

A user defined code (40/LG) that indicates the maximum grade that is acceptable for an item. The system displays a warning message if 
you try to purchase or issue items with grades that exceed the maximum grade acceptable. The system does not allow you to sell items with 
grades that exceed the maximum grade acceptable.

mnOperSequenceNumberPSQMATH_NUMERICNONENONE

mnBubbleSequenceBSEQMATH_NUMERICNONENONE

A secondary bill of material sequence number that indicates the drawing bubble number.

mnFeaturePlannedPercentFTRPMATH_NUMERICNONENONE

The percentage of demand for a specified feature based on projected production. For example, a company might produce 65% of their 
lubricant with high viscosity, and 35% with low viscosity, based on customer demand. The Material Planning system uses this percentage to 
accurately plan for a process's co-products and by-products. Enter percentages as whole numbers, for example, enter 5% as 5.0. The default 
value is 0%.

mnFeatureCostPercentF$RPMATH_NUMERICNONENONE

A percentage that the Simulate Cost Rollup program uses to calculate the cost of a feature or option item as a percentage of the total cost 
of the parent. Enter the percentage as a whole number, for example, enter 5% as 5.0.

mnResourcePercentRSCPMATH_NUMERICNONENONE

A number that indicates what percent of the ingredients should be issued separately to co-products and by-products.

mnPercentOfScrapSCRPMATH_NUMERICNONENONE

The percentage of unusable component material that is created during the manufacture of a particular parent item.  During DRP/MPS/MRP 
generation, the system increases gross requirements for the component item to compensate for the loss. Note: Shrink is the expected loss of 
parent items (and hence, components) due to the manufacturing process. Shrink and scrap are compounded to figure the total loss in the 
manufacture of a particular item. Accurate shrink and scrap factors can help to produce more accurate planning calculations. Enter percentages 
as whole numbers: 5 percent as 5.0

mnReworkPercentREWPMATH_NUMERICNONENONE

mnAsIsPercentASIPMATH_NUMERICNONENONE

mnPercentCumulativePlaCPYPMATH_NUMERICNONENONE

The cumulative planned output yield percent for a step. The system uses this value to adjust the operation step scrap percent for the 
components at that operation step. This enables the MRP system to use the operation step scrap percent along with the existing component scrap 
percent to plan component demand.

mnStepScrapPercentSTPPMATH_NUMERICNONENONE

A value that the system uses to increase or decrease the amount of materials to account for loss within the operation. The system updates 
this value on Enter/Change Bill of Material when you run the Planned Yield Update program. The system calculates this value by 
compounding the yield percentages from the last operation to the first operation. Use a processing option in Enter/Change Routing to enable the 
system to calculate the component scrap percent.

mnLeadtimeOffsetDaysLOVDMATH_NUMERICNONENONE

The number of days that a part is needed before or after the start date of a manufacturing work order. The system adds the leadtime offset 
days for the part to the start date of the work order to determine the actual date that the part is required. To indicate that a part is needed prior 
to the work order start date, enter the days as a negative number. To indicate how many days after the work order start date that the part is 
required, enter a positive number.

szEngineerChngOrderNoECOcharNONENONE

The number assigned to an engineering change order.

szEngineeringChngReasonECTYcharNONENONE

A code (table 40/CR) that identifies the reason for the engineering change order.

jdDateEngineerChgeDateECODJDEDATENONENONE

The date of the engineering change order.

szDescriptionLine1DSC1charNONENONE

Brief information about an item; a remark or an explanation.

szLineTypeLNTYcharNONENONE

A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
General Ledger, Job Cost, Accounts Payable, Accounts Receivable, and Inventory Management. It also specifies the conditions under 
which a line prints on reports, and it is included in calculations. Codes include the following: S Stock item   J Job cost   N Nonstock item   F Freight  
T Text information   M Miscellaneous charges and credits   W Work order

mnUnitPricePerPrimaryPRICMATH_NUMERICNONENONE

A base or default price that is used with multipliers from the pricing rules to develop discounted prices. If no formula applies to an item or no 
discounts apply to a customer, the system uses this price without adjustments.

mnAmountUnitCostUNCSMATH_NUMERICNONENONE

The amount per unit, derived by dividing the total cost by the unit quantity.

mnPerAssemblySalePricePCTKMATH_NUMERICNONENONE

The percentage of the total assembly/kit price this component represents.

szMessageNoSHNOcharNONENONE

A generic rates and message code (48/SN) that is assigned to a standard note, message, or general narrative explanation. You can use 
this code to add instructional information to a work order. You set up codes for this field on the Generic Message/Rate Types table (F00191).

szPurchasingCostCenterOMCUcharNONENONE

The business unit from an account number.  The account number business unit is usually found in the data item MCU, however, Distribution 
systems use the field MCU as the branch.

szObjectAccountOBJcharNONENONE

The portion of a general ledger account that refers to the division of the Cost Code (for example, labor, materials, and equipment) into 
subcategories. For example, you can divide the Cost Code for labor into regular time, premium time, and burden. Note: If you use a flexible chart of 
accounts and the object account is set to 6 digits, J.D. Edwards recommends that you use all 6 digits. For example, entering 000456 is not 
the same as entering 456 because if you enter 456 the system enters three blank spaces to fill a 6-digit object.

szSubsidiarySUBcharNONENONE

A subset of an object account. Subsidiary accounts include detailed records of the accounting activity for an object account.

szComponentRevisionLevelCMRVcharNONENONE

A code that indicates the current revision level of a component on the bill of material. It is usually used with an engineering change notice 
(ECN) or engineering change order (ECO).

szRevisionNumberRVNOcharNONENONE

A subset to the drawing number. It provides an additional description of the drawing and is useful if the system uses an engineering drawing 
as a reference for this item.

mnItemNumberUseUpUUPGMATH_NUMERICNONENONE

Future use This is the item number to use after this bill of material item is used up.

szUserReservedCodeURCDcharNONENONE

This is a 2 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

jdUserReservedDateURDTJDEDATENONENONE

This is a 6 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

mnUserReservedAmountURATMATH_NUMERICNONENONE

This is a 15 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

szUserReservedReferenceURRFcharNONENONE

A 15-position reference that is reserved for the user.  J.D. Edwards does not currently use this field and does not plan to use it in the future.

mnUserReservedNumberURABMATH_NUMERICNONENONE

This is a 8 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

szUserIdUSERcharNONENONE

The code that identifies a user profile.

szProgramIdPIDcharNONENONE

The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry 
interactive program is P4210, and the number of the Print Invoices batch process report is R42565. The program ID is a variable length value. 
It is assigned according to a structured syntax in the form TSSXXX, where: T The first character of the number is alphabetic and identifies the 
type, such as P for Program, R for Report, and so on. For example, the value P in the number P4210 indicates that the object is a 
program. SS The second and third characters of the number are numeric and identify the system code. For example, the value 42 in the number P4210 
indicates that this program belongs to system 42, which is the Sales Order Processing system. XXX The remaining characters of the numer are 
numeric and identify a unique program or report. For example, the value 10 in the number P4210 indicates that this is the Sales Order Entry 
program.

szWorkStationIdJOBNcharNONENONE

The code that identifies the work station ID that executed a particular job.

jdDateUpdatedUPMJJDEDATENONENONE

The date that specifies the last update to the file record.

mnTimeOfDayTDAYMATH_NUMERICNONENONE

The computer clock in hours:minutes:seconds.

nNumberOfKeysINT01integerNONENONE

Number of Days in Future to Query for Responses Due. 

cProcessModeEV01charNONENONE

An option that specifies the type of processing for an event.

cCacheCodeErrorEV01charNONENONE

An option that specifies the type of processing for an event.

cSuppressErrorMessageEV01charNONENONE

An option that specifies the type of processing for an event.

szErrorMessageIDDTAIcharNONENONE

A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

idCursorGENLNGIDNONENONE

General purpose ID variable.

cReturnCursorEV01charNONENONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICNONENONE

The job number (work station ID) which executed the particular job.

cMatchingAddToChangeKeyEV01charNONENONE

An option that specifies the type of processing for an event.

szBillRevisionLevelBREVcharOPTNONE

A value that indicates the revision level of a bill of material. It is usually used in conjunction with an engineering change notice or 
engineering change order. The revision level of the bill of material should match the revision level of its associated routing, although the system does 
not check this. This value is defined and maintained by the user.

cActiveIngredientFlagAINGcharOPTNONE

A code that indicates whether an item is an active component of a parent item. When the item is an active component, the system can 
calculate a parent item's expiration date by comparing all component expiration dates and choosing the earliest date. Valid values 
are: Blank The item is not an active component of a parent item. 1 The item is an active component of a parent item.

mnOriginalComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnOrigCompNumForCopyCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

szBOMSTRINGBOSTRcharOPTNONE

A Prep Code used by DFM Kanban Management.

cBOMCHARBCHARcharOPTNONE

A field that indicates whether the item is included in the Lean Superflush.  A  (default) indicates that the component is included in the 
Superflush.  A '1' indicates that the Item is excluded from Lean Superflush. 

Related Functions

None

Related Tables

F3002 Bill of Material Master File
CacheBOMHeaderMBF

CacheBOMHeaderMBF

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose
This function will perform Get, Add, Update, Delete, Delete All, Get Next, Add/Update, and Terminate functions on the Bill of Material cache. 

The calling application is responsible for loading all appropriate key values to the data structure and identifying the number of keys to use in 

retrieval/update processes.  


• Cache Action Code
• '1' Get - retrieve the cache element.  
• '2' Add - add a cache element.
• '3' Update - update a cache element.
• '4' Delete - delete a cache element.
• '5' Delete All - delete all cache elements
• '6' Get Next - retrieve the next cache element
• '7' Add/Update - will add if element does not exist, will change if it does exist.
• '8' Terminate - terminate cache
• '9' Close Cursor- closes cache cursor

• Number of Keys 
• If the number of keys is passed as a parameter, the business function uses this value to setup 
key values for a Get, Update, Delete, Get Next, and Add/Update.  

• A zero may be passed to retrieve or update the first record.

1.3 Special Logic 


1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where there is Cache DS this refers to the cacht data 
structure. 

2.Technical Specifications

2.4 Processing 


Cache Layout:Same as Data Structure.

2.4.1If Cache is sent in. 
2.4.1.1Retrieve the handle from what was sent in.

2.4.2Perform setup functions 
2.4.2.1Initialize cache to get handle.
2.4.2.2Set  DS Cache Error Code = '0';   

2.4.2.3If not successful Set error "032E,"  "Error Processing Cache".




2.5Processing Based on Mode.

2.5.1If Process Mode is "1" - GET:

2.5.1.1Open cursor, reset cursor.
2.5.1.2Retrieve the first element on the cache matching the key values passed as input; the number of keys to be used is 

passed in the input parameters,  If  "0" fetch first element in the list. 

2.5.1.3Load the values from the retrieved element into the data structure to be passed back to the calling program. 

2.5.1.4If get fails DS Cache Error Code = '6'.


2.5.2If Process Mode is "2" - ADD 

2.5.2.1Copy the DS - Key fields into the Save Key fields
2.5.2.2Insert a new cache element with values from data structure.

2.5.2.3If add fails set error "032E" and set DS Cache Error Code = '4'.


2.5.3If Process Mode is "3" - UPDATE 

2.5.3.1Fetch the record that matches the key.  Copy all fields from DS to the Cache Except the Save Fields because these will 
be needed for the update of the Data base 

2.5.3.2If add fails set error "032E" and set DS Cache Error Code = '4'.


2.5.4If Process Mode is "4" - DELETE:
2.5.4.1Delete all elements on the cache matching the key values passed as input.
2.5.4.2If delete fails DS Cache Error Code  = '5'.


2.5.5If Process Mode is "5" - DELETE ALL:
2.5.5.1Delete all elements in the cache.
2.5.5.2If delete fails DS Cache Error Code  = '5'.


2.5.6If Process Mode is "6" - GET NEXT:

2.5.6.1Retrieve the next element on the cache matching the key values passed as input (the cursor should have been set 
through a previous "Get" action, i.e. process mode "1", if number of keys is "0" then fetch next record with out using any key). 

2.5.6.2Load the values from the retrieved element into the data structure to be passed back to the calling program.

2.5.6.3If there are no more elements close cursor and set  DS Cache Error Code = '1'.


2.5.7If Process Mode is "7" - ADD/UPDATE:

2.5.7.1Fetch the record that matches the key.  Copy all fields from DS to the Cache Except the Save Fields because these will 
be needed for the update of the Data base 

2.5.7.2Insert a new cache if fetch failed copying the Key Fields to the Save Key fields element with values from data 

structure.

2.5.7.3Update record if Fetch was successful.

2.5.7.4If add fails set error "032E" and set DS Cache Error Code = '4'.


2.5.8If Process Mode is "8" - END
2.5.8.1Perform cleanup functions (Terminate cache).

2.5.9If Process Mode is "9" - CLOSE CURSOR
2.5.9.1Perform cursor close on cursor passed in.

Data Structure

D3002040Q - Cache BOM Header MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
szOriginalTypeBillTBMcharOPTNONE

A user defined code (40/TB) that designates the type of bill of material. You can define different types of bills of material for different uses. 
For example:    M     Standard manufacturing bill    RWK   Rework bill    SPR   Spare parts bill  The system enters bill type M in the work order 
header when you create a work order, unless you specify another bill type. The system reads the bill type code on the work order header to 
know which bill of material to use to create the work order parts list. MRP uses the bill type code to identify the bill of material to use when it 
attaches MRP messages. Batch bills of material must be type M for shop floor management, product costing, and MRP processing.

mnOriginalParentItemNumberKITMATH_NUMERICOPTNONE

The system provides for three separate item numbers.    1.   Item Number (short) - An eight-digit, computer assigned, completely 
non-significant item number.    2.   2nd Item Number - The 25-digit, free form, user defined alphanumeric item number.    3.   3rd Item Number - Another 
25-digit, free form, user defined alphanumeric item number.

szOriginalParentBranchMMCUcharOPTNONE

A code that represents a high-level business unit. Use this code to refer to a branch or plant that might have departments or jobs, which 
represent lower-level business units, subordinate to it. For example:     o Branch/Plant (MMCU)     o Dept A (MCU)     o Dept B (MCU)     o Job 123 
(MCU) Business unit security is based on the higher-level business unit.

mnOriginalBatchQuantityBQTYMATH_NUMERICOPTNONE

The quantity of finished units that you expect this bill of material or routing to produce. You can specify varying quantities of components 
based on the amount of finished goods produced. For example, 1 ounce of solvent is required per unit up to 100 units of finished product. 
However, if 200 units of finished product is produced, 2 ounces of solvent are required per finished unit. In this example, you would set up batch 
quantities for 100 and 200 units of finished product, specifying the proper amount of solvent per unit.

szTypeBillTBMcharOPTNONE

A user defined code (40/TB) that designates the type of bill of material. You can define different types of bills of material for different uses. 
For example:    M     Standard manufacturing bill    RWK   Rework bill    SPR   Spare parts bill  The system enters bill type M in the work order 
header when you create a work order, unless you specify another bill type. The system reads the bill type code on the work order header to 
know which bill of material to use to create the work order parts list. MRP uses the bill type code to identify the bill of material to use when it 
attaches MRP messages. Batch bills of material must be type M for shop floor management, product costing, and MRP processing.

mnParentItemNumberKITMATH_NUMERICOPTNONE

The system provides for three separate item numbers.    1.   Item Number (short) - An eight-digit, computer assigned, completely 
non-significant item number.    2.   2nd Item Number - The 25-digit, free form, user defined alphanumeric item number.    3.   3rd Item Number - Another 
25-digit, free form, user defined alphanumeric item number.

szParent2ndItemNumberKITLcharOPTNONE

The system provides for three separate item numbers.    1.   Item Number (short) - An eight-digit, computer assigned, completely 
non-significant item number.    2.   2nd Item Number - The 25-digit, free form, user defined alphanumeric item number.    3.   3rd Item Number - Another 
25-digit, free form, user defined alphanumeric item number. This is used in a parts list as either a parent or component number. In the Equipment 
Management system, this item is used for memo purposes only.

szParent3rdItemNumberKITAcharOPTNONE

The system provides three separate item numbers:    1. Item Number (short) - An eight-digit, computer assigned, completely non-significant 
item number.    2. 2nd Item Number - The 25-digit, free form, user defined alphanumeric item number.    3. 3rd Item Number - Another 25-digit, 
free form, user defined alphanumeric item number.

szParentBranchMMCUcharOPTNONE

A code that represents a high-level business unit. Use this code to refer to a branch or plant that might have departments or jobs, which 
represent lower-level business units, subordinate to it. For example:     o Branch/Plant (MMCU)     o Dept A (MCU)     o Dept B (MCU)     o Job 123 
(MCU) Business unit security is based on the higher-level business unit.

mnBatchQuantityBQTYMATH_NUMERICOPTNONE

The quantity of finished units that you expect this bill of material or routing to produce. You can specify varying quantities of components 
based on the amount of finished goods produced. For example, 1 ounce of solvent is required per unit up to 100 units of finished product. 
However, if 200 units of finished product is produced, 2 ounces of solvent are required per finished unit. In this example, you would set up batch 
quantities for 100 and 200 units of finished product, specifying the proper amount of solvent per unit.

szUnitOfMeasureAsInputUOMcharOPTNONE

A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box).

szBillRevisionLevelBREVcharOPTNONE

A value that indicates the revision level of a bill of material. It is usually used in conjunction with an engineering change notice or 
engineering change order. The revision level of the bill of material should match the revision level of its associated routing, although the system does 
not check this. This value is defined and maintained by the user.

nNumberofKeysINT01integerOPTNONE

Number of Days in Future to Query for Responses Due. 

cProcessModeEV01charOPTNONE

An option that specifies the type of processing for an event.

cCacheCodeErrorEV01charOPTNONE

An option that specifies the type of processing for an event.

cSuppressErrorMessagesEV01charOPTNONE

An option that specifies the type of processing for an event.

szErrorMessageIDDTAIcharOPTNONE

A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

idCursorGENLNGIDOPTNONE

General purpose ID variable.

cReturnCursorEV01charOPTNONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICOPTNONE

The job number (work station ID) which executed the particular job.

cParentStockingTypeSTKTcharOPTNONE

A user defined code (41/I) that indicates how you stock an item, for example, as finished goods or as raw materials. The following stocking 
types are hard-coded and you should not change them:    0   Phantom item    B Bulk floor stock    C Configured item    E Emergency/corrective 
maintenance    F Feature    K Kit parent item    N Nonstock  The first character of Description 2 in the user defined code table indicates if the item 
is purchased (P) or manufactured (M).

szUnitOfMeasureProductionUOM9charOPTNONE

A user defined code (00/UM) that indicates the unit of measure for an item when the item serves as a component, for example, for a bill of 
material or work order parts list.

mnUnitsBatchQuantityDisplayBQTYMATH_NUMERICOPTNONE

The quantity of finished units that you expect this bill of material or routing to produce. You can specify varying quantities of components 
based on the amount of finished goods produced. For example, 1 ounce of solvent is required per unit up to 100 units of finished product. 
However, if 200 units of finished product is produced, 2 ounces of solvent are required per finished unit. In this example, you would set up batch 
quantities for 100 and 200 units of finished product, specifying the proper amount of solvent per unit.

szDrawingNumberDRAWcharOPTNONE

An engineering drawing number. It might be the same as the part or item number.

mnComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

Related Functions

None

Related Tables

F3002 Bill of Material Master File
CacheDeleteBOMMBF

CacheDeleteBOMMBF

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose
This function will perform Get, Add, Update, Delete, Delete All, Get Next, Add/Update, and Terminate 
functions on the Bill of Material cache. 


The calling application is responsible for loading all appropriate key values to the data structure 

and identifying the number of keys to use in retrieval/update processes.  


• Cache Action Code
• '1' Get - retrieve the cache element.  
• '2' Add - add a cache element.
• '3' Update - update a cache element.
• '4' Delete - delete a cache element.
• '5' Delete All - delete all cache elements
• '6' Get Next - retrieve the next cache element
• '7' Add/Update - will add if element does not exist, will change if it does exist.
• '8' Terminate - terminate cache
• '9' Close Cursor- closes cache cursor

• Number of Keys 
• If the number of keys is passed as a parameter, the business function uses this value to setup 
key values for a Get, Update, Delete, Get Next, and Add/Update.  

• A zero may be passed to retrieve or update the first record.

1.3 Special Logic 
Only modify the Save Key fields on the first Add.

1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where there 
is Cache DS this refers to the cacht data structure. 



2.Technical Specifications
2.4 Processing 

Cache Layout:Same as Data Structure.

2.4.1If Cache is sent in. 
2.4.1.1Retrieve the handle from what was sent in.

2.4.2Perform setup functions 
2.4.2.1Initialize cache to get handle.
2.4.2.2Set  DS Cache Error Code = '0';   

2.4.2.3If not successful Set error "032E,"  "Error Processing Cache".


Processing Based on Mode.

2.4.3If Process Mode is "1" - GET:

2.4.3.1Open cursor, reset cursor.
2.4.3.2Retrieve the first element on the cache matching the key values passed 

as input; the number of keys to be used is passed in the input parameters,  If  "0" 

fetch first element in the list. 

2.4.3.3Load the values from the retrieved element into the data structure to 

be passed back to the calling program. 

2.4.3.4If get fails DS Cache Error Code = '6'.


2.4.4If Process Mode is "2" - ADD 

2.4.4.1Copy the DS - Key fields into the Save Key fields
2.4.4.2Insert a new cache element with values from data structure.

2.4.4.3If add fails set error "032E" and set DS Cache Error Code = '4'.


2.4.5If Process Mode is "3" - UPDATE 

2.4.5.1Fetch the record that matches the key.  Copy all fields from DS to the 
Cache Except the Save Fields because these will be needed for the update of the Data 

base 

2.4.5.2If add fails set error "032E" and set DS Cache Error Code = '4'.


2.4.6If Process Mode is "4" - DELETE:
2.4.6.1Delete all elements on the cache matching the key values passed as 
input.

2.4.6.2If delete fails DS Cache Error Code  = '5'.


2.4.7If Process Mode is "5" - DELETE ALL:
2.4.7.1Delete all elements in the cache.
2.4.7.2If delete fails DS Cache Error Code  = '5'.


2.4.8If Process Mode is "6" - GET NEXT:

2.4.8.1Retrieve the next element on the cache matching the key values passed 
as input (the cursor should have been set through a previous "Get" action, i.e. 

process mode "1", if number of keys is "0" then fetch next record with out using any 

key). 

2.4.8.2Load the values from the retrieved element into the data structure to 

be passed back to the calling program.

2.4.8.3If there are no more elements close cursor and set  DS Cache Error Code 

= '1'.


2.4.9If Process Mode is "7" - ADD/UPDATE:

2.4.9.1Fetch the record that matches the key.  Copy all fields from DS to the 
Cache Except the Save Fields because these will be needed for the update of the Data 

base 

2.4.9.2Insert a new cache if fetch failed copying the Key Fields to the Save 

Key fields element with values from data structure.

2.4.9.3Update record if Fetch was successful.

2.4.9.4If add fails set error "032E" and set DS Cache Error Code = '4'.


2.4.10If Process Mode is "8" - END
2.4.10.1Perform cleanup functions (Terminate cache).

2.4.11If Process Mode is "9" - CLOSE CURSOR
Perform cursor close on cursor passed in.

Data Structure

D3002040L - Cache Delete BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
mnSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

nNumberOfKeysINT01integerNONENONE

Number of Days in Future to Query for Responses Due. 

cProcessModeEV01charNONENONE

An option that specifies the type of processing for an event.

cCacheCodeErrorEV01charNONENONE

An option that specifies the type of processing for an event.

cSuppressErrorMessageEV01charNONENONE

An option that specifies the type of processing for an event.

szErrorMessageIDDTAIcharNONENONE

A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

idCursorGENLNGIDNONENONE

General purpose ID variable.

cReturnCursorEV01charNONENONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICNONENONE

The job number (work station ID) which executed the particular job.

mnComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

Related Functions

None

Related Tables

F3002 Bill of Material Master File
CacheMaintainCacheChangeBOMMBF

CacheMaintainCacheChangeBOMMBF

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose

This function will Clear old add, Change Key and Change transactions in cache preceding the 

Update of that transactions records to the cache.


1.3 Special Logic 
Only modify the Save Key fields on the first Add.


1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where 

there is Cache DS this refers to the cache data structure. 


2.Technical Specifications


2.4 Processing 

2.4If Previous = New  and New == Original then update record in the Add Change Cache and exit
 
Call Cache, Add Change BOM MBF
     03 -> Transaction type
     Original->          Original keys

New     ->           New Keys
7       ->           Mode 

7->           Number of Keys

ReturnCode<-           CacheCodeError

0->MatchingAddtoChangeKey


2.5Otherwise

01 -> Transaction type

Original ->          Original keys

New     ->           New Keys

4       ->           Mode 

4->           Number of Keys

ReturnCode<-           CacheCodeError

0->MatchingAddtoChangeKey


        03 -> Transaction type
        Blanks->          Original keys

New     ->           New Keys
4       ->           Mode 

4->           Number of Keys

ReturnCode<-CacheCodeError

0->MatchingAddtoChangeKey


02 -> Transaction type
        Original ->          Original keys
New     ->           New Keys
2       ->          Mode 

7->Number of Keys

       ReturnCode<-CacheCodeError
0->MatchingAddtoChangeKey

Return

01 -> Transaction type
             Original ->          Original keys
Original     ->           New Keys
7       ->           Mode 

7>           Number of Keys

ReturnCode<-  CacheCodeError

0->MatchingAddtoChangeKey


02 -> Transaction type
            Blanks->          Original keys
New     ->           New Keys
7       ->Mode 

7->Number of Keys

ReturnCode<-CacheCodeError

1->MatchingAddtoChangeKey


Data Structure

D3002040O - Cache Maintain Cache Change BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
mnPreviousSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPreviousCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnOriginalSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cOriginalCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

cErrorEV01charNONENONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICNONENONE

The job number (work station ID) which executed the particular job.

mnIdentifierShortItemITMMATH_NUMERICNONENONE

An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item 
numbers (see data item XRT) to accommodate substitute item numbers, replacements, bar codes, customer numbers, supplier numbers, and 
so forth. The item numbers are as follows:   o Item Number (short) - An eight-digit, computer-assigned item number     o 2nd Item Number - The 
25-digit, free-form, user defined alphanumeric item number     o 3rd Item Number - Another 25-digit, free-form, user defined alphanumeric item 
number

szIdentifier2ndItemLITMcharNONENONE

A number that identifies the item. The system provides three separate item numbers plus an extensive cross-reference capability to 
alternative item numbers. The three types of item numbers are: Item Number (short) An 8-digit, computer-assigned item number. 2nd Item Number A 
25-digit, user defined, alphanumeric item number. 3rd Item Number  Another 25-digit, user defined, alphanumeric item number. In addition to 
these three basic item numbers, the system provides an extensive cross-reference search capability. You can define numerous 
cross-references to alternative part numbers. For example, you can define substitute item numbers, replacements, bar codes, customer numbers, or 
supplier numbers.

szIdentifier3rdItemAITMcharNONENONE

The system provides three separate item numbers plus an extensive cross-reference capability to alternate item numbers. These item 
numbers are as follows: 1.  Item Number (short) - An 8-digit, computer-assigned item number. 2.  2nd Item Number - The 25-digit, free-form, user 
defined alphanumeric item number. 3.  3rd Item Number - Another 25-digit, free-form, user defined alphanumeric item number.  In addition to 
these three basic item numbers, an extensive cross-reference search capability has been provided (see XRT). Numerous cross references to 
alternate part numbers can be user defined, such as substitute item numbers, replacements, bar codes, customer numbers, or supplier 
numbers.

szBranchComponentCMCUcharNONENONE

A secondary or lower-level business unit. The system uses the value that you enter to indicate that a branch or plant contains several 
subordinate departments or jobs. For example, assume that the component branch is named MMCU. The structure of MMCU might be as follows:    
Branch/Plant - (MMCU)       Dept A - (MCU)       Dept B - (MCU)       Job 123 - (MCU)

mnNewSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPartialsAllowedYNPRTAcharNONENONE

When you specify component and substitute items on the bill of material, this field indicates whether the total quantity is required to be 
available or if a partial quantity available is acceptable to commit. Example: 100 lb of item A is available:        150 lb of item A is needed. If 
substitutes are not used and Partials Allowed is set to Y for item A, then the 100 lb will be committed. If substitute processing is used, substitutes will 
be checked next, and Partials Allowed on the substitute record will be considered

mnQtyRequiredStandardQNTYMATH_NUMERICNONENONE

The number of units that the system applies to the transaction.

szUnitOfMeasureUMcharNONENONE

A user defined code (00/UM) that identifies the unit of measurement for an amount or quantity. For example, it can represent a barrel, box, 
cubic meter, liter, hour, and so on.

cFixedorVariableBatchSizeFVBTcharNONENONE

jdEffectiveFromDateEFFFJDEDATENONENONE

A date that indicates one of the following:     o When a component part goes into effect on a bill of material     o When a routing step goes into 
effect as a sequence on the routing for an item     o When a rate schedule is in effect The default is the current system date. You can enter 
future effective dates so that the system plans for upcoming changes. Items that are no longer effective in the future can still be recorded and 
recognized in Product Costing, Shop Floor Management, and Capacity Requirements Planning. The Material Requirements Planning system 
determines valid components by effectivity dates, not by the bill of material revision level. Some forms display data based on the effectivity 
dates you enter.

jdEffectiveThruDateEFFTJDEDATENONENONE

A date that indicates one of the following:     o When a component part is no longer in effect on a bill of material     o When a routing step is no 
longer in effect as a sequence on the routing for an item     o When a rate schedule is no longer active The default is December 31 of the 
default year defined in the Data Dictionary for Century Change Year. You can enter future effective dates so that the system plans for upcoming 
changes. Items that are no longer effective in the future can still be recorded and recognized in Product Costing, Shop Floor Management, 
and Capacity Requirements Planning. The Material Requirements Planning system determines valid components by effectivity dates, not by 
the bill of material revision level. Some forms display data based on the effectivity dates you enter.

szEffectiveFromSerialNoFSERcharNONENONE

This field is used to identify the serial number of a particular parent part and specify when the component will become an active part of the 
parent's bill of material.

szEffectiveThruSerialNoTSERcharNONENONE

This field is used to identify the serial number of a particular parent part and specify when the component will no longer be an active part of 
the parent's bill of material.

cIssueTypeCodeITCcharNONENONE

A code that indicates how the system issues each component in the bill of material from stock. In Shop Floor Management, it indicates how 
the system issues a part to a work order. Valid values are:    I Manual issue    F Floor stock (there is no issue)    B Backflush (when the part is 
reported as complete)    P Preflush (when the parts list is generated)    U Super backflush (at the pay-point operation)    S Sub-contract item (send 
to supplier)    Blank Shippable end item  You can issue a component in more than one way within a specific branch/plant by using different 
codes on the bill of material and the work order parts list. The bill of material code overrides the branch/plant value.

cRequiredYNFTRCcharNONENONE

A code that specifies whether a component is required. Valid codes are:    Y The component is required.    N The component is not a 
required selection during order processing. The default value is N.

cOptionalItemKitOPTKcharNONENONE

A code that indicates whether a component is standard or optional within a bill of material or for kit processing. Valid codes are:    S 
Standard. The item is always included in any transaction involving the bill of material.    O Optional. In order entry, you can specify whether the item will 
be included in a particular sale.    F Feature. The item has features that you must specify at order entry. The default value is S

cDefaultComponentFORVcharNONENONE

An option that specifies a default component. Use this field if you are creating Sales Orders using the Recurring Orders Edited Creation 
program (P40211Z). To do so, enter Y in this field. When you specify a kit master item, the Recurring Orders Edited Creation program 
automatically selects all related standard and default components.

cComponentCostingMethodCSTMcharNONENONE

Indicates the method to be used to compute the cost of the component. Valid values are:    #       indicates that this cost will be entered by you 
or may come from an outside source, such as the Item Location record, if a stock item.    $       indicates that this is a dollar amount to be 
added to the cumulative cost of the item as a whole.    %       indicates that this is a percentage, to be multiplied against the or # cost line to 
produce a component cost amount.    blank indicates that this is the base cost for the costed kit as a whole Other cost components will be added to 
this cost or multiplied against it. (Not currently operational)

cCostMethodPurchasingCSMPcharNONENONE

Indicates which of the numerous unit costs available is to be used in costing outgoing Purchase Orders.  Up to seven costs can be chosen 
for an inventory item. These costs include:    1.   Last In Cost    2.   Average cost    3.   Memo Cost 1    4.   Current Cost    5.   Future Cost    6.   Lot Cost  
  7.   Standard Cost Costs 1 and 2 are updated automatically when an item is received. CONTRACT MANAGEMENT SYSTEM: Indicates 
Pricing Type.  Contracts normally use:    U Unit Price Contract (Progress Payments calculates line item payments)    L Lump Sum Contract 
(Units can be left blank or defaulted to 1.  To default units, change Data Dictionary default for Data Item UORG)

cOrderWithYNORDWcharNONENONE

Future use. The Order With code determines if work order generation (P31410) will explode this items bill of material to create orders for this 
items components.

cFixedOrVariableQtyFORQcharNONENONE

A code that indicates if the quantity per assembly for an item on the bill of material varies according to the quantity of the parent item 
produced or is fixed regardless of the parent quantity. This value also determines if the component quantity is a percent of the parent quantity. Valid 
values are:    F Fixed Quantity    V Variable Quantity (default)    %   Quantities are expressed as a percentage and must total 100%For 
fixed-quantity components, the Work Order and Material Requirements Planning systems do not extend the component's quantity per assembly 
value by the order quantity.

cNewCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

cComponentTypeCOTYcharNONENONE

The component type determines what the component is used for in a bill of material.  For example:    A Active ingredient    C Standard 
Component    F Filler ingredient

mnFromPotencyFRMPMATH_NUMERICNONENONE

A number that indicates the minimum potency or percentage of active ingredients acceptable for an item. The system displays a warning 
message if you try to purchase or issue items that do not meet the minimum acceptable potency. The system does not allow you to sell items 
that do not meet the minimum acceptable potency.

mnThruPotencyTHRPMATH_NUMERICNONENONE

A number that indicates the maximum potency or percentage of active ingredients that is acceptable for an item. The system displays a 
warning message if you try to purchase or issue items that have a potency that exceeds the maximum potency acceptable. The system does 
not allow you to sell items that have a potency that exceeds the maximum potency acceptable.

szFromGradeFRGDcharNONENONE

A user defined code (40/LG) that indicates the minimum grade that is acceptable for an item. The system displays a warning message if 
you try to purchase or issue items with grades that do not meet the minimum grade acceptable. The system does not allow you to sell items 
with grades that do not meet the minimum acceptable level.

szThruGradeTHGDcharNONENONE

A user defined code (40/LG) that indicates the maximum grade that is acceptable for an item. The system displays a warning message if 
you try to purchase or issue items with grades that exceed the maximum grade acceptable. The system does not allow you to sell items with 
grades that exceed the maximum grade acceptable.

mnOperSequenceNumberPSQMATH_NUMERICNONENONE

mnBubbleSequenceBSEQMATH_NUMERICNONENONE

A secondary bill of material sequence number that indicates the drawing bubble number.

mnFeaturePlannedPercentFTRPMATH_NUMERICNONENONE

The percentage of demand for a specified feature based on projected production. For example, a company might produce 65% of their 
lubricant with high viscosity, and 35% with low viscosity, based on customer demand. The Material Planning system uses this percentage to 
accurately plan for a process's co-products and by-products. Enter percentages as whole numbers, for example, enter 5% as 5.0. The default 
value is 0%.

mnFeatureCostPercentF$RPMATH_NUMERICNONENONE

A percentage that the Simulate Cost Rollup program uses to calculate the cost of a feature or option item as a percentage of the total cost 
of the parent. Enter the percentage as a whole number, for example, enter 5% as 5.0.

mnResourcePercentRSCPMATH_NUMERICNONENONE

A number that indicates what percent of the ingredients should be issued separately to co-products and by-products.

mnPercentOfScrapSCRPMATH_NUMERICNONENONE

The percentage of unusable component material that is created during the manufacture of a particular parent item.  During DRP/MPS/MRP 
generation, the system increases gross requirements for the component item to compensate for the loss. Note: Shrink is the expected loss of 
parent items (and hence, components) due to the manufacturing process. Shrink and scrap are compounded to figure the total loss in the 
manufacture of a particular item. Accurate shrink and scrap factors can help to produce more accurate planning calculations. Enter percentages 
as whole numbers: 5 percent as 5.0

mnReworkPercentREWPMATH_NUMERICNONENONE

mnAsIsPercentASIPMATH_NUMERICNONENONE

mnPercentCumulativePlaCPYPMATH_NUMERICNONENONE

The cumulative planned output yield percent for a step. The system uses this value to adjust the operation step scrap percent for the 
components at that operation step. This enables the MRP system to use the operation step scrap percent along with the existing component scrap 
percent to plan component demand.

mnStepScrapPercentSTPPMATH_NUMERICNONENONE

A value that the system uses to increase or decrease the amount of materials to account for loss within the operation. The system updates 
this value on Enter/Change Bill of Material when you run the Planned Yield Update program. The system calculates this value by 
compounding the yield percentages from the last operation to the first operation. Use a processing option in Enter/Change Routing to enable the 
system to calculate the component scrap percent.

mnLeadtimeOffsetDaysLOVDMATH_NUMERICNONENONE

The number of days that a part is needed before or after the start date of a manufacturing work order. The system adds the leadtime offset 
days for the part to the start date of the work order to determine the actual date that the part is required. To indicate that a part is needed prior 
to the work order start date, enter the days as a negative number. To indicate how many days after the work order start date that the part is 
required, enter a positive number.

szEngineerChngOrderNoECOcharNONENONE

The number assigned to an engineering change order.

szEngineeringChngReasonECTYcharNONENONE

A code (table 40/CR) that identifies the reason for the engineering change order.

jdDateEngineerChgeDateECODJDEDATENONENONE

The date of the engineering change order.

szDescriptionLine1DSC1charNONENONE

Brief information about an item; a remark or an explanation.

szLineTypeLNTYcharNONENONE

A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
General Ledger, Job Cost, Accounts Payable, Accounts Receivable, and Inventory Management. It also specifies the conditions under 
which a line prints on reports, and it is included in calculations. Codes include the following: S Stock item   J Job cost   N Nonstock item   F Freight  
T Text information   M Miscellaneous charges and credits   W Work order

mnUnitPricePerPrimaryPRICMATH_NUMERICNONENONE

A base or default price that is used with multipliers from the pricing rules to develop discounted prices. If no formula applies to an item or no 
discounts apply to a customer, the system uses this price without adjustments.

mnAmountUnitCostUNCSMATH_NUMERICNONENONE

The amount per unit, derived by dividing the total cost by the unit quantity.

mnPerAssemblySalePricePCTKMATH_NUMERICNONENONE

The percentage of the total assembly/kit price this component represents.

szMessageNoSHNOcharNONENONE

A generic rates and message code (48/SN) that is assigned to a standard note, message, or general narrative explanation. You can use 
this code to add instructional information to a work order. You set up codes for this field on the Generic Message/Rate Types table (F00191).

szPurchasingCostCenterOMCUcharNONENONE

The business unit from an account number.  The account number business unit is usually found in the data item MCU, however, Distribution 
systems use the field MCU as the branch.

szObjectAccountOBJcharNONENONE

The portion of a general ledger account that refers to the division of the Cost Code (for example, labor, materials, and equipment) into 
subcategories. For example, you can divide the Cost Code for labor into regular time, premium time, and burden. Note: If you use a flexible chart of 
accounts and the object account is set to 6 digits, J.D. Edwards recommends that you use all 6 digits. For example, entering 000456 is not 
the same as entering 456 because if you enter 456 the system enters three blank spaces to fill a 6-digit object.

szSubsidiarySUBcharNONENONE

A subset of an object account. Subsidiary accounts include detailed records of the accounting activity for an object account.

szComponentRevisionLevelCMRVcharNONENONE

A code that indicates the current revision level of a component on the bill of material. It is usually used with an engineering change notice 
(ECN) or engineering change order (ECO).

szRevisionNumberRVNOcharNONENONE

A subset to the drawing number. It provides an additional description of the drawing and is useful if the system uses an engineering drawing 
as a reference for this item.

mnItemNumberUseUpUUPGMATH_NUMERICNONENONE

Future use This is the item number to use after this bill of material item is used up.

szUserReservedCodeURCDcharNONENONE

This is a 2 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

jdUserReservedDateURDTJDEDATENONENONE

This is a 6 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

mnUserReservedAmountURATMATH_NUMERICNONENONE

This is a 15 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

szUserReservedReferenceURRFcharNONENONE

A 15-position reference that is reserved for the user.  J.D. Edwards does not currently use this field and does not plan to use it in the future.

mnUserReservedNumberURABMATH_NUMERICNONENONE

This is a 8 position code that is reserved for the user.  JDE does not currently use this field and will not utilize this field in the future.

szUserIdUSERcharNONENONE

The code that identifies a user profile.

szProgramIdPIDcharNONENONE

The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry 
interactive program is P4210, and the number of the Print Invoices batch process report is R42565. The program ID is a variable length value. 
It is assigned according to a structured syntax in the form TSSXXX, where: T The first character of the number is alphabetic and identifies the 
type, such as P for Program, R for Report, and so on. For example, the value P in the number P4210 indicates that the object is a 
program. SS The second and third characters of the number are numeric and identify the system code. For example, the value 42 in the number P4210 
indicates that this program belongs to system 42, which is the Sales Order Processing system. XXX The remaining characters of the numer are 
numeric and identify a unique program or report. For example, the value 10 in the number P4210 indicates that this is the Sales Order Entry 
program.

szWorkStationIdJOBNcharNONENONE

The code that identifies the work station ID that executed a particular job.

jdDateUpdatedUPMJJDEDATENONENONE

The date that specifies the last update to the file record.

mnTimeOfDayTDAYMATH_NUMERICNONENONE

The computer clock in hours:minutes:seconds.

szBillRevisionLevelBREVcharOPTNONE

A value that indicates the revision level of a bill of material. It is usually used in conjunction with an engineering change notice or 
engineering change order. The revision level of the bill of material should match the revision level of its associated routing, although the system does 
not check this. This value is defined and maintained by the user.

cActiveIngredientFlagAINGcharOPTNONE

A code that indicates whether an item is an active component of a parent item. When the item is an active component, the system can 
calculate a parent item's expiration date by comparing all component expiration dates and choosing the earliest date. Valid values 
are: Blank The item is not an active component of a parent item. 1 The item is an active component of a parent item.

mnPreviousComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnOriginalComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnNewComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

szBOMSTRINGBOSTRcharOPTNONE

A Prep Code used by DFM Kanban Management.

cBOMCHARBCHARcharOPTNONE

A field that indicates whether the item is included in the Lean Superflush.  A  (default) indicates that the component is included in the 
Superflush.  A '1' indicates that the Item is excluded from Lean Superflush. 

Related Functions

None

Related Tables

F3002 Bill of Material Master File
CacheMaintainCacheForDeleteBOM

CacheMaintainCacheForDeleteBOM

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose

This function will Clear old add, Change Key and Change transactions  and add a delete of that 

transaction.


1.3 Special Logic 
Only modify the Save Key fields on the first Add.


1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where there 

is Cache DS this refers to the cache data structure. 


2.Technical Specifications


2.4 Processing 

2.4Delete the Add Change Cache with 
Call Cache,AddChange BOM MBF
   02 -> Transaction type
   Blanks ->         Original keys

Previous     ->          New Keys
4      ->          Mode 

7->          Number of Keys

2.5Delete the Add Change Cache with 
Call Cache, Add Change BOM MBF
   01 -> Transaction type
   Original      ->         Original keys

Blanks     ->           New Keys
4      ->           Mode 

4->           Number of Keys


2.6 Delete the Add Change Cache with 
Call Cache, Add Change BOM MBF
   03 -> Transaction type
   Original->         Original keys

Blanks     ->          New Keys
4      ->          Mode 

4->          Number of Keys

2.7Add Delete Record 
Call Cache, Delete  BOM MBF
   Origional ->  keys
2      ->          Mode 
 

Data Structure

D3002040M - Cache Maintain Cache For Delete BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
mnPreviousComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnPreviousSubstituteItemSeqNoSBNTMATH_NUMERICOPTNONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPreviousCoproductsByproductsCOBYcharOPTNONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnNewComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnNewSubstituteItemSeqNoSBNTMATH_NUMERICOPTNONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cNewCoproductsByproductsCOBYcharOPTNONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

cErrorEV01charOPTNONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICOPTNONE

The job number (work station ID) which executed the particular job.

Related Functions

None

Related Tables

F3002 Bill of Material Master File
CacheVerifyDBAddBOMMBF

CacheVerifyDBAddBOMMBF

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose

This function will verify if a record can be added to the file by reading the file and the 

cache to validate new adds, deletes and updates do not conflict.


1.3 Special Logic 
Only modify the Save Key fields on the first Add.


1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where 

there is Cache DS this refers to the cache data structure. 


2.Technical Specifications


2.4 Processing 


2.4Fetch the Add Change Cache with
 
Call Cache, Add Change BOM MBF
     02 -> Transaction type
     Blanks ->          Original keys

New     ->           New Keys
1       ->           Mode 

7->           Number of Keys

ReturnCode_Add <-           CacheCodeError

0->MatchingAddtoChangeKey


2.5Fetch the Add Change Cache with 

Call Cache, Add Change BOM MBF

     01 -> Transaction type
     New->          Original keys

Blanks     ->           New Keys
1       ->           Mode 

4->           Number of Keys

ReturnCode_Update <-           CacheCodeError

0->MatchingAddtoChangeKey


2.6Fetch Record 
Call Cache, Delete  BOM MBF
     New ->  keys
1->           Mode


2.6.1If    (ReturnCode_File == Failed)   And  (ReturnCode_Add  == Failed)

      or
       (ReturnCode_File == Passed)  And  (ReturnCode_Update == Passed)
      or
       (ReturnCode_File == Passed)  And  (ReturnCode_Delete == Passed)


If above conditions are met then Record is ok else error.


2.6.2Delete the record based on the previous keys

Call Cache, Add Change BOM MBF

     02 -> Transaction type
     Blanks->          Original keys

Original Keys->           New Keys
4->           Mode 

7->           Number of Keys

0->MatchingAddtoChangeKey


Data Structure

D3002040P - Cache Verify DB Add BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
mnPreviousSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPreviousCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnNewSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cNewCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

cErrorEV01charNONENONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICNONENONE

The job number (work station ID) which executed the particular job.

mnPreviousComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnNewComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

Related Functions

None

Related Tables

F3002 Bill of Material Master File
CacheVerifyDBChangeKeyBOMMBF

CacheVerifyDBChangeKeyBOMMBF

F3002 Bill of Material MBF Functions

Minor Business Rule

Object Name: B3002040

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose
This function will verify if a record can be changed to the new key by reading the file and the cache 
to validate new adds, deletes and updates do not conflict.


1.3 Special Logic 
Only modify the Save Key fields on the first Add.

1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where there 
is Cache DS this refers to the cache data structure. 


2.Technical Specifications

2.4 Processing 



2.4If Previous = New exit Validation Occurred Last time
 

2.5if Original = New Check if another record took the place of the previous old
Call Cache, Add Change BOM MBF
   02-> Transaction type
   Blanks->          Original keys

New     ->          New Keys
1       ->          Mode 

7->          Number of Keys

ReturnCode<-          CacheCodeError


2.5.1If Fetch passes then error and exit, 
else it is OK


2.6Fetch the Add Change Cache with
 
Call Cache, Add Change BOM MBF
     02 -> Transaction type
     Blanks ->          Original keys

New     ->           New Keys
1       ->           Mode 

7->           Number of Keys

ReturnCode_Add <-           CacheCodeError

0->MatchingAddtoChangeKey


2.7Fetch the Add Change Cache with 

Call Cache, Add Change BOM MBF

     01 -> Transaction type
     New->          Original keys

Blanks     ->           New Keys
1       ->           Mode 

4->           Number of Keys

ReturnCode_Update <-           CacheCodeError

0->MatchingAddtoChangeKey


2.8Fetch Record 
Call Cache, Delete  BOM MBF
     New ->  keys
1->           Mode


2.8.1If    (ReturnCode_File == Failed)   And  (ReturnCode_Add  == Failed)

      or
       (ReturnCode_File == Passed)  And  (ReturnCode_Update == Passed)
      or
       (ReturnCode_File == Passed)  And  (ReturnCode_Delete == Passed)


If above conditions are met then Record is ok else error.

Data Structure

D3002040N - Cache Verify DB Change Key BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
mnPreviousSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPreviousCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnNewSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cNewCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnOriginalSubstituteItemSeqNoSBNTMATH_NUMERICNONENONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cOriginalCoproductsByproductsCOBYcharNONENONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

cErrorEV01charNONENONE

An option that specifies the type of processing for an event.

mnJobNumberJOBSMATH_NUMERICNONENONE

The job number (work station ID) which executed the particular job.

mnPreviousComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnNewComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnOriginalComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

Related Functions

None

Related Tables

F3002 Bill of Material Master File
n>


1.4 Notation 
Any where that there is DS this refers to the business function Data Structure, any where there 

is Cache DS this refers to the cache data structure. 


2.Technical Specifications


2.4 Processing 

2.4Delete the Add Change Cache with 
Call Cache,AddChange BOM MBF
   02 -> Transaction type
   Blanks ->         Original keys

Previous     ->          New Keys
4      ->          Mode 

7->          Number of Keys

2.5Delete the Add Change Cache with 
Call Cache, Add Change BOM MBF
   01 -> Transaction type
   Original      ->         Original keys

Blanks     ->           New Keys
4      ->           Mode 

4->           Number of Keys


2.6 Delete the Add Change Cache with 
Call Cache, Add Change BOM MBF
   03 -> Transaction type
   Original->         Original keys

Blanks     ->          New Keys
4      ->          Mode 

4->          Number of Keys

2.7Add Delete Record 
Call Cache, Delete  BOM MBF
   Origional ->  keys
2      ->          Mode 
 

Data Structure

D3002040M - Cache Maintain Cache For Delete BOM MBF

Parameter NameData ItemData TypeReq/OptI/O/Both
mnPreviousComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnPreviousSubstituteItemSeqNoSBNTMATH_NUMERICOPTNONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cPreviousCoproductsByproductsCOBYcharOPTNONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients 
(Process Manufacturing) are consumed during the production process. Valid values are:    C Co-products    B By-products    I Intermediate 
products    Blank Standard components or ingredients

mnNewComponentNumberCPNBMATH_NUMERICOPTNONE

A number that specifies how the system displays the sequence of components on a single-level bill of material. This number initially 
indicates the sequence in which a component was added to the bill of material. You can modify this number to change the sequence in which the 
components appear.

mnNewSubstituteItemSeqNoSBNTMATH_NUMERICOPTNONE

A number that indicates the sequence for the substitute items for a component. The system looks for substitute items by this sequence 
number.

cNewCoproductsByproductsCOBYcharOPTNONE

A code that distinguishes standard components or ingredients from co-products,by-products, and intermediates. Co-products are 
(concurrent) end items as the result of a process. By-products are items that can be produced at any step of a process, but were not planned. 
Intermediate products are items defined as a result of a step but are automatically consumed in the following step. Generally, intermediates are 
nonstock items and are only defined steps with a pay-point for reporting purposes. Standard components (Discrete Manufacturing) or ingredients