1.Functional Description
1.1Purpose
This function will perform Get, Add, Update, Delete, Delete All, Get Next, Add/Update, and Terminate
functions on the MRP Co/By Products Cache used in the MRP/MPS planning programs (P3482 and P3483).
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.
1.2 Setup Notes and Prerequisites
Cache Action Code
'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 and free data pte
'D' Debug Mode - Dumps the contents of the entire cache into a text file
Number of Keys
key values for a Get, Update, Delete, Get Next, and Add/Update.
A zero may be passed to retrieve, update, or delete the first record.
1.3Special Logic
This function creates a unique cache for each MRP/MPS planning process. The function appends the
input Job Number string to the two character ID 'CB' to build the cache name used for the calling
application.
2.Technical Specifications
Cache Layout:Cache includes all of the following fields; key fields are noted.
Data Item Data Structure DescriptionKey Field
MCU Branch Y
ITM Short Item Number Y
MN29D9Bill Ratio
I.Perform setup functions
B.If not successful, set error "032E", set Cache Error Code = '3', and return failure.
C.Set Cache Error Code = '0'
D.Set return code to success.
II.Processing Based on Mode.
2.Retrieve the first element on the cache matching the key values passed as input. If the
input Number of Keys is zero, fetch the first element in the cache.
3.Load the values from the retrieved element into the data structure to be passed back to
the calling program.
4.If Sequential Fetch is '1' then return the cursor pointer to the calling application.
Otherwise close the cursor.
5.If get fails set Cache Error Code = '6'.
2.If add fails set error "032E", set Cache Error Code = '4', and return failure.
2.If update fails set error "032E", set Cache Error Code = '4', and return failure.
passed as input.
2.If the number of keys is 0, delete the first cache element.
3.If delete fails, set Cache Error Code = '5'.
E.If Cache Action Code is '5' - DELETE ALL:
2.If delete fails, set Cache Error Code = '5'.
cursor should have been set through a previous "Get" action, i.e. action code '1'. If the Number
of Keys is zero then fetch the next record without 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 the cursor, remove the cursor pointer and set Cache
Error Code = '1'.
G.If Cache Action Code is '7' - ADD/UPDATE:
2.Insert a new cache element with values from data structure.
3.If add fails set error "032E", set Cache Error Code = '4', and return failure.
3.Close Cursor
4.Cache Cursor Ptr = 0
^
D3401280 - Cache, Process MRP Co/By Products
Data Item Data Structure DescriptionI/ORequiredNotes
JOB Job Number IY Job Number as string for
cache name
MCU Branch I/OY key value
ITM Short Item Number I/OY key value
MN29D9 Bill Ratio I/OY
CACTN Cache Action Code IY '1' = Get cache element
'2' = Add element
'3' = Update element
'4' = Delete cache elements
'5' = Delete All cache
elements
'6' = Get Next cache element
'7' = Add/Update cache
element
'8' = End cache (terminate
cache)
'9' = Close Cursor and Free
Ptr
'N' = Get Nearest
'D' = Dump cache into text
file
EV01 Cache Error Code ON '0' = Success Process
'1' = Reached End of
Cache(mode 6)
'2' = Invalid Input Parameter
'3' = Failed to Create Cache
'4' = Failed to Add/Update
Cache
'5' = Failed to Delete Cache
'6' = Fetch Failed(mode 1 or
9)
NKEYS Number of Keys IY Number of Keys to be used in
the
cache process.
SUPPS Suppress Error Message IN '0'= allow runtime error
message
handling.
'1'= Suppress runtime error
message
handling.
DTAI Error Message Id ON " " = Success
"032E" = Error Processing
Cache
GENLNG Cache Cursor Ptr I/ONReturned if GET action
successful
Required input for GET NEXT
EV02 Sequential Fetch I/ON If action is GET and this
parm is
'1', function will pass back
cursor
pointer for GET NEXT
operation.
^
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
szJobNumber | JOB | char | NONE | NONE |
Job Number | ||||
szBranch | MCU | char | NONE | NONE |
An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit
| ||||
mnShortItemNumber | ITM | MATH_NUMERIC | NONE | NONE |
An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item
| ||||
mnBillRatio | MN29D9 | MATH_NUMERIC | NONE | NONE |
This is a generic field used as a work field in Everest. | ||||
cCacheErrorCode | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
nNumberOfKeys | INT01 | integer | NONE | NONE |
Number of Days in Future to Query for Responses Due. | ||||
cSuppressErrorMessage | SUPPS | char | NONE | NONE |
A flag indicating whether or not runtime error messaging will occur when an error message is issued from a business function.
0 = allow
| ||||
szErrorMessageID | DTAI | char | NONE | NONE |
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
| ||||
cCacheActionCode | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
idCacheCursorPtr | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
cSequentialFetch | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. |
B3401270 Cache, Process MRP Bucketless Dates |
None |