ProcessSpendingAccountEnrollment
Process Spending Account Enrollment
Minor Business Rule
Object Name: N0800060
Parent DLL: CHRM
Location: Client/Server
Language: NER
Functional Description
Purpose
This program writes a spending account balance record to F08370 if one does not already exist for an
active, non-mistaken enrollment. If the account balance record exists, it then updates the record.
Setup Notes and Prerequisites
The program assumes that the enrollment has been determined to be active (beginning status starting
with "A"), and it assumes the plan is a spending account plan (Flex Type equal to "1", or "2' or "4" or
"5").
Special Logic
If the enrollment is a mistake (ending status starting with"X"), no spending account record will be
written. The program deletes the spending account balance record if the activity requested parameter is
'D'.
Technical Specification
B7RsaYear is set equal to the year in jdDateEffectiveRates
Check to see if record exists in F08370
If VA evt_cAddUpdateOrDelete is not equal to "D"
Get Audit Info for adding or updating F08370
Get B7UserDefinedCode from f0005
Determine current year elections
B7CurrentYearElection = [Passed in DBADollarAmount]+([Passed in DBAPointAmount]*[Passed in
ConvertPointsFactor])
Call N0800061 to get the number of pay periods remaining
Multiply B7CurrentYearElection * Number of Pay Periods = B7CurrentYearElection
If medical flex type, '1' or '4', set initial balance = B7CurrentYearElection
If Activity Required is equal to "A"
F08370.Insert
End If
If Activity Required is equal to "U"
F08370.Update
End If
If Activity Required is equal to "D"
F08370.Delete
^
Data Structure
D0800060 - Process Spending Account Enrollment
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
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
location.
|
szPlanId | PLAN | char | OPT | INPUT |
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.
|
jdDateEffectiveRates | EFT | JDEDATE | OPT | INPUT |
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.
|
szEnrollmentStatusEnding | XEST | char | OPT | INPUT |
A code that indicates the ending status of an employee's enrollment in a plan. This status represents the reason for ending the old
enrollment and is used as the beginning status of any resulting new enrollment.
You can define this code using user defined code table 08/ES. See
data item XDFS (Status - Enrollment) for restrictions on the allowed values.
Note: An ending status that begins with the letter X represents a
mistaken enrollment. |
mnDBADollarAmount | RTAM | MATH_NUMERIC | OPT | INPUT |
A value that is a percentage, a monetary amount, or an hourly rate, depending on where it is used. Valid values are:
1
For a deduction,
benefit, or accrual, the meaning of this value depends on the method of calculation. The method determines whether the deduction is a flat
monetary amount, a percentage, or a multiplication rate. Table method DBAs, depending on which table method they use, can either use this
amount in the calculation or ignore it. If there are exceptions to the table calculation, you can override the table code in the detail area, set up a
flat monetary DBA amount, or override the amount with a one-time override for a timecard.
2
For a pay type, amounts entered in this field
override the hourly rate.
|
mnDBAPointAmount | RTAM | MATH_NUMERIC | OPT | INPUT |
A value that is a percentage, a monetary amount, or an hourly rate, depending on where it is used. Valid values are:
1
For a deduction,
benefit, or accrual, the meaning of this value depends on the method of calculation. The method determines whether the deduction is a flat
monetary amount, a percentage, or a multiplication rate. Table method DBAs, depending on which table method they use, can either use this
amount in the calculation or ignore it. If there are exceptions to the table calculation, you can override the table code in the detail area, set up a
flat monetary DBA amount, or override the amount with a one-time override for a timecard.
2
For a pay type, amounts entered in this field
override the hourly rate.
|
mnPeriodCount | PPCT | MATH_NUMERIC | OPT | INPUT |
The number of periods for the specified process.
|
cActivityRequired | ACTV | char | OPT | BOTH |
A code to designate that a D.O.I. is active or inactive (and thus prohibited from further posting). This code may also be used for flagging a
DOI to hold all transactions for whatever reason.
Allowed values are:
A Active and approved for transaction processing
I Inactive this DOI
will not be used in the future
H Hold all transactions will be held pending further maintenance |
cFlexType | DPYN | char | OPT | INPUT |
A code that defines whether the combined deduction/benefit amount for this plan contributes to the enrolled employee's reimbursable
spending account. The code also identifies whether the spending account is for medical or other types of expenses. Valid codes are:
0 Not part
of a flex plan, not a spending account
1 Not part of a flex plan, a medical spending account
2 Not part of a flex plan, a spending account
not for medical expenses
3 Part of a flex plan, not a spending account
4 Part of a flex plan, a medical spending account
5 Part of a
flex plan, a spending account not for medical expenses |
szPayCycleCode | PCCD | char | OPT | INPUT |
A code that identifies the values for a master payroll cycle. |
cPayFrequency | PFRQ | char | OPT | INPUT |
A user defined code (07/PF) that indicates how often an employee is paid. Valid codes are:
B
Biweekly
W
Weekly
S
Semimonthly
M
Monthly
A
Annually
C
European Annualized
The system uses the value in the Description-2 field on user defined codes to calculate the amount per
pay period for a salaried employee. |
mnConvertPointsFactor | RTAM | MATH_NUMERIC | OPT | INPUT |
A value that is a percentage, a monetary amount, or an hourly rate, depending on where it is used. Valid values are:
1
For a deduction,
benefit, or accrual, the meaning of this value depends on the method of calculation. The method determines whether the deduction is a flat
monetary amount, a percentage, or a multiplication rate. Table method DBAs, depending on which table method they use, can either use this
amount in the calculation or ignore it. If there are exceptions to the table calculation, you can override the table code in the detail area, set up a
flat monetary DBA amount, or override the amount with a one-time override for a timecard.
2
For a pay type, amounts entered in this field
override the hourly rate.
|
szProgramId | 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
interactive program is P4210, and the number of the Print Invoices batch process report is R42565.
The program ID is a variable length value.
It is assigned according to a structured syntax in the form TSSXXX, where:
T
The first character of the number is alphabetic and identifies the
type, such as P for Program, R for Report, and so on. For example, the value P in the number P4210 indicates that the object is a
program.
SS
The second and third characters of the number are numeric and identify the system code. For example, the value 42 in the number P4210
indicates that this program belongs to system 42, which is the Sales Order Processing system.
XXX
The remaining characters of the numer are
numeric and identify a unique program or report. For example, the value 10 in the number P4210 indicates that this is the Sales Order Entry
program.
|