Hoping to find some help on here from Italian colleagues as this logic is specific to Italian Tax Code format.
When we save infotype 0021 for Italian employees, this has a tax pay reference number i.e. CFCFM which is linked to infotype 0306. When a tax code is entered this is processed through Module CHECK_CFCFM, of program MP030630, and this in turn calls function module HR_IT_GET_FISCAL_CODE. This function then returns the calculated fiscal code, which is then compared to what was entered on the screen. When there is a difference an error message is output.
This works great in 99% of the cases. However there are cases where this doesn't work. In Italy when two or more people have the same name and surname, and are born in the same city on the same date, then these people would have the same tax code and of course this is not allowed. Therefore there is an algorithm which calculates a different version of the original tax code where necessary. Unfortunately this logic does not exist in SAP and therefore we are getting an error message for the tax code, and are unable to proceed even though it is valid for Italy.
All help greatly appreciated.