CacheRoutingMaster

Cache Routing Master

Minor Business Rule

Object Name: B3001940

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 Routing cache.


1.2Setup Notes and Prerequisites

The calling application is responsible for creating 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

• 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.3Special Logic
There is no special logic within this function.

2.Technical Specifications

2.4Processing 

I.    Perform setup functions 

A. Initialize cache to get handle.
B. Set  DS Cache Error Code = '0';   

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


II.  Processing Based on Mode.


A.If Process Mode is "1" - GET:
1.Open cursor, reset cursor.
2.Retrieve 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. 

3.Load the values from the retrieved element into the data structure to be passed back to 

the calling program. 

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


B.If Process Mode is "2" - ADD (same logic as mode "7").

1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


C.If Process Mode is "3" - UPDATE (same logic as mode "7").
1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


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


E.If Process Mode is "5" - DELETE ALL:

1.Delete all elements in the cache.
2.If delete fails DS Cache Error Code  = '5'.


F.If Process Mode is "6" - GET NEXT:
1.Retrieve 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 "4", if number of 

keys is "0" then fetch next record with out using any key). 

2.Load the values from the retrieved element into the data structure to be passed back to 

the calling program.

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


G.If Process Mode is "7" - ADD/UPDATE:

1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


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

I.If Process Mode is "9" - CLOSE CURSOR
Perform cleanup functions (Terminate cache).

Data Structure

D3001940A - Cache Routing Master

Data Item               Description    I/OReqd           Notes

JOBN                   Job Number           IY           Used in cache name


INT01               Number of Keys           OY                Number of Keys to be used in 

the                                                                        cache retrieval/delete 

process.

                                                                       (e.g. 3 keys will useTRT, KIT,

                                                                       MCU, ; 4 keys will use TRT, 

                                                                       KIT, MCU and BQTY, etc.)  

                                                                       If in fetch mode and the 

number 

                                                                       of keys is 0 then the first 

                                                                       element in the cache will be 

                                                                       found without using a key. 


EV01         Cache Action Code            IY           "1" = Get cache element 

                                                                       "2" = Add element  

                                                                       "3" = Update element 

                                                                       "4" = Delete cache elements 

(keyed) 

                                                                       "5" = Delete All cache 

elements 

                                                                       "6" = Get Next cache element 

                                                                       "7"  = Add/Update cache 

element 

                                                                       "8" = End cache (terminate 

cache) 

                                                                       "9" = Close Cursor


EV01              Cache Code Error           ON           "0" = Successful Process 

                                                                       "1" = Reached End Of CACHE 

                                                                       "2" = Invalid Input Parameter 

                                                                       "3" = Failed to Create CACHE 

                                                                       "4" = Failed to Add CACHE 

                                                                       "5" = Failed to Delete CACHE 

                                                                       "6" = Fetch Failed (Mode 4)


EV01        Suppress Error Messages     IN           1=Suppress runtime error 

                                                                       message handling. 

                                                                       0=Allow runtime error 

                                                                       message handling.


DTAI               Error Message ID     ON


GENLNG                   Cursor   I/ON           Returns cursor


EV01                   Return Cursor   I/OY           1= Return Cursor 

                                                                       0 = Do not Return Cursor


Vc02                TransactionType     IY               Key Field 

                                                                       (01 for change, 

                                                                        02 for an Add 03 (Update?), 

                                                                        04 Temp Record from file)


OPSQ     Operation Sequence No. New     IY            Key


OPSC   Original Operation Code Type     IY            Key


LINE  Original Line/Cell Identifier     IY            Key


EFFF    Original Effetive From Date     IY            Key


OPSQ     Operation Sequence No. New     IY            Key


OPSC            Operation Code Type     IY            Key


LINE           Line/Cell Identifier     IY            Key


EFFF            Effective From Date     IY            Key


ALD          Auto Load Description     I


DSC1                    Description     I


