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 NameData ItemData TypeReq/OptI/O/Both
mnAddressNumberAN8MATH_NUMERICOPTINPUT

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

szPlanIdPLANcharOPTINPUT

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.

jdDateEffectiveRatesEFTJDEDATEOPTINPUT

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.

szEnrollmentStatusEndingXESTcharOPTINPUT

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.

mnDBADollarAmountRTAMMATH_NUMERICOPTINPUT

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. 

mnDBAPointAmountRTAMMATH_NUMERICOPTINPUT

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. 

mnPeriodCountPPCTMATH_NUMERICOPTINPUT

The number of periods for the specified process.

cActivityRequiredACTVcharOPTBOTH

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

cFlexTypeDPYNcharOPTINPUT

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

szPayCycleCodePCCDcharOPTINPUT

A code that identifies the values for a master payroll cycle.

cPayFrequencyPFRQcharOPTINPUT

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.

mnConvertPointsFactorRTAMMATH_NUMERICOPTINPUT

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. 

szProgramIdPIDcharOPTINPUT

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.

Related Functions

None

Related Tables

None