DetermineEligibilityAge

Determine Employee Eligibility Server

Minor Business Rule

Object Name: N0800034

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description
The purpose of this Named ER is to determine whether an employee is eligible to enroll a plan.  If the employee is eligible, the program 
determines the eligible date.  

Determine Eligibility Age


Setup Notes


Technical Specifications


Parameters  DN0800034D Data Structure

Data Item Data Structure DescriptionI/ORequiredTable      Notes
DOB         jdDateBirth                            IR                             F060116

ELMH      mnMinimumAmount            IR                             F08390

MTHD     szEligibilityMethod              IR               F08390

EFT         jdDateEffectiveRates           IR                              This is the video effective date or                                                     

                                                                                                                                           system date

EV01       cInEligibleFlagO


Processing


Initialize cInEligbileFlag = ' '


If mnMinimimumAmount <> 0

     MonthsBetweenVariable = months_between(jdDateBirth, jdDateEffectiveRates)

     YearsBetweenVariable = MonthsBetweenVariable / 12


     If (szEligibilityMethod = 'AM' and YearsBetweenVariable < mnMinimumAmount) OR

         (szEligibilityMethod = 'AX' and YearsBetweenVariable > mnMinimumAmount)

           Set cInEligbileFlag = '1'

    End If


End If



Data Structure

DN0800034D - Determine Eligibility Age

Parameter NameData ItemData TypeReq/OptI/O/Both
jdDateBirthDOBJDEDATENONENONE

The employee's date of birth.

mnMinimumAmountELMHMATH_NUMERICNONENONE

The minimum requirement that must be met to satisfy the eligibility requirements. The minimum is associated with the method that you use 
to calculate eligibility. See the Method field (data item MTHD) for more information.

szEligibilityMethodMTHDcharNONENONE

A code that the system uses to calculate eligibility. Use this field in conjunction with the Amount field (data item ELMH). For example, if the 
eligibility criteria for a plan includes minimum age, you enter AM (Minimum Age) in this field and the specific age in the Amount field. J.D. 
Edwards provides codes for six of the most common methods. These codes are hard-coded and cannot be changed or deleted: H Hours of service  
D Days of service   M Months of service   Y Years of service   AM Minimum age   AX Maximum age

jdDateEffectiveRatesEFTJDEDATENONENONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

cInEligibleFlagEV01charNONENONE

An option that specifies the type of processing for an event.

Related Functions

None

Related Tables

None
DetermineEligibilityBasedFrom

DetermineEligibilityBasedFrom

Determine Employee Eligibility Server

Minor Business Rule

Object Name: N0800034

Parent DLL: CHRM

Location: Client/Server

Language: NER

Data Structure

DN0800034C - Determine Eligibility Based From Date

Parameter NameData ItemData TypeReq/OptI/O/Both
szBasedFromBSDFcharNONEINPUT

A code that defines the date from which eligibility is calculated. The allowed codes coincide with the dates that are on the Dates, Eligibility, 
and EEO form (P060190) and that are defined in user defined code list 08/D1. If you do not enter a code in this field, the system uses the 
employee's hire date.

jdDateOriginalEmploymentDSIJDEDATENONEINPUT

The date on which the employee was originally hired by the company. If the employee was terminated and subsequently rehired, the new 
start date will be represented by the data in the Date Started (DST) field.

jdDateEmploymentStartDSTJDEDATENONEINPUT

The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
the default is the original hire date. If no original hire date exists, the system uses the current date. This field can be updated multiple times if, for 
example, an employee is a seasonal worker. For the calculation tables in the Payroll system and the eligibility tables and date codes in the 
Human Resources system, the system also uses this date as a start date when it calculates deductions, benefits, and accruals.

jdDateRecallRCDTJDEDATENONEINPUT

The date on which the employee can be recalled for employment, if known.

jdDateLastRaiseDRJDEDATENONEINPUT

The date of the employee's last raise. For the stand-alone HR system, this is the date when you update salary and wages. If you also have 
the Payroll system, this date is automatically updated when a payroll is run. You define pay effective dates using the Pay Rate Information 
screen.

