Functional Description
Purpose
The two functions in this NER will update the Date in Job or Date in Position depending on changes to
fields in the employee master. For Track Date in Current Job if Job type or step has or if Date Pay
starts changes the Date in Job will be updated to the effective date. If Date in Job is not populated
history data will be retrieved and populate the date if that is not available the start date is used.
Setup Notes and Prerequisites
Special Logic
Technical Specification
Parameters:
D0800204 Track Date in Current Job
Data Item Data StructureDescriptionI/ORequiredNotes
DSTjdDateEmploymentStartIYesEmployees Start Date
JBCDszNewJobCategoryIYesJob Type After change
JBCDszOldJobCategoryIYesJob Type Before change
JBSTszNewJobStepIYesJob Step After change
JBSTszOldJobStepIYesJob Step Before change
EFTOjdDateEffectiveOnIYesEffective Date
YNcF08042HistoryIYesIs History tracking on
AN8mnAddressNumberIYesEmployees address number
CDIJjdDateinCurrentJobI/OYesDate in Job to be updated
EJSDjdDatePayStartsOldIYesDate Pay Starts Before change
EJSDjdDatePayStartsNewIYesDate Pay Starts After change
Processing:
=======================================================================
NAMED ER: Track Date In Current Job
=======================================================================
evt_szFileName_FILE
evt_szDataItem_DTAI
evt_jdDateEffectiveOnJBST
evt_jdDateEffectiveOnJBCD
evt_jdNextDate_DTE
// If Job type or step has changed update date
If BF szNewJobCategory is not equal to BF szOldJobCategory
Or BF szNewJobStep is not equal to BF szOldJobStep
If BF jdDateEffectiveOn is not equal to
BF jdDateinCurrentJob = BF jdDateEffectiveOn
Else
BF jdDateinCurrentJob = SL DateToday
End If
Else
// If Date Pay Starts is changed update date
If BF jdPayStartsDateNew is not equal to BF jdPayStartsDateOld
If BF jdPayStartsDateNew is not equal to
BF jdDateinCurrentJob = BF jdPayStartsDateNew
Else
BF jdDateinCurrentJob = SL DateToday
End If
Else
// If Job type or step has not changed update date with history if available
If BF jdDateinCurrentJob is equal to
If BF cF08042History is equal to "Y"
// Check history file for update
VA evt_szFileName_FILE = "F060116"
VA evt_szDataItem_DTAI = "JBCD"
F08042.Open
F08042.Select
VA evt_szFileName_FILE = TK File Name
BF mnAddressNumber = TK Address Number
VA evt_szDataItem_DTAI = TK Data Item
F08042.Fetch Next
VA evt_jdDateEffectiveOnJBCD <- TK Date - Effective On
// Find most recent date
While SV File_IO_Status is equal to CO SUCCESS
F08042.Fetch Next
VA evt_jdNextDate_DTE <- TK Date - Effective On
If VA evt_jdNextDate_DTE is greater than VA evt_jdDateEffectiveOnJBCD
VA evt_jdDateEffectiveOnJBCD = VA evt_jdNextDate_DTE
End If
End While
VA evt_szDataItem_DTAI = "JBST"
F08042.Select
VA evt_szFileName_FILE = TK File Name
BF mnAddressNumber = TK Address Number
VA evt_szDataItem_DTAI = TK Data Item
F08042.Fetch Next
VA evt_jdDateEffectiveOnJBST <- TK Date - Effective On
While SV File_IO_Status is equal to CO SUCCESS
F08042.Fetch Next
VA evt_jdNextDate_DTE <- TK Date - Effective On
If VA evt_jdNextDate_DTE is greater than VA evt_jdDateEffectiveOnJBST
VA evt_jdDateEffectiveOnJBST = VA evt_jdNextDate_DTE
End If
End While
If VA evt_jdDateEffectiveOnJBCD is greater than VA evt_jdDateEffectiveOnJBST
BF jdDateinCurrentJob = VA evt_jdDateEffectiveOnJBCD
Else
BF jdDateinCurrentJob = VA evt_jdDateEffectiveOnJBST
End If
F08042.Close
Else
// If there is no date and no history update with the start date
BF jdDateinCurrentJob = BF jdDateEmploymentStart
End If
End If
End If
End If
D0800204 - Track Employee Date in Current Job
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
jdDateEmploymentStart | DST | JDEDATE | OPT | INPUT |
The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working,
| ||||
jdDateinCurrentJob | CDIJ | JDEDATE | OPT | BOTH |
The date when an employee started working in this job. | ||||
szOldJobCategory | JBCD | char | OPT | INPUT |
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
| ||||
szNewJobStep | JBST | char | OPT | INPUT |
A user defined code (07/GS) that designates a specific level within a particular job type. The system uses this code in conjunction with job
| ||||
szOldJobStep | JBST | char | OPT | INPUT |
A user defined code (07/GS) that designates a specific level within a particular job type. The system uses this code in conjunction with job
| ||||
szNewJobCategory | JBCD | char | OPT | INPUT |
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
| ||||
cF08042History | YN | char | OPT | INPUT |
The Yes or No Entry field is a common single character entry field for simple yes or no responses on prompt screens. | ||||
mnAddressNumber | AN8 | MATH_NUMERIC | OPT | INPUT |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
jdPayStartsDateOld | EJSD | JDEDATE | OPT | INPUT |
The first date on which an employee is paid. | ||||
jdPayStartsDateNew | EJSD | JDEDATE | OPT | INPUT |
The first date on which an employee is paid. | ||||
jdPreviousDateinCurrentJob | CDIJ | JDEDATE | OPT | NONE |
The date when an employee started working in this job. |
None |
None |