Functional Description
Purpose
The purpose of this NER is to determine if an employee has history for a given DBA within a given
Plan Id.
Setup Notes and Prerequisites
Mode should be set equal to '1' to get history only, and '2' to get history and Date DBA Worked.
Special Logic
Technical Specifications
//Initialize Work Fields
cHistoryFlag = "N"
HistoryFound = "0"
ErrorFlag = "0"
ValidOptions = "0"
ZeroDate = "00/00/0000"
-------------------------------------------------------------
Get Plan DBAs from F08320
If File IO Status is equal to ERROR
Set error flag = '1'
End If
-------------------------------------------------------------
//Determine if Plan Options Exist
If Plan Additional Option is not equal to
Get option rules and DBAs from F083202
If File_IO_Status is equal to ERROR
Set error flag = '1'
Else
Set ValidOptions flag = "1"
End If
End If
-------------------------------------------------------------
//Initialize DBA End Date - If no DBA End Date is sent then use Enrollment End Date
//(Note) If History exists beyond this date then the End Date will be advanced and returned to the
calling application.
If BF jdDateDbaEnds is not equal to ZeroDate
DBAWorkedDate = BF jdDateDbaEnds
Else
DBAWorkedDate = BF jdDateEndingEffective
End If
-------------------------------------------------------------
//Employee Share: Test Plan DBA or Option DBA
//If no errors have been detected then check if payroll history exists
If ErrorFlag is equal to "0"
If ValidOptions flag is equal to
F083202 is less than or equal to
//Call using EmployeeDbaId from F08320
Call 'Read DBA HIstory'
Pass in AN8, EmployeeDbaId from F08320, BF DBA Begin Date, BF DBA Ends, and BF Mode. Get Back BF
History Flag, and Date DBA Worked.
End If
//If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
If HistoryFound is not equal to "1"
If ValidOptions flag is equal to "1" And EmployeeDbaIdOption from f083202 is greater than
//Call using EmployeeDbaIdOption from F083202
Call 'Read DBA HIstory' Pass in AN8, EmployeeDbaIdOption from F083202, BF DBA Begin Date, BF DBA
Ends, and BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF HistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
End If
------------------------------------------------------------------------------
// Employer Share:
If HistoryFound is not equal to "1"
If ValidOptions flag is equal to
DbaEmployerIdOption from F083202 is less than or equal to
//Call using EmployerDbaId from F08320
Call 'Read DBA HIstory' Pass in AN8, EmployerDbaId from F08320, BF DBA Begin Date, BF DBA Ends, and
BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
If HistoryFound is not equal to "1"
If ValidOptions is equal to "1" And DbaEmployerIdOption is greater than
//Call using EmployerDbaIdOption from F083202
Call 'Read DBA HIstory' Pass in AN8, DbaEmployerIdOption from F083202, BF DBA Begin Date, BF DBA
Ends, and BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
End If
End If
------------------------------------------------------------------------------
// Employee Points:
If HistoryFound is not equal to "1"
If ValidOptions is equal to
than or equal to
//Call using PayrollDedPoints from F08320
Call 'Read DBA HIstory' Pass in AN8, PayrollDedPoints from F08320, BF DBA Begin Date, BF DBA Ends,
and BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
If HistoryFound is not equal to "1"
If ValidOptions is equal to "1" And PayrollDedPointsOption is greater than
//Call using PayrollDedPointsOption from F083202
Call 'Read DBA HIstory' Pass in AN8, PayrollDedPointsOption from F083202, BF DBA Begin Date, BF DBA
Ends, and BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
End If
End If
------------------------------------------------------------------------------
// Employer Points:
If HistoryFound is not equal to "1"
If ValidOptions is equal to
less than or equal to
//Call using PayrollCreditPoints from F08320
Call 'Read DBA HIstory' Pass in AN8, PayrollCreditPoints from F08320, BF DBA Begin Date, BF DBA Ends,
and BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
If HistoryFound is not equal to "1"
If ValidOptions is equal to "1" And PayrollCreditPointsOption is greater than
//Call using PayrollCreditPointsOption from F083202
Call 'Read DBA HIstory' Pass in AN8, PayrollCreditPointsOption from F083202, BF DBA Begin Date, BF
DBA Ends, and BF Mode. Get Back BF History Flag, and Date DBA Worked.
End If
// If only history check requested, exit
If BF cHistoryFlag is equal to "Y"And BF cMode is equal to "1"
HistoryFound = "1"
End If
End If
End If
------------------------------------------------------------------------------
// Determine if spending history exists
If DeductPointsDolsYN from F08320 is equal to 1,2,4, or 5And BF cHistoryFlag is not equal to "Y"
// Get Flexible Spending Account Information
RsaYear = date_year([BF jdDateDbaBegins])
Fetch from F08370 using RsaYear, AN8, and Plan ID
If File_IO_Status is equal to CO SUCCESS
If F08370 ClaimsToPay is not equal to
F08370 ClaimsPaid is not equal to
ClaimsRejected is not
is not
BF cHistoryFlag = "Y"
End If
End If
// Determine if detail record exists
If BF cHistoryFlag is not equal to "Y"
Select from F08371 using RsaYear, AN8, and Plan ID
If File_IO_Status is equal to CO SUCCESS
F08371.Fetch Next
If File_IO_Status is equal to CO SUCCESS
BF cHistoryFlag = "Y"
End If
End If
End If
End If
------------------------------------------------------------------------------
// Return End Effective Date:
If BF cMode is equal to "2"
BF jdDateDbaEnds = Date DBA Worked from 'Read DBA History'
End If
End If
D0800035 - Check For Enrollment History
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnEmployeeAddressNumber | AN8 | MATH_NUMERIC | NONE | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
szPlanId | PLAN | char | NONE | NONE |
An abbreviation or number that identifies a specific employee benefit. Examples are:
o Employee Health Insurance
o Accidental Death
| ||||
szPlanAdditionalOption | AOPT | char | NONE | NONE |
A code that identifies any additional options available for a benefit plan that have been defined in the Plan Additional Options table
| ||||
jdDateEndingEffective | EFTE | JDEDATE | NONE | NONE |
The date on which the item, transaction, or table becomes inactive, or through which you want transactions to appear. This field is used
| ||||
jdDateDbaBegins | DTDB | JDEDATE | NONE | NONE |
The beginning date on the employee's DBA instruction record (F06106) for this enrollment. In most cases, this is the same as the beginning
| ||||
cMode | EV01 | char | NONE | NONE |
Special Input Expected
| ||||
cHistoryFlag | EV01 | char | NONE | NONE |
Special Output Returned
| ||||
jdDateDbaEnds | DTDE | JDEDATE | NONE | NONE |
The ending date on the employee's DBA instruction record (F06106) for this enrollment. In most cases, this is the same as the ending
|
None |
None |