jdDteNextReviewNRVWJDEDATENONEINPUT

The date on which the employee is scheduled for the next performance or salary review. This field is for information only. It is not used by 
any programs or processes in the system.

jdDatePayStartsPSDTJDEDATENONEINPUT

The date that an employee may begin participating in the company's benefit plans or may be included in payroll processing. You can also 
use this field to provide a beginning date for seasonal employees or for employees who work only part of the year (such as a teacher who 
works only nine months of the year).

jdDateParticipationPADTJDEDATENONEINPUT

The date the employee began participating in the company deferred income or stock option plan. This date must be later than the Date 
Started date.

jdDateLoaStartsLSDTJDEDATENONEINPUT

The date on which an employee's paid or unpaid leave of absence begins. Use this date to indicate the leave for the Family and Medical 
Leave Act.

jdDateLoaExpirationLADTJDEDATENONEINPUT

The date on which an employee's paid or unpaid leave of absence expires.

jdDteNextRaiseEffectiveNRDTJDEDATENONEINPUT

The date that the hourly or annual pay rate for the employee increases. The new rate goes into effect after a payroll cycle completes with a 
pay period end date on or after the date of the next raise.

jdDatePayStopsPTDTJDEDATENONEINPUT

The date when an employee should no longer be included in a payroll cycle or the date when an employee stops participating in the 
company's benefit plans. You can use this date for terminated employees, seasonal employees, or employees who work only part of the year 
(such as a teacher who works only nine months of the year). See also data item PSDT. This date may also be the date that a deduction, benefit, 
or accrual instruction stops.

jdDateBirthDOBJDEDATENONEINPUT

The employee's date of birth.

jdDateCurrentPositionCPDTJDEDATENONEINPUT

The date the employee started the current position.

jdDateLastContactCTDTJDEDATENONEINPUT

The date you last contacted a temporary, seasonal, or laid-off employee, or an employee on furlough or leave of absence.

jdDateBonusBSDTJDEDATENONEINPUT

The date an employee is to receive a bonus.  This date is also part of the supplemental data for a bonus review.

jdDateTerminatedDTJDEDATENONEINPUT

The date that the employee was terminated, if applicable.

jdBasedFromDateEFTJDEDATENONEOUTPUT

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

cDateErrorFlagEV01charNONEOUTPUT

An option that specifies the type of processing for an event.

jdUserDefinedDate001ED01JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate002ED02JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a visa or green card.

jdUserDefinedDate003ED03JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate004ED04JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate005ED05JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate006ED06JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate007ED07JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate008ED08JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate009ED09JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate010ED10JDEDATEOPTINPUT

A user defined date. Because this field is not linked to any specific function or application within the system, you can use this date for any 
purpose needed by your company. For example, you can use this date field to track the expiration of a license or certification.

jdUserDefinedDate011ED11JDEDATEOPTINPUT

A user-defined date in a field that can hold a date which is not already defined in the Payroll system. For example, if your organization 
needs to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that 
date information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate012ED12JDEDATEOPTINPUT

A user-defined date in a field that can hold a date that is not already defined in the Payroll system. For example, if your organization needs 
to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that date 
information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate013ED13JDEDATEOPTINPUT

A user-defined date in a field that can hold a date which is not already defined in the Payroll system. For example, if your organization 
needs to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that 
date information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate014ED14JDEDATEOPTINPUT

A user-defined date in a field that can hold a date which is not already defined in the Payroll system. For example, if your organization 
needs to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that 
date information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate015ED15JDEDATEOPTINPUT

A user-defined date in a field that can hold a date which is not already defined in the Payroll system. For example, if your organization 
needs to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that 
date information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate016ED16JDEDATEOPTINPUT

A user-defined date in a field that can hold a date that is not already defined in the Payroll system. For example, if your organization needs 
to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that date 
information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate017ED17JDEDATEOPTINPUT

A user-defined date in a field that can hold a date that is not already defined in the Payroll system. For example, if your organization needs 
to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that date 
information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate018ED18JDEDATEOPTINPUT