MCU                    Work Center     I


OPSQ     Operation Sequence No. Old     I


EFFT            Effective Thru Date     I


BFPF                 Pay Point Code     I


LAMC                 Labor or Machine     I


TIMB                Time Basis Code     I


OPSR     Operation Shrinkage Factor     I


RUNM           Standard Run Machine     I


RUNL             Standard Run Labor     I


SETL           Standard Setup Hours     I


PWRT                 Piecework Rate     I


MOVD                     Move Hours     I


QUED                    Queue Hours     I


LTPC             Leadtime Overlap %     I


POVR             Percent of Overlap     I


NXOP          Next Operation Seq No     I


OPYP      Operation Planned Yield %     I


CPYP     Cumulative Planned Yield %     I


APID                    Unit Number     I


SHNO                 Message Number     I


INPE                Inspection Code     I


JBCD                       Job Code     I


AN8                 Address Number     I


VEND                Supplier Number     I


POY           Purchase Order (Y/N)          I


COST                           Cost     I


OMCU            Project Cost Center     I


OBJ                      Object     I


SUB                     Subsidiary     I


URCD             User Reserved Code     I


URDT           User Reserved Date     I


URAT           User Reserved Amount     I


URRF        User Reserved Reference     I


URAB           User Reserved Number     I


EV01            Delete Old Resource     I


LOCN             Consuming Location     I


RUC                 Resource Units     I


CAPU       Capacity Unit of Measure     I


^

Parameter NameData ItemData TypeReq/OptI/O/Both
mnJobNumberJOBSMATH_NUMERICNONENONE

Used in cache  nameab 



^

nNumberOfKeysINT01integerNONENONE

Number of Keys to be used in the cache retrieval/delete process.
(e.g. 3 keys will useTRT, KIT, MCU, ; 4 keys will use TRT, KIT, MCU and BQTY, etc.)


If in fetch mode and the number of keys is 0 then the first element in the cache will be found 

without using a key.


^

cProcessModeEV01charNONENONE

"1" = Get cache element 
"2" = Add element 

"3" = Update element 

"4" = Delete cache elements (keyed)

"5" = Delete All cache elements

"6" = Get Next cache element 

"7"  = Add/Update cache element 

"8" = End cache (terminate cache)

"9" = Close  Cursorab 


^

cCacheCodeErrorEV01charNONENONE

"0" = Successful Process
"1" = Reached End Of CACHE 

"2" = Invalid Input Parameter 

"3" = Failed to Create CACHE

"4" = Failed to Add CACHE 

"5" = Failed to Delete CACHE 

"6" = Fetch Failed (Mode  4)ab 


^

cSuppressErrorMessageEV01charNONENONE

1=Suppress runtime error message handling. 
0=Allow runtime error message  handling.ab 


^

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

Returns cursor
^

cReturnCursorEV01charNONENONE

1= Return Cursor 
0 = Do not Return  Cursorab 


^

szTransactionTypeVC02charNONENONE

Key Field (01 for change, 02 for an Add 03, 04 Temp Record from file)
^

mnOriginalSequenceNoOperationsOPSQMATH_NUMERICNONENONE

Key
^

szOriginalTypeOperationCodeOPSCcharNONENONE

Key
^

szOriginalLineIdentifierLINEcharNONENONE

Key
^

jdOriginalEffectiveFromDateEFFFJDEDATENONENONE

Key
^

mnSequenceNoOperationsOPSQMATH_NUMERICNONENONE

A number used to indicate an order of succession. In routing instructions, a number that sequences the fabrication or assembly steps in the 
manufacture of an item. You can track costs and charge time by operation. In bills of material, a number that designates the routing step in the 
fabrication or assembly process that requires a specified component part. You define the operation sequence after you create the routing 
instructions for the item. The Shop Floor Management system uses this number in the backflush/preflush by operation process. In engineering 
change orders, a number that sequences the assembly steps for the engineering change. For repetitive manufacturing, a number that 
identifies the sequence in which an item is scheduled to be produced. Skip To fields allow you to enter an operation sequence that you want to begin 
the display of information. You can use decimals to add steps between existing steps. For example, use 12.5 to add a step between steps 
12 and 13.

