FutureDataPrintRecordWorkCache

Future Data Print Record Work Cache

Minor Business Rule

Object Name: B0500737

Parent DLL: CHRM

Location: Client/Server

Language: C

Data Structure Elements

Job Number:

This is a unique number retrieved from B0000564.  Before calling the cache for the first time, get 

this number from the function.  Use the same number every time this cache is called.


Cache Action Code:

Cache Get = 1

Cache Add = 2

Cache Update = 3

Cache Delete = 4

Cache Delete All = 5

*Cache Get Next = 6

Cache Add/Update = 7 (DO NOT USE)

**Cache End = 8

Cache Close Cursor = 9

***Load Cache from F05400 = 10

*After finished with selecting next records, call the Close Cursor (9).  

**When finished with the entire cache, be sure to End (8)

***When loading the cache, Address Number and Enrollment Event Code are required.  Also, whatever 

EMail Application Version passed in will be written to each record in the cache.  


Cache Cursor:

Declare a variable of DD Type GENLNG.  Be sure to provide this variable as input/output.  DO NOT 

manipulate the value of the variable, it is used by the function.


Index 1:

*Job Number

*Data Item


Number Keys:

The number of keys in the index being used to perform the selected action.  This allows for partial 

key fetch or delete.


Suppress Error Message:

1 = Suppresses the function from setting errors on the application.  An error code is still returned 

in the Error Message ID parameter.


Cache Name:

Convert the Job Number into a string and pass in this parameter.  This is how the cache is kept 

unique in memory from any other (just like a table name keeps the table unique from any other table).


Error Message ID:

Returns an error if the selected cache action cannot be performed.  For example, if a Load cache was 

called without an event code, or if Fetch Next was requested and the last cache record has already 

been reached.


Data Item:

A column in the cache


Date Item Type:

A column in the cache

             

History Data Item Type:

A column in the cache

                

Math Numeric Pre Value:               

A column in the cache


String Pre Vlaue:                

A column in the cache


Date Pre Value:                      

A column in the cache


Math Numeric New Value:               

A column in the cache


String New Value:                

A column in the cache


Date New Value:                      

A column in the cache


Annual Salary:                      

A column in the cache


Rate Hourly:                        

A column in the cache


Date Effective On:                   

A column in the cache


Date Pay Period Ending:               

A column in the cache


Change Reason:                   

A column in the cache


String History Data:             

A column in the cache


Date History Data:                   

A column in the cache


Math Numeric History Data:            

A column in the cache



Functional Description


Purpose

The purpose of this cache is to store the sequence of applications to call for the current 

self-service user as well as the step the user is currently executing.  Storing this in cache will make 

displaying the director form faster, as well as providing a convenient location to keep the current step in 

the process.  The cache can also store the group, position and before step associated with the 

self-service action step in the particular sequence.  This information will be used when validating the 

sequencing for the process flow set up.


Setup Notes and Prerequisites


Special Logic




Technical Specification


• Use the following action codes to work with cache:
• 

'b7Cache Action Code, CACTN: '1' = Get Cache Record (using a full key)
• 
'2' = Add Cache Record
• 
'3' = Update Cache Record
• 
'4' = Delete One Cache Record at a Time
• 
'5' = Delete All Cache Records (The cache is left open)
•  '6' = Get Next Cache Record (using a partial key)
•  '7' = (Do Not Use)
•  '8' = End Cache (Cache is deleted and closed)
•  '9' = Close Cache Cursor
•  '10' = Load Cache
• The 'Cache Cursor', Data Item 'GENLNG', must be passed the value '0' the first time the cache is 
initialized.  A value will be passed back that must be stored in a variable.  Each time this BSFN is 

called the value in that variable must be passed into the BSFN and a new value will be sent back to the 

variable.  This is the cache handle.  If the calling program needs more than one handle on the database 

at a time, then more than one GENLNG can be used.

• The Cache Job Number should be the next number from B0000564 for the Next Number Index. 
• The Cache Name should be the Job Number converted into string format
• Return errors through Error Message ID, DTAI.
• The data can be accessed using the full key or a partial key using Number Keys and Index ID, to 
distinguish between a full or a partial fetch.  JobNumberAKey1 must always be part of the key. 

• See the help on the Index parameter for a list of the indexes defined for this cache
• When adding a record always attempt to get the record first.  If no error is returned then the 
record already exists and it cannot be added.  



Data Structure

D0500737 - Future Data Print Record Work Cache

Parameter NameData ItemData TypeReq/OptI/O/Both
mnJobnumberAJOBSMATH_NUMERICREQINPUT

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

szCacheActionCodeCACTNcharREQINPUT