A user-defined date in a field that can hold a date that is not already defined in the Payroll system. For example, if your organization needs 
to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that date 
information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate019ED19JDEDATEOPTINPUT

A user-defined date in a field that can hold a date that is not already defined in the Payroll system. For example, if your organization needs 
to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that date 
information. If you use this field, you can change the appropriate screen text as needed.

jdUserDefinedDate020ED20JDEDATEOPTINPUT

A user-defined date in a field that can hold a date that is not already defined in the Payroll system. For example, if your organization needs 
to track the date when an employee received a particular certification or license, you can set up this user-defined date field to track that date 
information. If you use this field, you can change the appropriate screen text as needed.

Related Functions

None

Related Tables

None
DetermineEligibilityHours

DetermineEligibilityHours

Determine Employee Eligibility Server

Minor Business Rule

Object Name: N0800034

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description
The purpose of this Named ER is to determine whether an employee is eligible to enroll a plan.  If the employee is eligible, the program 
determines the eligible date.  

Determine Eligibility Hours


Setup Notes

      If the Based From Parameter is not blank, the from date has to be determined before calling this function.  The From date can be determined by first 
calling the function, "Determine Eligibility Based From Date".


Technical Specifications


Parameters  DN0800034E Data Structure

Data Item Data Structure DescriptionI/ORequiredTableNotes
ELMH                mnMinimumAmount            IR              F08390

DST               jdFromDate                               IR

EFT                 jdDateEffectiveRates           IR                Video effective date or system date

NPRD          mnNumberOfPeriods               IR                 F08390

PTEH            szPtTableEligHours                      IR                  F08390

BSDI       szBasedFrom                         IR              F08390

AN8        mnAddressNumber              IR

EV01        cInEligbileFlag                          O

ECP1          cEligCompPerPrimary           IR                 F08390


Processing


Initialize cInEligibleFlag = ' '


If mnMinimumAmount <> 0

     Open F0618

     If open operation is successful and szPtTableEligHours <> Blank


          // Set InterationNumberVariable//

          If mnNumberOfPeriods = 0

               InterationNumberVariable = 1

          Else

               InterationNumberVariable = mnNumberOfPeriods

          End If  //End of if mnNumberOfPeriods = 0//


          //If the Based From is not blank, make InterationNumberVariable = 1//

          
If szBasedFrom =<> Blank
                 InterationNumberVariable = 1

          End If


          // For each period, check that the accumulated hours meets the minimum hours required for eligibility//

                 Set HistoryFromDateVariable = jdFromDate

                 Set HistoryThruDateVariable = jdDateEffectiveRates

                 Set ComputationDateVariable = jdDateEffectiveRates

                 Set NextComputationDateVariable = 0


                While InterationNumberVariable > 0

                   

                      // If Based From is blank, determine the computation period//

                             If szBasedFrom = Blank
                                  Call function, "Set Computation Period Date Range", passing in cEligCompPerPrimary, 

                                          ComputationDateVariable, NextComputationVariable and passing back 

                                          HistoryFromDateVariable, HistoryThruDateVariable, and

                                           NextComputationDateVariable

                                  Set ComputationDateVariable = NextComputationDateVariable

                             End If   


                      // Accumulate hours from history for the period date range//

                      Initialize TotalHoursVariable = 0

                                      ReadF0618Flag = '1'

                      Select F0618 by keys, mnAddressNumber and HistoryFromDate >=table Date-Worked

                      While file F0618 operation is successful and ReadF0618Flag = '1'


                           FetchNext F0618, retrieving HistoryHoursWorked, HistoryPayType, HistoryDateWork

                           If fetchNext F0618 is successful


                                 //Omit if work date is beyond the through date and end read loop.  If work date is within

                                   from and through date, check that the history pay type is defined in the pay type table.

                                  Accumulate the hours only if the pay type is found in the pay type table//

                                  If HistoryDateWork > HistoryThruDateVariable

                                       Set ReadF0618Flag = '0'

                                  Else

                                       Select F08393 by key, szPtTableElighHours and HistoryPayType >= Table Thru-Trans 

                                            Code

                                       If select F08393operation is successful

                                             FetchNext F08393, retrieving TransCodeFrom

                                             If fetchNext F08393 is successful and HistoryPayType >=TransCodeFrom

                                                     TotalHoursVariable = TotalHoursVariable + HistoryHoursWorked

                                            End If   //End of if FetchNext F08393 is successful//

                                       End If  //End of select F08393 operation is successful//
                                  