szTypeOperationCodeOPSCcharNONENONE

A user defined code (30/OT) that indicates the type of operation. Valid values include: A Alternate routing   TT Travel time   IT Idle time   T Text

szLineIdentifierLINEcharNONENONE

A number that defines a production line or cell. Detailed work center operations can be defined inside the line or cell.

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.

szAutoLoadDescriptionALDcharNONENONE

This field is used to pull in a standard description from a user defined for the specified operation.

szDescriptionLine1DSC1charNONENONE

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

szCostCenterMCUcharNONENONE

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

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.

cPayPointCodeBFPFcharNONENONE

A code that indicates whether a work center has labor, material, or both,backflushed through it when quantities are reported against 
operations occurring in the work center. If you do not override the routing record, the system uses the work center value as the default. Valid codes 
are:    0   Not a backflush work center    B Backflush material and labor    M Backflush material only    L Backflush labor only    P Preflush material 
only

cLaborOrMachineLAMCcharNONENONE

A code to designate whether the operation is labor or machine.

cTimeBasisCodeTIMBcharNONENONE

A user defined code (30/TB) that indicates how machine or labor hours are expressed for a product. Time basis codes identify the time 
basis or rate to be used for machine or labor hours entered for every routing step. For example, 25 hours per 1,000 pieces or 15 hours per 
10,000 pieces. You can maintain the time basis codes in Time Basis Codes. The system uses the values in the Description-2 field on the User 
Defined Codes form for costing and scheduling calculations. The description is what the code represents, but is not used in calculations.

mnOperationShrinkageOPSRMATH_NUMERICNONENONE

Future use. This field indicates the percentage of scrap that is typically encountered for this operation for this part.  If the quantity ordered is 
100,and we have historically had a shrinkage of 4% in this operation due to any factor, we would expect 96 to be completed and 4 to be 
scrapped.  This is a useful value for determining efficiency by comparing the completion to the expected 96 instead of the order for 100.

mnRunMachineStandardRUNMMATH_NUMERICNONENONE

The standard machine hours that you expect to incur in the normal production of this item.

mnRunLaborStandardRUNLMATH_NUMERICNONENONE

The standard hours of labor that you expect to incur in the normal production of this item. The run labor hours in the Routing Master table 
(F3003) are the total hours that it takes the specified crew size to complete the operation. The hours are multiplied by the crew size during shop 
floor release and product costing.

mnSetupLaborHrsStdrSETLMATH_NUMERICNONENONE

The standard setup hours that you expect to incur in the normal completion of this item. This value is not affected by crew size.

mnRatePieceworkPWRTMATH_NUMERICNONENONE

The rate to be paid for the type of component (piece) being produced.

mnCrewSizeSETCMATH_NUMERICNONENONE

The number of people who work in the specified work center or routing operation. The system multiplies the Run Labor value in the Routing 
Master table (F3003) by crew size during costing to generate total labor amounts. If the Prime Load Code is L or B, the system uses the total 
labor hours for backscheduling. If the Prime Load Code is C or M, the system uses the total machine hours for backscheduling without 
modification by crew size.

mnMoveHoursMOVDMATH_NUMERICNONENONE

The planned hours that are required to move the order from this operation to the next operation in the same work center. If the Routing 
Master values are blank, the system retrieves the default value from the work order routing. However, the system uses these values only for 
backscheduling variable leadtime items.

mnQueueHoursQUEDMATH_NUMERICNONENONE

The total hours that an order is expected to be in queue at work centers and moving between work centers. The system stores this value in 
the Item Branch table (F4102). You can calculate this value using the Leadtime Rollup program or you can enter it manually. When you run the 
Leadtime Rollup program, the system overrides manual entries and populates the table with calculated values.

