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 |