End If   //End of histoyrDateWork > HistoryThruDateVariable//

                          End If   //End of if fetchNext F0618 is successful//

                       EndWhile  //End of while file F0618 operation'85..//


                      // Check that this period total hours with the minimum amount for eligibility.  If this period does 

                         meet the minimum requirement, no need to continue remainder periods//

                     If TotalHoursVariable < mnMinimumAmount

                            cInEligibleFlag  = '1'

                            InterationNumberVariable = 0

                     End If

 

                     // Decrement interation number//

                     InterationNumberVariable = InterationNumberVariable - 1

 

                 EndWhile  //End While InterationNumber > 0//

           

     End If  //End of if open operation is successful and '85..//

End If   //End of if mnMinimumAmount <> 0//


Close F0618 

^

Data Structure

DN0800034E - Determine Eligibility Hours

Parameter NameData ItemData TypeReq/OptI/O/Both
mnMinimumAmountELMHMATH_NUMERICNONENONE

The minimum requirement that must be met to satisfy the eligibility requirements. The minimum is associated with the method that you use 
to calculate eligibility. See the Method field (data item MTHD) for more information.

jdFromDateDSTJDEDATENONENONE

The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
the default is the original hire date. If no original hire date exists, the system uses the current date. This field can be updated multiple times if, for 
example, an employee is a seasonal worker. For the calculation tables in the Payroll system and the eligibility tables and date codes in the 
Human Resources system, the system also uses this date as a start date when it calculates deductions, benefits, and accruals.

jdDateEffectiveRatesEFTJDEDATENONENONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

mnNumberOfPeriodsNPRDMATH_NUMERICNONENONE

The number of consecutive periods used to calculate eligibility.

szPtTableEligHoursPTEHcharNONENONE

The pay type table used to calculate the hours worked for plan eligibility. You can define this table using user defined code system 08/type 
TT.

szBasedFromBSDFcharNONENONE

A code that defines the date from which eligibility is calculated. The allowed codes coincide with the dates that are on the Dates, Eligibility, 
and EEO form (P060190) and that are defined in user defined code list 08/D1. If you do not enter a code in this field, the system uses the 
employee's hire date.

mnAddressNumberAN8MATH_NUMERICNONENONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

cInEligibleFlagEV01charNONENONE

An option that specifies the type of processing for an event.

cEligCompPerPrimaryECP1charNONENONE

The computation period used to calculate if a person has the minimum number of hours necessary to be eligible for a plan. Valid codes 
are: W Week (seven days prior to effective date)   M Previous calendar month   Y Year (previous year to effective date)

Related Functions

None

Related Tables

None
DetermineEligibilityService

DetermineEligibilityService

Determine Employee Eligibility Server

Minor Business Rule

Object Name: N0800034

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description
The purpose of this Named ER is to determine whether an employee is eligible to enroll a plan.  If the employee is eligible, the program 
determines the eligible date.  

Determine Employee Eligibility Service Dys, Mths, Yrs


Setup Notes

The From Date must be determined before calling this function.  The From Date can be determined by first calling the function "Determine Eligibility From 
Date".


Technical Specifications


Parameters  DN0800034B Data Structure

Data Item Data Structure DescriptionI/ORequiredTableNotes
ELMH                mnMinimumAmount            IR              F08390

EFT         jdDateEffectiveRates               IR                    This is the video effective date or                                                     

                                                                                                            system date

DST                   jdFromDate                                IR

MTHDszEligibilityMethod                                IR              F08390

EV01cInEligibleFlagO


Processing


Initialize cInEligibleFlag = ' '