mnLeadtimeOverlapLTPCMATH_NUMERICNONENONE

Future use This field is used to modify the normal logic in the backscheduling routine. If operation number 010 starts on day one and is 
expected to be completed on day ten, the normal backscheduling logic would specify a start day of day ten for the next operation number 020.  If it 
is not necessary to complete all items before beginning the second operation, we would then use the leadtime overlap percent to modify 
the calculated start date of the second operation. For instance a 50 percent overlap would calculate that the start date should be modified to 
start 50 percent sooner or the beginning of day six.  If the overlap percent was equal to 90 percent it would be scheduled to start on day two.

mnPercentOfOverlapPOVRMATH_NUMERICNONENONE

A number that indicates the percentage that successive operations can overlap. The actual overlap percentage entered for the operation 
sequence is the percent by which that operation overlaps the prior operation. For example, if you enter 80%, this indicates that work can begin 
on the overlapped operation when 20% of the prior operation is completed. Notes:    1.   Overlapping has no effect on move and queue 
calculations.    2.   The percent entered must be less than or equal to 100%. Enter percents as whole numbers:  5% as 5.00

mnNextOperationNXOPMATH_NUMERICNONENONE

The operation number with which the current operation can be simultaneously processed.

mnPercentOperationalPlOPYPMATH_NUMERICNONENONE

The planned output yield percent for a step. The Planned Yield Update program uses this value to update the cumulative percent in the 
routing and the operation scrap percent in the bill of material. Materials Requirements Planning uses the step scrap percent and the existing 
component scrap percent to plan component demand.

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.

szUnitNumberAPIDcharNONENONE

A 12-character alphanumeric code used as an alternate identification number for an asset. This number is not required, nor does the 
system assign a number if you leave the field blank when you add an asset. If you use this number, it must be unique. For equipment, this is 
typically the serial number.

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).

szInspectionCodeINPEcharNONENONE

Future use. This is a user defined code specifying the type of normal inspection practice for this particular item.  Examples that could be 
established are:     o First Piece Inspection     o 100% Inspection     o Random     o First Piece Each Shift     o No Inspection

szJobCategoryJBCDcharNONENONE

A user defined code (07/G) that defines the jobs within your organization. You can associate pay and benefit information with a job type and 
apply that information to the employees who are linked to that job type.

mnAddressNumberAN8MATH_NUMERICNONENONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

mnPrimaryLastVendorNoVENDMATH_NUMERICNONENONE

The address book number of the preferred provider of this item.

cPurchaseOrderYPOYcharNONENONE

Determines if the Work Order Generation program (P31410) creates a purchase order for a subcontracted operation within a routing. Valid 
values are:    Y Yes, create a purchase order.    N No, do not create a purchase order.

szCostTypeCOSTcharNONENONE

A code that designates each element of cost for an item. Examples of the cost object types are:   o  A1  Purchased raw material   o  B1  
Direct labor routing rollup   o  B2  Setup labor routing rollup   o  C1  Variable burden routing rollup   o  C2  Fixed burden routing rollup   o  Dx  Outside 
operation routing rollup   o  Xx  Extra add-ons, such as electricity and water  The optional add-on computations usually operate with the type 
Xx extra add-ons. This cost structure allows you to use an unlimited number of cost components to calculate alternative cost rollups. The 
system then associates these cost components with one of six user defined summary cost buckets.

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.

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.

cDeleteOldResourceEV01charNONENONE

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

szLocationLOCNcharOPTNONE

The storage location from which goods will be moved.

mnResourcesUnitsConsumedRUCMATH_NUMERICOPTNONE

A number that indicates how many of the line's resource units are needed to produce one item.

szUMCapacityUOMCAPUcharOPTNONE

A unit of measure that you use to express the capacity of a production line. Examples of units of measure include hours, number of 
stampings, coats of paint, and so on. This item is used for repetitive processing only.

