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 Bucketless Date Cache used in the MRP/MPS planning programs (P3482 and P3483).
The calling functions are 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 Codes
'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' Release Cursor - close the input cursor
'N' Get Nearest - Retrieve the cache element matching the input Branch and Date. If the element
does not exist, retrieve the element with the date immediately before or after based on the input
Camparison Flag.
'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.
and SequentialFetch = '1'. This allows the calling application to use GET NEXT to fetch elements
from the cache sequentially. If GET NEXT is called until the end of the keyed cache dataset is found,
the function automatically closes the open cursor. Otherwise, the calling application is responsible
for closing the cursor using action code '9'.
'b7'b71.3Special Logic
This function creates a unique cache for each Parts List process. The function appends the input Job
Number string to the function name 'B3100650-' to build the cache name used for the calling
application.
2.Technical Specifications
I.Perform setup functions
B.If not successful, set error "032E", set Cache Error Code = '3', and return failure.
C.Validate input parameters Number Of Keys, Action Code, and Comparison Flag.
D.If not valid, set error "032E", set Cache Error Code = '2', and return failure.
E.Set Cache Error Code = '0'
F.Set return code to success.
II.Processing Based on Mode.
it.
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 SequentialFetch = '1', return cursor pointer to 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.
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'.
the cache matching the key values passed as input (the 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 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.
2.Perform cleanup functions (Terminate cache).
2.Close cursor.
3.Free Data Ptr and Set Cache Cursor Ptr to 0.
2.Retrieve the first element in the cache matching the key values passed as input. The input
Number of Keys must be 2.
3.If successful, load the values from the retrieved element into the data structure to be passed
back to the calling program and return success.
4.If not successful, Reset cursor.
5.Using just the input Branch as the key, search for the cache element with the desired date
based on the input Direction Flag:
'A' = retrieve the cache element occurring just after the input Date
calling program.
7.If get fails set Cache Error Code = '6'.
D3401270 - Cache, Process MRP Bucketless Dates
Data Item Data Structure DescriptionI/ORequiredNotes
JOB Job Number IY Job Number as string for
cache name
MCU Branch I/OY Key value
DRQJ Date I/OY Key value
EV01 Bucket Flag OY
EV02 Week/Month End Flag OY
EV03 Forecast Consumption Flag OY
MTF1 Work Days in Week OY
MTF2 Work Days in Month OY
FTRP Feature Percent OY
EV01 Comparison Flag I Only used for action code
'9':
'B' = get cache element
w/Date <=
input date
'A' = get cache element
w/Date >=
input date
EV01 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' = Debug Mode
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)
INT01 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/ON
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
| ||||
jdDate | DRQJ | JDEDATE | NONE | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
cBucketFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cWeekMonthEndFlag | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cForecastConsumptionFlag | EV03 | char | NONE | NONE |
A radio button that specifies the level at which trace/track result is to be displayed. Select the Detail to display all transactions except IB, IX,
| ||||
mnWorkDaysInWeek | MTF1 | MATH_NUMERIC | NONE | NONE |
The number of days that the system uses in conjunction with the time fence rule to determine how the forecast is used. Enter the number of
| ||||
mnWorkDaysInMonth | MTF2 | MATH_NUMERIC | NONE | NONE |
The number of days from the generation start date within which the system does not generate action messages.
For example, if the
| ||||
mnFeaturePercent | FTRP | MATH_NUMERIC | NONE | NONE |
The percentage of demand for a specified feature based on projected production. For example, a company might produce 65% of their
| ||||
cComparisonFlag | EV04 | char | NONE | NONE |
PeopleSoft event point processing flag 04. | ||||
cCacheActionCode | EV05 | char | NONE | NONE |
A flag that indicates whether automatic spell check is turned on. | ||||
cCacheErrorCode | EV06 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
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
| ||||
nNumberOfKeys | INT01 | integer | NONE | NONE |
Number of Days in Future to Query for Responses Due. | ||||
idCacheCursorPtr | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
cSequentialFetch | EV07 | char | NONE | NONE |
An option that specifies the type of processing for an event. |
None |
None |