If mnMinimumAmount <> 0


     // Method  Days//

    If szEligibilityMethod = 'D'

           DaysBetweenVariable = days_between(jdFromDate, jdDateEffectiveRates)

           If DaysBetweenVariable < mnMinimumAmount

                cInEligibleFlag = '1'

           End If   //End of if DaysBetweenVariable < mnMinimumAmount//


    Else 
          // Method  Months //  

   
      If szEligibilityMethod = 'M'
               MonthsBetweenVariable = months_between(jdFromDate, jdDateEffectiveRates)

               If MonthsBetweenVariable < mnMinimumAmount

                      cInEligibleFlag = '1'

               End If   //End of if MonthssBetweenVariable < mnMinimumAmount/

    

               //  Method  Years//

               If szEligibilityMethod = 'Y'
                     MonthsBetweenVariable = months_between(jdFromDate, jdDateEffectiveRates)

                      YearsBetweenVariable = MonthsBetweenVariable / 12

                    If YearsBetweenVariable < mnMinimumAmount

                         cInEligibleFlag = '1'

                   End If   //End of if YearsBetweenVariable < mnMinimumAmount/

               End If  // End of if szEligibility = 'Y'//
         End If   //End of if szEligibilityMethod = 'M'//
    End If   //End of if szEligibilityMethod = 'D'//

End If    //End of if mnMinimumAmount <> 0//


^

Data Structure

DN0800034B - Determine Eligibility Service Days, Months and Year

Parameter NameData ItemData TypeReq/OptI/O/Both
mnMinimumAmountELMHMATH_NUMERICNONENONE

The minimum requirement that must be met to satisfy the eligibility requirements. The minimum is associated with the method that you use 
to calculate eligibility. See the Method field (data item MTHD) for more information.

jdDateEffectiveRatesEFTJDEDATENONENONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

jdFromDateDSTJDEDATENONENONE

The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
the default is the original hire date. If no original hire date exists, the system uses the current date. This field can be updated multiple times if, for 
example, an employee is a seasonal worker. For the calculation tables in the Payroll system and the eligibility tables and date codes in the 
Human Resources system, the system also uses this date as a start date when it calculates deductions, benefits, and accruals.

szEligibilityMethodMTHDcharNONENONE

A code that the system uses to calculate eligibility. Use this field in conjunction with the Amount field (data item ELMH). For example, if the 
eligibility criteria for a plan includes minimum age, you enter AM (Minimum Age) in this field and the specific age in the Amount field. J.D. 
Edwards provides codes for six of the most common methods. These codes are hard-coded and cannot be changed or deleted: H Hours of service  
D Days of service   M Months of service   Y Years of service   AM Minimum age   AX Maximum age

cInEligibleFlagEV01charNONENONE

An option that specifies the type of processing for an event.

Related Functions

None

Related Tables

None
DetermineEmployeeEligibility

DetermineEmployeeEligibility

Determine Employee Eligibility Server

Minor Business Rule

Object Name: N0800034

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description
The purpose of this Named ER is to determine whether an employee is eligible to enroll a plan.  If the employee is eligible, the program 
determines the eligible date.  

Determine Employee Eligibility Server (The Main Driver Function)


Setup Notes

Technical Specifications


Parameters  DN0800034 Data Structure

Data Item Data Structure DescriptionI/ORequiredTableNotes
AN8            mnAddressNumber              IR

PLAN         szPlanId                                 IR

EFT         jdDateEffectiveRates           IR                     This is the video effective date or                                                     

                                                                                                            system date

EV01            cInitialContinuingCode           IR                 'I' = Initial Eligibility;                                                                            

                                                                                     'C'=Continuing Eligibility

EV02       cServiceRequirement           O             '1' = Fails Service                                                                                  

                                                                               Requirement

EV03        cAgeRequirement                O                 '1' = Fails Age                                                                                        

                                                                         Requirement

EV04       cHoursRequirement                 O                '1' = Fails Hours                                                                                    

                                                                             Requirement

EV5         cUserDefinedRequirement    O             Not set as of release B732



Related Tables 


Table Table Description


Processing


Initialize the following fields:

      cUserDefinedRequirement = ' '

      cHoursRequirement = ' '

      cAgeRequirement = ' '

      cServiceRequirement = ' '

      cInEligibleFlagVariable = ' '