mnAssetItemNumberNUMBMATH_NUMERICOPTNONE

An 8-digit number that uniquely identifies an asset.

szWorkcenterBranchWMCUcharOPTNONE

This is the branch/plant to which the work center belongs and must exist in the business unit master (F0006) and branch plant constants file 
(F41001).

szActivityCodeACTBcharOPTNONE

The aggregation of actions performed within an organization that are useful for purposes of activity-based costing.

szCompentencyTypeCMPEcharOPTNONE

A code that identifies a competency table or category for which you can track employee competencies. Valid values 
are: 01 Training 02 Skill 03 Accomplishment 04 Certification 05 Degree 06 Language  It is a user defined code (05/CY), but the values are hard-coded and cannot be 
changed. Therefore, each of the competencies that you track must pertain to one of these competency types. Adding additional values to this 
list requires system customizations.

szCompentencyCodeCMPCcharOPTNONE

A code that specifies a competency within a competency type. For example, a competency for the competency type "Skill" might be "C 
programming" or  "Driving a forklift."

mnCompetencyLevelFromCPLVLFRMATH_NUMERICOPTNONE

This value set the lowest value to be included in the rule criteria range for a competency level range selection.

mnCompetencyLevelToCPLVLTOMATH_NUMERICOPTNONE

This value set the highest value to be included in the rule criteria range for a competency level range selection.

cRuleMatchFlagCMRQcharOPTNONE

A field that indicates whether the resource must satisfy the requirements that define the rule criteria. Valid values are:    1   The resource must 
meet the rule criteria.    0   The rule criteria are optional.

mnAddressNumberManagerANSAMATH_NUMERICOPTNONE

The address book number of a manager or planner.   Note:  A processing option for some forms allows you to enter a default value for this 
field based on values for category codes 1 (Phase), 2, and 3.  You set up the default values on the Default Managers and Supervisors form.  
After you set up the default values and the processing option, the default information displays automatically on any work orders that you 
create if the category code criterion is met.  You can either accept or override the default value. 

mnSupervisorANPAMATH_NUMERICOPTNONE

The address book number of the supervisor.

mnAddNoAssignedToANPMATH_NUMERICOPTNONE

The address book number of the person assigned to do the work.

cMaintenanceScheduleFlagWSCHFcharOPTNONE

A flag used to indicate if the work (i.e. work order, labor detail step, or PM Projection) is scheduled to a crew. Valid values are listed in UDC 
13/WS (Maintenance Schedule Flag).

cResourcesAssignedTRAFcharOPTNONE

A code that indicates whether a resource has been assigned to a work order through the Resource Assignment program (P48331). You 
can choose a value from UDC table 00/ZO.

cDFMOpCriticalYNDFOPCcharOPTNONE

A flag (Y/N) that indicates if an operation exists on the critical path for a particular item

Related Functions

None

Related Tables

F3003 Routing Master File
CacheRoutingMasterDelete

CacheRoutingMasterDelete

Cache Routing Master

Minor Business Rule

Object Name: B3001940

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 Routing Delete cache.


1.2Setup Notes and Prerequisites

The calling application is responsible for creating 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

• 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.3Special Logic
There is no special logic within this function.

2.Technical Specifications

2.4Processing 

I.    Perform setup functions 

A. Initialize cache to get handle.
B. Set  DS Cache Error Code = '0';   

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


II.  Processing Based on Mode.


A.If Process Mode is "1" - GET:
1.Open cursor, reset cursor.
2.Retrieve 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. 

3.Load the values from the retrieved element into the data structure to be passed back to 

the calling program. 

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


B.If Process Mode is "2" - ADD (same logic as mode "7").

1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


C.If Process Mode is "3" - UPDATE (same logic as mode "7").
1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


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


E.If Process Mode is "5" - DELETE ALL:

