You may face the two payroll problems described here when you upgrade your HR system from SAP R/3 4.6C to mySAP ERP Central Component 5.0. Learn how to permanently fix them.
Key Concept
Personnel calculation schemas describe the sequence and contents of a country-specific payroll or time evaluation program (or driver). A payroll driver is a program that you use to run the payroll using the main payroll schema. Each country version has a country-specific payroll driver. The time evaluation driver is the main program in Personnel Time Management that calls and executes the main time evaluation schema. In other words, the payroll schema contains instructions and calculation rules for the payroll driver to use during payroll or time evaluation.
Once you upgrade from R/3 4.6C to mySAP ERP Central Component (ECC) 5.0, you need to fix two Payroll issues. The first is a schema syntax error in the output payroll form function that occurs when you execute a payroll driver (e.g., RPCALCX0). You execute payroll drivers by using the payroll transactions PC00_M99_CALC_SIMU, PC00_M99_CALC, or PUOC_99. The second payroll problem involves the arrears priorities characteristics for wage type configuration and arrears processing for loan deduction error (view V_51P6_B). Because you can’t resolve all the problems in the same way, I’ll also explain how I developed the solution.
Note
To ensure business continuity during an upgrade, you should be aware of potential upgrade problems. In parts 1 and 2 of this upgrade series, I showed you how to solve the main functional Personnel Administration (PA) upgrade problems that may occur during your upgrade process from R/3 4.6C to ECC 5.0. My next article, part 4, will address the remaining Payroll issues.
Schema Syntax Error
The schema syntax error applies only to R/3 4.6C because your upgrade from R/3 4.6C to 4.7 may solve this problem. The schema syntax error occurs whenever users try to simulate payroll with transaction PC00_M99_CALC_SIMU, execute a regular payroll run with transaction PC00_M99_CALC, or execute off-cycle payroll with transaction PUOC_99. Those transactions execute the payroll driver, and then the payroll driver generates the payroll schema, which consists of subschemas. Each schema/subschema may consist of several personnel calculation rules (PCRs).
Note
You use functions as objects to define and build your instructions in schemas. For instance, COPY
executes another schema, COM
allows you to write comments, IF
writes a condition statement, and LPBEG
starts an iteration. In PCRs, you use operations to define calculation rules. The OUTWP operation loads work center and basic pay data, and the ADDWT operation adds a wage type to a subsequent wage type.
When you execute payroll simulation transaction PC00_M99_CALC_SIMU or start regular payroll run transaction PC00_M99_CALC, the payroll driver cannot generate the schema. The following message appears: An error has occurred during schema generation … (Figure 1). When you execute the off-cycle payroll run using transaction PUOC_99, you’ll see the error message Function does not exist (Figure 2).

Figure 1
Payroll log shows schema generation error after executing the Payroll simulation (PC00_M99_CALC_SIMU) or start regular payroll (PC00_M99_CALC) transactions

Figure 2
Error in status bar after starting payroll in Off-Cycle Workbench (transaction PUOC_99)
Note
Transactions PC00_M99_CALC_SIMU, PC00_M99_CALC, and PUOC_99 execute the international Payroll driver RPCALCX0. Each payroll country version has a country- specific payroll driver and related transactions, such as US payroll driver RPCALCU0 and transaction PC00_M10_CALC and Germany payroll driver RPCALCD0 and related transaction PC00_M01_CALC.
Note
The digits in payroll transactions codes specify country-version transactions. For example, the number 99 denotes international payroll transactions, 10 is for US payroll transactions, and 01 is for German payroll transactions. Characters specify country-specific payroll drivers. X stands for international, U for US, and D for Germany.
Solution
Starting with SAP R/3 Enterprise 4.7, SAP deleted the function XEDT (output payroll form) and removed it from all SAP standard schemas. You need to review and correct your entire customer schemas that may contain this function. I’ll show you how to remove this function from a customized subschema that I copied and customized from standard schema XEND.
Note
Standard schemas are client independent, which means that they are visible in all clients. Customer schemas are client dependent, which means that they are only visible in the relevant customer clients.
I recommend that you activate the Display log check box in the payroll driver selection screen before you execute the simulation for individual employees in transaction PC00_M99_CALC_SIMU, as shown in Figure 3. This allows you to look at the calculations in detail, the exact error, and related error information. In this case, the log provides you with the obsolete function name and subschemas that may contain this function. Figure 4 shows an example log for subschema YEND that indicates Function XEDT does not exist.

Figure 3
Payroll driver selection screen with checked display log