// Retrieve multiple employee Dates from the employee master//

FetchSingle F060116 with key, mnAddressNumber, retrieving the following dates:  BirthDate, OrginalHireDate,

     TerminationDate, DateStarted, DatePayStarts, DatePayStops, DateNextRaise, DateLastRaise, 

      DateLastContact, DateLOAExpiration, DateBonus, DateCurrentPosition, DateRecall, DateLOAStarts,

       DateParticipation, DateNextReview


If the F060116 fetch is successful


     //Retrieve InitialEligibility and ContinueEligibilityTable from the plan master//

    FetchSingle F08320 by key, szPlanId

    If the F08320 fetch is successful

         If cInitialContinuingCode = 'C'

                EligibilityTableVariable = ContinueElilibilityTable from the plan master

         Else

                EligibilityTableVariable = InitialEligibilityTable from the plan master

         End If   //End of cInitialContinuingCode = 'C'//

   

         //Check the conditions defined for the EligibilityTableVariable//

        Select F08390 by key, EligibilityTableVariable
        Set StopProcessingVariable = '0'

        While the file operation is succesful and StopProcessingVariable = '0'

               FetchNext F08390, retrieving the EligibilityMethod, EligibilityMinimumAmount,

                         BasedFromDataItem, EligibilityComputationPeriod, NumberOfPeriods, PayTypeTable

                         and the Operand

               If the FetchNext Operation is successful

                     //If operand = 'OR' and already eligible, no need to continue with test.  If operand = 'OR' and

                       ineligible, reset ineligibleFlag and continue testing.  If operand = 'AND', nothing is done to the

                      ineligbileFlag//

  
                  If Operand = 'OR'
                           If IneligibleFlag = ' '

                                StopProcessingVaraible = '1'

                           Else

                                IneligibleFlag = ' '

                           End If   //End of if IneligbleFlag= ' '//

                    End If    //End of if Operand = 'OR'//


                    //Test Eligibility according to method if continue with testing and EligibilityMinimumAmount <> 0//

                    If StopProcessingVariable = '0'

                            Set PassInEligibleFlag = ' '

                            

                            //Eligibility Method  Service Days, Months and Years//

                            If EligibilityMethod = 'D' or 'M' or 'Y'

                                Call Function  "Determine Eligibility Based From Date" to determine which employee date

                                      to  use as the based from date, passing in all the employee dates retrieved above, the 

                                      BasedFromDataItem (F08390), and returning back the FromDate

                                Call Function "Determine Eligibility Service Dys, Mths, Yrs", passing in the

                                       MinimumAmount (F08390), jdDateEffectiveRates, the FromDate, 

                                      EligibilityMethod (F08390), and returning a flag to the PassInEligibleFlag.

                                If PassInElgibleFlag = ' 1'

                                      Set IneligibleFlag = '1'

                                      Set cServiceRequirement = '1'

                                End If   //End of if PassInEligibleFlag = '1'//

                            End If   //End of if EligibilityMethod = 'D','M' or 'Y'// 


                            //Eligibility Method  Age Minimum or Age Maximum//

                           