1.Delete all elements in the cache.
2.If delete fails DS Cache Error Code  = '5'.


F.If Process Mode is "6" - GET NEXT:
1.Retrieve 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 "4", if number of 

keys is "0" then fetch next record with out using any key). 

2.Load the values from the retrieved element into the data structure to be passed back to 

the calling program.

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


G.If Process Mode is "7" - ADD/UPDATE:

1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


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

I.If Process Mode is "9" - CLOSE CURSOR
Perform cleanup functions (Terminate cache).

^

Data Structure

D3001940B - Cache Routing Master Delete


Data Item           Description  I/O     Reqd      Notes


JOBN              Job Number  I     Y     Used in cache name


INT01             Number of KeysO     Y     Number of Keys to be used in the 

cache                                                                                                    

                                                                                                      

                                                          retrieval/delete process. 

                                                                  (e.g. 3 keys will useTRT, KIT, 

                                                                  MCU, ; 4 keys will use TRT, KIT, 

                                                                  MCU and BQTY,If in fetch mode 

                                                                  and the number of keys is 0 then 

                                                                  the first element in the cache 

                                                                  will be found without using a key. 


EV01                 Cache Action CodeI     Y     "1" = Get cache element 

                                                                  "2" = Add element 

                                                                  "3" = Update element

                                                                  "4" = Delete cache elements (keyed)

                                                                  "5" = Delete All cache elements

                                                                  "6" = Get Next cache element

                                                                  "7"  = Add/Update cache element

                                                                  "8" = End cache (terminate cache)

                                                                  "9" = Close Cursor 


EV01                  Cache Code ErrorO      N     "0" = Successful Process 

                                                                  "1" = Reached End Of CACHE 

                                                                  "2" = Invalid Input Parameter 

                                                                  "3" = Failed to Create CACHE 

                                                                  "4" = Failed to Add CACHE 

                                                                  "5" = Failed to Delete CACHE 

                                                                  "6" = Fetch Failed (Mode 4)


EV01          Suppress Error Messages   I       N      1=Suppress runtime error 

                                                                  message handling.                   

                                                                                                      

                 0=Allow runtime error 

                                                                  message handling.


DTAI                Error Message IDO     N


GENLNG                  CursorI/O      N      Returns cursor


EV01                 Return CursorI/O      Y      1= Return Cursor 0 = Do not Return 

Cursor


Vc02               TransactionTypeI      Y      Key Field 

                                                                  (01 for change,

                                                                   02 for an Add 03,                  

                                                 

                                                                   04 Temp Record from file)


TRT                  Routing TypeI      Y      Key 


KIT       Parent Item Number (short)I      Y      Key


MMCU                   Branch/PlantI      Y        Key


BQTY                 Batch QuantityI      Y     Key


OPSQ     Operation Sequence No. NewI      Y      Key


OPSC           Operation Code TypeI      Y      Key


LINE          Line/Cell IdentifierI      Y      Key


EFFF              Effective From DateIY           Key


^

Parameter NameData ItemData TypeReq/OptI/O/Both
mnJobNumberJOBSMATH_NUMERICNONENONE

Used in cache name
^

nNumberOfKeysINT01integerNONENONE

Number of Keys to be used in the cache retrieval/delete process.
(e.g. 3 keys will useTRT, KIT, MCU, ; 4 keys will use TRT, KIT, MCU and BQTY, etc.)


If in fetch mode and the number of keys is 0 then the first element in the cache will be found 

without using a key.


^

cProcessModeEV01charNONENONE

"1" = Get cache element 
"2" = Add element  

"3' = Update element 

"4" = Delete cache elements (keyed) 

"5" = Delete All cache elements 

"6" = Get Next cache element 

"7'  = Add/Update cache element 

"8" = End cache (terminate cache) 

"9" = Close  Cursorab 


^

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.

mnSequenceNoOperationsOPSQMATH_NUMERICNONENONE

A number used to indicate an order of succession. In routing instructions, a number that sequences the fabrication or assembly steps in the 
manufacture of an item. You can track costs and charge time by operation. In bills of material, a number that designates the routing step in the 
fabrication or assembly process that requires a specified component part. You define the operation sequence after you create the routing 
instructions for the item. The Shop Floor Management system uses this number in the backflush/preflush by operation process. In engineering 
change orders, a number that sequences the assembly steps for the engineering change. For repetitive manufacturing, a number that 
identifies the sequence in which an item is scheduled to be produced. Skip To fields allow you to enter an operation sequence that you want to begin 
the display of information. You can use decimals to add steps between existing steps. For example, use 12.5 to add a step between steps 
12 and 13.

szTypeOperationCodeOPSCcharNONENONE

A user defined code (30/OT) that indicates the type of operation. Valid values include: A Alternate routing   TT Travel time   IT Idle time   T Text

szLineIdentifierLINEcharNONENONE

A number that defines a production line or cell. Detailed work center operations can be defined inside the line or cell.

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.

Related Functions

None

Related Tables

F3003 Routing Master File
CacheRoutingMasterHeader

CacheRoutingMasterHeader

Cache Routing Master

Minor Business Rule

Object Name: B3001940

Parent DLL: CMFGBASE

Location: Client/Server

Language: C

Data Structure

D3001940C - Cache Routing Master Header

Data Item        Description       I/O   Reqd      Notes

JOBN            Job Number       I     Y    Used in cache name


INT01        Number of Keys       I       Y      Number of Keys to be used in the cache    

                                                                                                      

               retrieval/delete process. 

                                                            (e.g. 3 keys will useTRT, 

                                                            KIT, MCU, ; 4 keys will use 

                                                            TRT, KIT, MCU and BQTY, etc.)

                                                            If in fetch mode and the 

                                                            number of keys is 0 then 

                                                            the first element in the 

                                                            cache will be found 

                                                            without using a key. 


EV01          Process Mode       I       Y      "1" = Get cache element 

                                                            "2" = Add element  

                                                            "3" = Update element 

                                                            "4" = Delete cache elements (keyed) 

                                                            "5" = Delete All cache elements 

                                                            "6" = Get Next cache element 

                                                            "7"  = Add/Update cache element 

                                                            "8" = End cache (terminate cache) 

                                                            "9" = Close Cursor


EV01       Cache Code Error       O        N      "0" = Successful Process 

                                                            "1" = Reached End Of CACHE 

                                                            "2" = Invalid Input Parameter 

                                                            "3" = Failed to Create CACHE 

                                                            "4" = Failed to Add CACHE 

                                                            "5" = Failed to Delete CACHE 

                                                            "6" = Fetch Failed (Mode 4)


EV01 Suppress Error Messages  I       N       1=Suppress runtime error message 

handling. 

                                                             0=Allow runtime error message handling.


DTAI        Error Message ID  O       N


GENLNG            Cursor I/O       N       Returns cursor


EV01           Return Cursor I/O       Y       1= Return Cursor 

                                                             0 = Do not Return Cursor


TRT   Original Routing Type  I       Y


KIT  Original Parent Item Number (short)I Y


MMCU    Original Branch/Plant  I       Y


BQTY  Original Batch Quantity  I       Y


TRT             Routing Type  I       Y


KITParent Item Number (short)  I       Y


MMCU              Branch/Plant  I       Y


BQTY            Batch Quantity  I       Y


BQTY    Batch Quantity Display  I       Y


UOM           Unit of Measure  I       Y


UOM1   Primary Unit of Measure I/O        


UOM9 Production Unit of Measure I/O         


TIMB            Time Basis Code I/O         


KITL      Kit - 2nd Item Number I/O         


KITA      Kit - 3rd Item Number I/O         


UOM   Original Unit of Measure  I       Y


RREV     Routing Revision Level I/O


OPSQ     F3003 Last Oper Seq No.  I   N               Last operation sequence 

                                                                 number on F3003.




^

Parameter NameData ItemData TypeReq/OptI/O/Both
mnJobnumberJOBSMATH_NUMERICOPTNONE

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

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.

cSuppressErrorMessageEV01charOPTNONE

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.

szOriginalTypeRoutingTRTcharOPTNONE

A user defined code (40/TR) that indicates the type of routing. You can define different types of routing instructions for different uses. For 
example:    M    Standard Manufacturing Routing    RWK  Rework Routing    RSH  Rush Routing You define the routing type on the work order 
header. The system then uses the specific type of routing that you define in the work order routing. Product Costing and Capacity Planning systems 
use only M type routings.

mnOriginalItemNumberShortKitKITMATH_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.

szOriginalBranchMMCUcharOPTNONE

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.

mnOriginalUnitsBatchQuantityBQTYMATH_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.

szTypeRoutingTRTcharOPTNONE

A user defined code (40/TR) that indicates the type of routing. You can define different types of routing instructions for different uses. For 
example:    M    Standard Manufacturing Routing    RWK  Rework Routing    RSH  Rush Routing You define the routing type on the work order 
header. The system then uses the specific type of routing that you define in the work order routing. Product Costing and Capacity Planning systems 
use only M type routings.

mnItemNumberShortKitKITMATH_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.

szBranchMMCUcharOPTNONE

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.

mnUnitsBatchQuantityBQTYMATH_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.

mnBatchQuantityDisplayBQTYMATH_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.

szBatchQuantityUOMUOMcharOPTNONE

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

szPrimaryUOMUOM1charOPTNONE

A user defined code (00/UM) that identifies the unit of measure that the system uses to express the quantity of an item, for example, EA 
(each) or KG (kilogram).

szProductionUOMUOM9charOPTNONE

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.

cStockingTypeSTKTcharOPTNONE

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).

