Model employee elections, limits, and deductions to fit the Ceridian Dayforce Employee Election Import xml specification 55.

Screenshots

TODO

Specifics

Available in Flatmap 20.4 Release

Samples

Path and Instructions

./Model DayforceEmployeeElection55/
./Model DayforceEmployeeElection55/SetValue Filename.scala
./Model DayforceEmployeeElection55/RunModel ElectionImport.scala
./Model DayforceEmployeeElection55/RowModel EmployeeElection.scala
./Model DayforceEmployeeElection55/RowModel EmployeeDeductionBalanceAndArrear.scala

Sample Recipe

git@albert-20.albertlogin.us:ExploreX/explorex-examples-2020.git data-dayforceelection

Specifics

Supported Model Instructions

Set Filename.(txt scala)

Row/Run ElectionImport.scala

Row EmployeeElection.scala

Row EmployeeDeductionBalanceAndArrear.scala

Case Classes


case class EmployeeElectionImport ( ElectionImport: ElectionImport )

case class ElectionImport ( SourceIdentifier: Option[String] = None,
                            ClientXrefCode: String,
                            _employeeElection: Seq[EmployeeElection] = Seq.empty,
                            _employeeDeductionBalanceAndArrear: Seq[EmployeeDeductionBalanceAndArrear] = Seq.empty )

case class EmployeeElection ( Employee : Employee )

case class Employee ( EmployeeXrefCode : String,
                      Election : Election )

case class Election ( EarnDeductType: String, //Deduction, Earning
                      EarnDeductXrefCode: String,
                      EffectiveStartDate : DateTime,
                      EffectiveEndDate: Option[DateTime] = None,
                      PayeeXrefCode: Option[String] = None,
                      OrgUnitXrefCode: Option[String] = None,
                      DeptJobXrefCode: Option[String] = None,
                      Amount: Option[Double] = None,
                      PercentValue: Option[Double] = None,
                      ExpressionCodeName: Option[String] = None,
                      // The expression parameter code name for the election – if the earning/deduction is configured for expression then this may be provided. If ExpressionValue is provided then this must be provided.
                      ExpressionValue: Option[Double] = None,
                      // The expression parameter value for the election – if the earning/deduction is configured for expression then this may be provided. If ExpressionCodeName is provided then this must be provided.
                      EarnDeductScheduleXrefCode: Option[String] = None,
                      _limit : Seq[Limit] = Seq.empty,
                      _payeeParameter : Seq[PayeeParameter] = Seq.empty )

case class Limit ( AccumTypeXrefCode: String,
                   LimitAmount : Option[Double],
                   LimitPercent : Option[Double] )

case class PayeeParameter (PayeeParameterXrefCode: String,
                           ParameterValue : String )


case class EmployeeDeductionBalanceAndArrear( EmployeeXrefCode: String,
                                              _deductionBalance: Seq[DeductionBalance] = Seq.empty,
                                              DeductionArrear : DeductionArrear )

case class DeductionBalance ( Description: Option[String] = None,
                            DeductionXrefCode: String,
                            EffectiveStart: DateTime,
                            BeginningBalanceAmount: Option[Double] = None,
                            DateEnded: Option[DateTime] = None,
                            _deductionBalanceTransaction: Seq[DeductionBalanceTransaction] = Seq.empty )

case class DeductionBalanceTransaction( Delta : Double,
                                      Description : Option[String] = None,
                                      TransactionDate : DateTime )

case class DeductionArrear ( Description: Option[String] = None,
                             DeductionXrefCode: String,
                             DateOfFirstArrear: Option[DateTime] = None,
                             DateEnded: Option[DateTime] = None,
                             _deductionArrearTransaction: Seq[DeductionArrearTransaction] = Seq.empty )

case class DeductionArrearTransaction( Delta: Double,
                                     Description: Option[String] = None,
                                     TransactionDate: Option[DateTime] = None )