If EligibilityMethod = 'AM' or 'AX'
                               Call Function  "Determine Eligibility Age", passing in the Date of Birth, 

                                      MinimumAmount (F08390),  EligibilityMethod (F08390), jdDateEffectiveRates and

                                      returning a flag to the PassInEligibleFlag.

                                If PassInElgibleFlag = ' 1'

                                      Set IneligibleFlag = '1'

                                      Set cAgeRequirement = '1'

                                End If   //End of if PassInEligibleFlag = '1'//

                            End If   //End of if EligibilityMethod = 'AM' or 'AX'// 


                            //Eligibility Method  HOURS//

                            If EligibilityMethod = 'H'

                                If BasedFromDataItem <> *Blank

                                      Call Function "Determine Eligibility Based From Date" to determine which employee 

                                         date to  use as the based from date, passing in all the employee dates retrieved above, 

                                         the BasedFromDataItem (F08390), and returning back the FromDate

                                End If   //End of If BasedFromDataItem <> *Blank//


                                Call Function "Determine Eligibility Hours", passing in the MinimumAmount (F08390),

                                        the FromDate, EligibilityMethod (F08390), jdDateEffectiveRates,

                                       NumberOfPeriod(F08390), PayTypeTable(F08390), BasedFromDataItem(F08390),

                                       mnAddressNumber, ComputationPeriod(F08390), and returning a 

                                       flag to the PassInEligibleFlag.

                                If PassInElgibleFlag = ' 1'

                                      Set IneligibleFlag = '1'

                                      Set cHoursRequirement = '1'

                                End If   //End of if PassInEligibleFlag = '1'//

                            End If   //End of if EligibilityMethod = 'H'//

 
                    End If   //End of if StopProccessingVariable = '0'//

               End If   //End of if the FetchNext Operation is successful//
    
    EndWhile  
 

        // After all eligibility records  have been processed, if the IneligibleFlag = ' ', just reset all the requirement 

          parameters//
   
        If IneligibleFlag = ' '

            Set cUserDefineRequirement = ' '

            Set cHoursRequirement = ' '

            Set cAgeRequirement = ' '

            Set cServiceRequirement = ' '

        End If  //End of if IneligibleFlag = ' '//

    End If  //End of if fetch F08320 is successful// 
End If   //End of if fetch F060116  is successful//


Data Structure

DN0800034 - Determine Employee Eligibility Server

Parameter NameData ItemData TypeReq/OptI/O/Both
mnAddressNumberAN8MATH_NUMERICNONENONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

szPlanIdPLANcharNONENONE

An abbreviation or number that identifies a specific employee benefit. Examples are:   o  Employee Health Insurance   o  Accidental Death 
and Dismemberment   o  Health Club Expense Reimbursement   o  Employee Stock Appreciation Rights  A benefit plan typically is associated 
with a deduction, benefit, or accrual. For example, a medical plan is a benefit that might also require a deduction to withhold premiums from 
an employee's pay.

jdDateEffectiveRatesEFTJDEDATENONENONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

cInitialContinuingCodeEV01charNONENONE

An option that specifies the type of processing for an event.

cServiceRequirementEV02charNONENONE

An option that specifies the type of processing for an event.

cAgeRequirementEV03charNONENONE

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, 
and IZ types.  Or, select Derivative Lots Only to display only those transactions that may have created new derivative lot. 

cHoursRequirementEV04charNONENONE

PeopleSoft event point processing flag 04.

cUserDefinedRequirementEV05charNONENONE

A flag that indicates whether automatic spell check is turned on.

Related Functions

None

Related Tables

None
SetComputationPeriodDateRange

SetComputationPeriodDateRange

Determine Employee Eligibility Server

Minor Business Rule

Object Name: N0800034

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description
The purpose of this Named ER is to determine whether an employee is eligible to enroll a plan.  If the employee is eligible, the program 
determines the eligible date.  

Set Computation Period Date Range


Setup Notes


Technical Specifications


Parameters  DN0800034F Data Structure

Data Item Data Structure DescriptionI/ORequiredTableNotes
ECP1       cEligCompPerPrimary          IR              F08390

EFT           jdComputationDate              IR

DTDB      jdFromDate                            OR

DTDE         jdThruDate                            OR

DWK        jdNextComputationDate         I & OR



Processing


// Set from and through dates if computation period is years//

If cEligCompPerPrimary = 'Y'

     //From Date is one year (12 months) before the computation date//

     jdFromDate = add_months(jdComputationDate, -12)


    //Through Date is one day before the computation date//

    jdThruDate = add_days(jdComputationDate, -1)
 

    jdNextComputationDate = jdFromDate

    

