Functional Description
The Employee Master MBF allows both internal and external processes to add, update, delete, fetch and
edit records in the Employee Master (F060116), International Data (F060117), and Additional Data
(F060120) tables. Records in the Employee Job (F060118) and Employee Job History (F060119) tables are
maintained by the MBF through calls to the Update Employee Job Server (N0800020) business function.
Because the Employee Master table contains a large number of columns, the MBF organizes it into
several logical segments. The following functions are used to maintain Employee Master records:
data columns include the employee's personal, organization, and compensation information as well as
30-35 miscellaneous data elements.
Process User Defined Data. This function handles all of the user defined category code and date
columns.
Process National Data US. This function handles the national fiscal data that is specific to the
United States.
Process National Data CA. This function handles the national fiscal data that is specific to
Canada.
Process Eligibility Data. This function handles the columns in the Employee Eligibility and NDT
application.
Process Payroll Data. This function handles the columns in the Employee Payroll application.
In addition to the Employee Master table, the MBF provides support for the International Data
(F060117) and Additional Data (F060120) tables. The following two functions maintain records in these tables:
Process Additional Data. This function handles all columns in the F060120 table.
Each data structure that the MBF uses contains a block of control parameters followed by a block of
data parameters. The control block is the same for all data structures. The data block is unique to
each data structure. It contains data parameters and processing option parameters.
The MBF also provides support for a cache. The cache is used to store data collected during the new
hire process, to store data for multi-segment operations, and to manage warning messages. The ability
to update and fetch from the cache is programmed into each function. The following function provides
support for cache-related operations:
the cache, and to commit cache records to the database.
Technical Specification
Processing Modes
The MBF uses the following parameters to control processing. They are included in the control block
at the top of each data structure.
cActionCode. The action code determines which basic operation to perform. Valid actions codes are:
I - Inquiry
A - Add new employee record (new hire)
C - Change an existing employee record
D - Delete (Master segment)
cInquiryMode. The inquiry mode controls how an inquiry is processed. Data can be fetched from the
table, fetched from the table and saved in cahce, or fetched from cache. Valid inquiry modes are:
0 or blank - Fetch from table
1 - Fetch from table and save in cache
2 - Fetch from cache
cUpdateMode. The update mode controls what portion of the update to execute. Data can be edited,
updated, or both. Valid update modes are:
0 or blank - Edit and update
1 - Edit only
2 - Update only
cUpdateDataSource. The update data source specifices whether the MBF updates the table or the cache.
Valid update data sources are:
0 or blank - Save to table if cActionCode = C
Save to cache if cActionCode = A
1 - Save to cache
cEditMode. The edit mode
0 or blank - Full edit
1 - Partial edit (no data dictionary edit)
cErrorMode
0 or blank - Normal error processing
1 - Suppress error message display
The Column List Parameter
The column list parameter (szColumnList) is used to process a specific list of columns rather than
all of the columns for a segment. It is included in the control block at the top of each data structure.
The column list string is composed of the alias for each column, separated by a comma. For example,
to edit or update an employee's salary and pay frequency, pass SAL,PFRQ in the column list and the new
values in the salary and pay frequency data parameters.
Error Handling
Using the Cache
The cache stores data records for an employee, warning messages issued by edit operations, and
parameters that are used across function call boundaries. The cache is required in order to add new employee
records to the database, to issue warning messages during edit operations, and to share parameters
across function call boundaries. The cache is not required to perform inquiries and updates to existing
records, although using the cache for multiple segment inquiries and updates improves performance.
The cache is initialized once at the beginning of a process by calling the Employee MBF Cache Create
function. This initialization routine returns the name assigned to the cache for use in subsequent
cache operations.
The cache must be closed prior to the end of the process that creates it. Failure to close the cache
will result in a memory leak. To close the cache, call the Employee MBF Cache Destroy.
Cache records are written to the database using one of two action codes when calling the Employee MBF
Cache Commit function. If an action code of I is passed to the Employee MBF Cache Commit function the
MBF will insert the cache records in the database. If an action code of U is passed to the Employee
MBF Cache Commit function the MBF will update the database with the records stored in cache. Attempting
to insert an existing record or to update a new record will result in an error.
The MBF containts two functions for clearing the cache, Employee MBF Cache Clear and Employee MBF
Cache Error Clear. Calling the Employee MBF Cache Clear function instructs the MBF to clear all records
from all caches. Calling the Employee MBF Cache Error Clear function instructs the MBF to clear the
warning messages cache. These functions are useful when using the MBF to process multiple employee
records in a loop or across application boundaries.
Adding a New Employee
Perform the following steps to add a new employee to the database:
1. Initialize the cache.
Employee MBF Cache Create
szCacheName -> Cache Variable
cErrorMode <- 0 Normal or 1 Suppress
cErrorStatus -> 1 Failure or Blank Success
2. Update the cache with data for the Master Data segment. If you do not want to update all of the
columns for the segment, use the szColumnList parameter.
F060116ProcessMasterData
cActionCode <- A
szCacheName <- Cache Variable
szCallingProgramId <- program name
szCallingVersion <- version of calling program
mnAddressNumber <- employee's address book number
data columns <- new data values
processing options <- as desired
3. Update the cache with data for other segments. If you do not want to update all of the columns for
a particular segment, use the szColumnList parameter.
4. Insert the cached records into the database.
Employee MBF Cache Commit
cActionCode <- I
szCacheName <- Cache Variable
cErrorMode <- 0 Normal or 1 Suppress
cErrorStatus -> 1 Failure or Blank Success
5. Close the cache.
Employee MBF Cache Destroy
szCacheName <- Cache Variable //saved cache name
cErrorMode <- 0 Normal or 1 Suppress
cErrorStatus -> 1 Failure or Blank Success
Updating a Single Segment For an Employee
Perform the following steps to update a single data segement for an employee:
1. Initialize the cache.
F060116ProcessCache
cActionCode <- 1 //initialize cache
szCacheName -> Cache Variable //save for subsequent calls
suppressing messages, or if it is acceptable to ignore warning messages, omit the cache function
calls. The MBF ignores warnings if the cache is not available.
2. Update the database. This example uses the Master Data segment. The control parameter settings
depicted will work with any other segment. If you do not want to update all of the columns for the
segment,use the
szColumnList parameter.
F060116ProcessMasterData
cActionCode <- C
szCacheName <- Cache Variable
szCallingProgramId <- program name
szCallingVersion <- version of calling program
mnAddressNumber <- employee's address book number
szChangeReason <- change reason code
jdDateEffective <- current system date
data columns <- new data values
processing options <- as desired
3. Close the cache.
F060116ProcessCache
cActionCode <- 2 //close cache
szCacheName <- Cache Variable //saved cache name
Updating Multiple Segments For an Employee
Perform the following steps to update multiple data segment for an employee:
1. Initialize the cache. Save the cache name for use in subsequent calls.
F060116ProcessCache
cActionCode <- 1
szCacheName -> Cache Variable
2. Fetch and cache the records for each segment.
F060116ProcessMasterData
cActionCode <- I
szCacheName -> Cache Variable
cInquiryMode -> 1
F060116 record in cache.
F060120ProcessAdditionalData
cActionCode <- I
szCacheName -> Cache Variable
cInquiryMode -> 1
3. Update the cache. If you do not want to update all of the columns for a paticular segment, use the
szColumnList parameter.
F060116ProcessMasterData
cActionCode <- C
szCacheName <- Cache Variable
cUpdateDataSource <- 1
szCallingProgramId <- program name
szCallingVersion <- version of calling program
mnAddressNumber <- employee's address book number
data columns <- new data values
processing options <- as desired
F060116ProcessUserDefinedData
cActionCode <- C
szCacheName <- Cache Variable
cUpdateDataSource <- 1
szCallingProgramId <- program name
szCallingVersion <- version of calling program
mnAddressNumber <- employee's address book number
data fields <- new values
processing options <- as desired
F060120ProcessAdditionalData
cActionCode <- C
szCacheName <- Cache Variable
cUpdateDataSource <- 1
szCallingProgramId <- program name
szCallingVersion <- version of calling program
mnAddressNumber <- employee's address book number
data columns <- new data values
processing options <- as desired
4. Update the database with the records that are saved in the cache.
F060116ProcesCache
cActionCode <- 4
szCacheName <- Cache Variable
5. Close the cache.
F060116ProcessCache
cActionCode <- 2
szCacheName <- Cache Variable
Deleting an Employee
Perform the following step to delete an employee:
F060116ProcessMasterData
cActionCode <- D
mnAddressNumber <- employee's address book number
The MBF performs a pre-delete edit to verify that the employee record can be deleted. If the MBF
encounters an error, the delete is not performed and 501G is returned in the szErrorMessageId parameter.
If the pre-delete edit completes successfully, all records for the employee are deleted from the
employee tables.
D0500575H - Employee MBF Additional Data
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
cActionCode | ACTN | char | REQ | INPUT |
A code that specifies the action that is performed. Valid values are: A Add C Change | ||||
szColumnList | DSS | char | OPT | INPUT |
This field will contain a bar delimited string of data item names from the Employee Master (F060116). Each data item in the string
| ||||
szCacheName | DTAI | char | OPT | INPUT |
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
| ||||
cInquiryMode | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
cUpdateMode | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
cUpdateDataSource | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
cEditMode | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
cErrorMode | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
szCallingProgramId | PID | char | OPT | INPUT |
The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry
| ||||
szCallingVersion | VERS | char | OPT | INPUT |
A user-defined set of specifications that control how applications and reports run. You use versions to group and save a set of user-defined
| ||||
cErrorStatus | EV01 | char | OPT | OUTPUT |
An option that specifies the type of processing for an event. | ||||
mnAddressNumber | AN8 | MATH_NUMERIC | OPT | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
cMaritalStatusActual | MSA | char | OPT | NONE |
This is the marital status of the employee. | ||||
szCountryBirth | CTBB | char | OPT | NONE |
A user defined code list (00/CN) that indicates the country in which the employee was born. | ||||
szNationality1st | CTB1 | char | OPT | NONE |
A user defined code list (00/CN) that indicates the first country in which the employee has Citizenship. | ||||
szDataProtectionCode | DPSC | char | OPT | NONE |
Data protection code - a user defined code indicating the status of the employee's agreement for the transmission of his/her personal data
| ||||
szNationality2nd | CTB2 | char | OPT | NONE |
A user defined code list (00/CN) that indicates the second country, if any, in which the employee has citizenship. | ||||
szNationality3rd | CTB3 | char | OPT | NONE |
A user defined code list (00/CN) that indicates the third country, if any, in which the employee has citizenship. | ||||
szJobTitle | JBCX | char | OPT | NONE |
A title associated with an employee's job. | ||||
jdDateinCurrentJob | CDIJ | JDEDATE | OPT | NONE |
The date when an employee started working in this job. | ||||
szOrganizationalBusinessUn | ORMCU | char | OPT | NONE |
A business unit that is included in the organizational structure for job competencies. You use organizational business units to assign job
| ||||
jdLastSalaryreviewdate | LSRD | JDEDATE | OPT | NONE |
The date the last compensation review was given. | ||||
jdNextSalaryreviewdate | NSRD | JDEDATE | OPT | NONE |
The date on which the employee is scheduled for the next compensation review. | ||||
mnPerformanceAppraisalLevel | PAPL | MATH_NUMERIC | OPT | NONE |
A code that specifies the level of proficiency at which a supervisor rates a person or asset for a particular competency type and
| ||||
mnTierRanking | TIRNK | MATH_NUMERIC | OPT | NONE |
A value that allows a supervisor to either rank employees individually or group them into tiers. When employees are ranked, each
| ||||
jdLastTierRankdate | TRNKD | JDEDATE | OPT | NONE |
The date the Tier/Rank was last updated. | ||||
mnTotalJobCompetencyPercen | JBPCTRQD | MATH_NUMERIC | OPT | NONE |
A number that indicates how an employee is progressing in relation to the required competency level for a particular job.
The system
| ||||
jdLastTotalJobCompetencyre | LTJCRW | JDEDATE | OPT | NONE |
The date on which the last job competency review took place. | ||||
jdDateLastReviewed | DATRVW | JDEDATE | OPT | NONE |
A date that indicates when the process was last reviewed. | ||||
cReviewType | RWTYP | char | OPT | NONE |
A code that indicates the last compensation review type. | ||||
mnMentor | MNTR | MATH_NUMERIC | OPT | NONE |
A number that identifies an entry in the Address Book system. Use this number to identify mentors. | ||||
szTeam | TEAM | char | OPT | NONE |
A code that identifies a team. | ||||
mnKeyValueSerialNumber | SERK | MATH_NUMERIC | OPT | NONE |
A key identification number used internally to identify a composite key structure. The actual key items must be stored in another file and
| ||||
cTypeIncreaseLastRevw | TINCL | char | OPT | NONE |
A code that identifies the type of the last salary or wage review for which the score for the employee performance appraisal was updated.
| ||||
jdDateDataProtection | DPSD | JDEDATE | OPT | NONE |
The date on which the data protection code was last updated. |
B0000130 Retrieve Company From Business Unit | ||||
B0000564 Get Internal Next Number | ||||
B0100066 Recursive Relationship Check | ||||
B0500543 Validate Geo Code | ||||
B0500895 Is a Real Time Event Enabled | ||||
B0800007 Delete Employee Related Tables | ||||
B5100003 F0006 Check Business Unit Existence | ||||
B9800100 Get Audit Information | ||||
B9800420 Get Data Dictionary Definition | ||||
B9900410 Get Environment Value | ||||
N0500020 Update Payroll Lockout Code | ||||
N0500025 Salary Calculations Server | ||||
N0500032 Synchronize EE/Supervisor in EE Master &&&& Org Structure | ||||
N0500042 F08001 Retrieve Specific Job Information | ||||
N0800002 Set Employee Current Status Flag\Employee Id Validation | ||||
N0800003 Verify Job/Retrieve Job Default Information | ||||
N0800004 Compa-Ratio Server | ||||
N0800005 Pay Grade Server | ||||
N0800007 Delete Employee Edit | ||||
N0800008 Update F06210 to Force Payroll Rerun | ||||
N0800020 Update Employee Job (F060118) Server | ||||
N0800029 Transfer Supp Data on Hire/Terminate Employee | ||||
N0800030 Fiscal Year Begin & End Dates | ||||
N0800031 Get UDC Description | ||||
N0800050 Position Budget Edit Server | ||||
N0800069 F08040 - Get HR Constants Information | ||||
N0800146 Get a Specific Employee Self Service Common Setting | ||||
N0800204 Track Employee Date in Current Position/Job | ||||
XX0901 Validate Account Number |
F0006 Business Unit Master | ||||
F00091 Supplemental Database Data Types | ||||
F00092 Supplemental Data | ||||
F00191 Generic Message/Rates | ||||
F0101 Address Book Master | ||||
F0150 Address Organization Structure Master | ||||
F060116 Employee Master Information | ||||
F060117 Employee Master - International Data | ||||
F060120 Employee Master Additional Information File | ||||
F065016 Automatic Bank Deposit Master | ||||
F069096 Payroll General Constants | ||||
F07300 Employee Lockout Code File | ||||
F08005 Business Unit/ Job Id. X-Ref | ||||
F08092 Human Resources General Description-User Def Codes | ||||
F08101 Position Master | ||||
F08102 Requisition Information | ||||
F08105 Requisition Activity | ||||
F08401 Applicant Master | ||||
F9203 Data Item Alpha Descriptions | ||||
F9210 Data Field Specifications (OneWorld) |