A code that indicates the activity you want to perform. Valid codes:     o Get - Retrieve the cache element     o Add - Add a cache element     o 
Update - Update a cache element     o Delete - Delete a cache element     o Delete All - Delete all cache elements     o Get Next - Retrieve the 
next cache element     o Add/Update - Add a cache element if it does not exist; Update a cache element if it does exist     o Terminate - 
Terminate Cache

idCacheCursorGENLNGIDREQBOTH

General purpose ID variable.

mnNumberKeysNKEYSMATH_NUMERICOPTINPUT

The number of keys in an index that will be used to retrieve, delete, or update a record.

cSuppressErrorMessageSUPPScharOPTINPUT

A flag indicating whether or not runtime error messaging will occur when an error message is issued from a business function.        0 = allow 
runtime error message handling.        1 = suppress runtime error message handling.

szCacheNamePIDcharREQINPUT

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.

szErrorMessageIDDTAIcharOPTOUTPUT

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.

szDataItemDTAIcharOPTNONE

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.

mnDateItemTypeMATH01MATH_NUMERICOPTNONE

- - - Good Performance Low Value. 

cHistoryDataItemTypeDTATcharOPTNONE

Defines the type of data to be stored in the field. The data item types are user defined codes (98/DT). Note: All amount fields should be 
entered as 15  bytes, 0 decimals, and data item type P(packed).

mnMathNumericPreValueMATH03MATH_NUMERICOPTNONE

- - - Bad Performance Low Value. 

szStringPreVlaueVC30AcharOPTNONE

This is a generic field used as a work field in Everest.

jdDatePreValueDATE01JDEDATEOPTNONE

Event point for JDE Date.

mnMathNumericNewValueMATH04MATH_NUMERICOPTNONE

Event point for Math Numeric.

szStringNewValueVC30AcharOPTNONE

This is a generic field used as a work field in Everest.

jdDateNewValueDATE01JDEDATEOPTNONE

Event point for JDE Date.

mnAnnualSalarySALMATH_NUMERICOPTNONE

The amount that an employee is paid in one year, assuming that the employee is paid every pay period of the year. For WorldSoftware: For 
the employee's primary job, the system stores the annual salary in the Employee Master Information table (F060116) and the Employee 
Jobs table (F060118). For secondary jobs, the system stores the annual salary only in the Employee Jobs table (F060118). Depending on how 
the value that is entered in the Display Salary (Annual/Effective) field in the HR History Constants table (F08040), this field displays one of the 
following:   o  Annual salary. For salaried employees who are not linked with a contract calendar, the user enters the amount or the system 
retrieves the amount from the Pay Grade/Salary Range Table (F082001). For employees who are linked with a contract calendar, the system 
calculates this amount using the following formula: (((current salary minus salary paid before change) divided by number of periods to pay) 
multiplied by pay frequency).   o  Effective salary. For employees whose jobs are linked with a contract calendar, the system recalculates the 
effective salary when you enter a mid-calendar salary adjustment. After you enter a mid-calendar adjustment, the effective salary equals the 
salary that is paid to the employee from the time of the adjustment through the end of the contract. The system calculates this amount using 
the following formula: ((annual salary divided by pay frequency) times periods to pay). 

mnRateHourlyPHRTMATH_NUMERICOPTNONE

The employee's hourly rate, which is retrieved during time entry. If you enter a rate in this field on any other form, that rate can override the 
value in the Employee Master table. In the Employee Master table, this number is the employee's base hourly rate. In the Union Rates table, it 
is the straight time rate. NOTE: If you change the number of the data display decimal digits for this field, you must also change fields Rate - 
Base Hourly (BHRT) and Rate - Hourly (SHRT) so that they have exactly the same number of data display decimal digits.

jdDateEffectiveOnEFTOJDEDATEOPTNONE

A future date when all changes will take effect or the date when the changes went into effect. If you do not enter a date in this field, the system 
uses the current date as the effective date.

jdDatePayPeriodEndingPPEDJDEDATEOPTNONE

The last day of a processing period (pay period, month, quarter or year).

szChangeReasonTRScharOPTNONE

A code that indicates the reason for one of the following:   o  Changing an active employee's record   o  Terminating an employee   o  
Recommending a change in salary or rate This is a user defined code (06/T). If you are reactivating an employee, the code must be numeric. The 
code for new hires is the default reason code.

szStringHistoryDataPHSDcharOPTNONE

A code that indicates selection or a future set of information. The value in this field represents an employee master value to be updated in 
the future based upon the effective date of the revision.

jdDateHistoryDataDATE01JDEDATEOPTNONE

Event point for JDE Date.

mnMathNumericHistoryDataMATH01MATH_NUMERICOPTNONE

- - - Good Performance Low Value. 

Related Functions

None

Related Tables

None