Else  //Else cEligCompPerPrimary <> 'Y'//

     //Set From and Through Dates if computation period is months// 

    If cEligCompPerPrimary = 'M'

          // Find the first day of the current computation month is computation date is not the 1st day of the month//

          DayOfDateVariable = date_day(jdComputationDate

          If DayOfDateVariable = 1

                FirstDayOfMonthVariable  = jdComputationDate

          Else

                FirstDayOfMonthVariable = add_days(jdComputationDate, ((DayOfDate 1) * -1))

          End If   //End of if DayOfDateVariable = 1//


          // Through date is the last day of the last month (which is one day before the 1
st day of the current month//
          jdThruDate = add_days(FirstDayOfMonthsVariable, -1)


         // From Date is 1st day of last month //

         DayOfDateVariable = date_day(jdThruDate)

         jdFromDate = add_days(jdThruDate, ((DayOfDateVariable 1) *-1))


         jdNextComputationDate = jdFromDate


    Else //Else if cEligCompPerPrimary <> 'M'//

        // Set from and through dates if computation period is week//

       //Through Date is one day before the computation date//

       jdThruDate = add_days(jdComputationDate, -1)


      //From Date is six days before the computation date//

      jdFromDate = add_days(jdComputationDate, -6)

      jdNextComputationDate = jdFromDate


    End If   //End of if cEligCompPerPrimary = 'M'//
End If   //End of if cEligCompPerPrimary = 'Y'


^

Data Structure

DN0800034F - Set Computation Period Date Range

Parameter NameData ItemData TypeReq/OptI/O/Both
cEligCompPerPrimaryECP1charNONENONE

The computation period used to calculate if a person has the minimum number of hours necessary to be eligible for a plan. Valid codes 
are: W Week (seven days prior to effective date)   M Previous calendar month   Y Year (previous year to effective date)

jdComputationDateEFTJDEDATENONENONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

jdFromDateDTDBJDEDATENONENONE

The beginning date on the employee's DBA instruction record (F06106) for this enrollment. In most cases, this is the same as the beginning 
effective date of the enrollment. However, it can be later than the beginning effective date if the enrollment is changed retroactively. Only 
active enrollment records have a value in this field since they are the only enrollment records that result in payroll deductions, benefits, or 
accruals. Active records have a beginning status that starts with A.

jdThruDateDTDEJDEDATENONENONE

The ending date on the employee's DBA instruction record (F06106) for this enrollment. In most cases, this is the same as the ending 
effective date of the enrollment. However, it can be later than the ending effective date if the enrollment is changed retroactively. Only active 
enrollment records have a value in this field since they are the only enrollment records that result in payroll deductions, benefits, or accruals. Active 
records have a beginning status that starts with A.

jdNextComputationDateDWKJDEDATENONENONE

The date used as the actual work date or pay-period ending date.

Related Functions

None

Related Tables

None
es New Roman;font-size:10pt">// Decrement interation number//
                     InterationNumberVariable = InterationNumberVariable - 1

 

                 EndWhile  //End While InterationNumber > 0//

           

     End If  //End of if open operation is successful and '85..//

End If   //End of if mnMinimumAmount <> 0//


Close F0618 

^

Data Structure

DN0800034E - Determine Eligibility Hours

Parameter NameData ItemData TypeReq/OptI/O/Both
mnMinimumAmountELMHMATH_NUMERICNONENONE

The minimum requirement that must be met to satisfy the eligibility requirements. The minimum is associated with the method that you use 
to calculate eligibility. See the Method field (data item MTHD) for more information.

jdFromDateDSTJDEDATENONENONE

The date on which the employee actually reported to work for the most recent period of hire. When an employee initially begins working, 
the default is the original hire date. If no original hire date exists, the system uses the current date. This field can be updated multiple times if, for 
example, an employee is a seasonal worker. For the calculation tables in the Payroll system and the eligibility tables and date codes in the 
Human Resources system, the system also uses this date as a start date when it calculates deductions, benefits, and accruals.

jdDateEffectiveRatesEFTJDEDATENONENONE

The date that identifies when a date is first valid. The effective date is used generically. It can be a lease effective date, a price or cost 
effective date, a currency effective date, a tax rate effective date, or whatever is appropriate.

mnNumberOfPeriodsNPRDMATH_NUMERICNONENONE

The number of consecutive periods used to calculate eligibility.

szPtTableEligHoursPTEHcharNONENONE

The pay type table used to calculate the hours worked for plan eligibility. You can