cTimeBasisCodeTIMBcharOPTNONE

A user defined code (30/TB) that indicates how machine or labor hours are expressed for a product. Time basis codes identify the time 
basis or rate to be used for machine or labor hours entered for every routing step. For example, 25 hours per 1,000 pieces or 15 hours per 
10,000 pieces. You can maintain the time basis codes in Time Basis Codes. The system uses the values in the Description-2 field on the User 
Defined Codes form for costing and scheduling calculations. The description is what the code represents, but is not used in calculations.

szItemNumber2ndKitKITLcharOPTNONE

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.

szItemNumber3rdKitKITAcharOPTNONE

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.

szOriginalBatchQtyUOMUOMcharOPTNONE

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

szRoutingRevisionLevelRREVcharOPTNONE

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

mnF3003LastOperSeqOPSQMATH_NUMERICOPTNONE

A number used to indicate an order of succession. In routing instructions, a number that sequences the fabrication or assembly steps in the 
manufacture of an item. You can track costs and charge time by operation. In bills of material, a number that designates the routing step in the 
fabrication or assembly process that requires a specified component part. You define the operation sequence after you create the routing 
instructions for the item. The Shop Floor Management system uses this number in the backflush/preflush by operation process. In engineering 
change orders, a number that sequences the assembly steps for the engineering change. For repetitive manufacturing, a number that 
identifies the sequence in which an item is scheduled to be produced. Skip To fields allow you to enter an operation sequence that you want to begin 
the display of information. You can use decimals to add steps between existing steps. For example, use 12.5 to add a step between steps 
12 and 13.

Related Functions

None

Related Tables

F3003 Routing Master File
nt-size:10pt">
4.If get fails DS Cache Error Code = '6'.

B.If Process Mode is "2" - ADD (same logic as mode "7").

1.Delete Record , if one exists,  that matches full key from Input.
2.Insert a new cache element with values from data structure.

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


C.If Process Mode is "3" - UPDATE (same logic as mode "7").