Figure 4
Log displays subschema YEND with nonexistent function XEDT
Up to R/3 4.0B you could use function XEDT to control whether to output the payroll form from the personnel calculation schema. SAP deactivated the source text of this function in Release 4.5B. Since then, function XEDT existed with no functionality. SAP removed function XEDT in R/3 Enterprise 4.7.
To resolve this issue, enter transaction PE01 or follow the IMG menu path Payroll: International>Deductions> Arrears and priorities>Check payroll Schema. Click on the execute icon to see the screen shown in Figure 5. Enter your customer schema that contains an obsolete function (e.g., YEND
) and click on the Change button.

Figure 5
Enter your customer schema in Personnel Calculation Schemas: Initial Screen
As a result, you’ll see the screen in Figure 6. Scroll down until you find function XEDT and then exclude it by typing an asterisk (*) in column D. Next, click on the check icon to ensure that your schema syntax is accurate. Click on the save icon (Figure 7).

Figure 6
Locate the function XEDT in schema YEND

Figure 7
Exclude the function XEDT from customer schema YEND
Now your payroll administrator can run the payroll without the above-mentioned errors. Instead of depending on the function XEDT, the payroll driver uses the remuneration parameter in the payroll driver selection screen to define the output form during payroll processing. Choose Layout for remun. statement and enter a valid variant (e.g., PAYSLP PRINT
) as shown in Figure 8.

Figure 8
ECC 5.0 payroll driver selection screen with remuneration statement variant
Arrears Characteristics for Wage Types
The arrears deductions error occurs when you execute a payroll simulation using transaction PC00_M99_CALC_SIMU or regular payroll run with PC00_M99_ CALC. The system cannot complete the payroll execution and the following message appears in the payroll log: Error with a loan wage type ... (Figure 9).

Figure 9
Payroll log shows a loan wage type error
The error message indicates that the default current arrears setting, 7, in ECC 5.0 checks the net amount for the loan repayment. The arrears characteristic value determines how R/3 processes the deduction wage type if the net amount is insufficient for the deduction. The default arrears setting of 7 means that if the net amount is not sufficient, you need to lower the amount of repayments manually in the loans infotype (0045) or the system rejects the person from payroll processing with a loan error message.
The arrears value 1 means that the system deducts the whole amount regardless of the minimum net amount. If the net amount is not sufficient (if the employee total deduction is greater than employee total payment), then the system divides the deduction into two amounts: the amount deducted in the current period and the amount that the system transfers and claims in the next payroll period.
Your current settings in ECC 5.0 may differ from your earlier configuration in R/3 4.6C, depending on your organization. This error message occurs because the upgrade process overwrites your customized arrears characteristics for loan wage types setting of 1 in R/3 4.6C with the value of 7.
Generally, you should avoid changing arrears data. If the change is unavoidable, document it carefully so that you can repeat it after an upgrade or release change if necessary. The best way to do this is to put the data in a change request, which you can export before an upgrade or release change, and import again afterward. While it is possible to import requests and transport custom objects across versions, it does not work in all situations because the configuration setup (table structures) may change by release.
Solution
To resolve this issue, you need to reconfigure the arrears values that the upgrade overwrote by changing the setting of the arrears value. In this case, you need to reset the arrears setting value to 1 as configured earlier in R/3 4.6C.
Use transaction S_AHR_61008540 or follow the IMG menu path Payroll>Deductions>Priorities and Arrears>Define Priority for Deductions. Click on the execute icon to see the screen shown in Figure 10. Then, select the country and click on the enter icon. As a result, the system displays the characteristic of arrears deduction window as shown in Figure 11.

Figure 10
Choose your country

Figure 11
Change view for characteristics of arrears deductions with standard values (before fix)
Figure 11 shows the loan wage types and related arrears values 7 after the upgrade to ECC 5.0. Change the numbers in the Arrears column from 7 to 1 by retyping them. Alternatively, click on the Arrears field to see the list shown in Figure 12 and select the value 1. As a result, the arrears values of the loan wage types become 1, as shown in Figure 13. Click on the save icon.

Figure 12
List of arrears characteristic for wage type

Figure 13
Change view for characteristics of arrears deductions (after fix)
Payroll users can now run payroll successfully for previously rejected employees. The system deducts the possible loan amount and claims the rest in the next payroll period, as shown in the payslip sample (Figure 14). Your end users will never realize that there was a problem during the upgrade.

Figure 14
After fixing the arrears priorities, the payroll completed successfully and the payslip shows the Claim to be deducted from the employee in the next payroll period
Mohamed Khalid Yousif
Mohamed Khalid Yousif is a certified senior SAP HR consultant. Mohamed has a master’s degree in computer science from Khartoum University, Sudan. He is currently the team leader of the SAP HR support team and also was team leader of the ECC 5.0 upgrade project at National Drilling Company, Abu Dhabi, UAE.
You may contact the author at myousif@ndc.ae.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.