ERROR: Error converting data type numeric to decimal, when running Cheques and EFT process


Common Root Causes of Issue: 

-Enormous number trying to be added (Can be Annualized number as well)

-Decimals of 3+ after the period (ex. 48.745) 

 

FIX: 

Check EC_EMPLOYEE_CHEQUE, filter for the appropriate Pay Number

  • Search NET_AMOUNT for any abnormal values (Sort by Descending)

Check EC_EMPLOYEE_YTD_ENTITY Table, filter for the appropriate Pay Number

  • Search CURRENT_AMOUNT for any abnormal values (Sort by Descending)

Check EC_EMPLOYEE_DEDUCTIONS table, filter Values in descending

Check Pay Records to see AMOUNTS with more than 2 decimal places

Verify Allowances and Annualize the numbers

  • If one is setup to be daily for a large amount, annualize it and see if the value is enormous (6 figures +)
  • The EFT process updates the Web Pay Statements tables and this could violate a cap for Annual_Salary field (8 digits total; 6 digits before decimal, decimal, 2 digits after decimal = error)
  • To remedy, cancel EID Cheque under Cheque Processes > Cancelled Cheque, Run EFT for rest, use a Special pay to process the Employee in Question. Review Allowances as needed prior. 
  • Alternatively, allowance can be removed entirely, then run EFT to have it pass. This should be a second option after reviewing and updating Allowance values

 

Scripts 

select * from EC_EMPLOYEE_PAY_RECORD

where EMPLOYEE_ID = 'xxxx'

and PAY_NUMBER = YYYYNN

  • Maybe there is no Pay Record, this is where Cheques and EFT come from


select * from EC_EMPLOYEE_YTD_ENTITY

where EMPLOYEE_ID = 'xxxx'

and PAY_NUMBER = YYYYNN

 

select * from EC_EMPLOYEE_DEDUCTIONS

where EMPLOYEE_ID = 'xxxx'