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'