Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert
Hello Community,

This blog post is intended to provide information regarding ESS HR Renewal for US customers, which use the ESS to view/maintain the W4/W5 Withholding Form (IT0210).

Here you'll find details on how to reproduce ESS scenarios, some customizations that can be made on the ESS view, as well as common issues.



Accessing ESS from the backend system

1. The first thing that you need to ensure while accessing ESS on the backend system is that a pernr should be linked to your user. This link is made by the Communication Infotype (IT0105), subtype 0001.

On the field "System ID" you should input your own user, and save the record. Make sure that you maintain the infotype valid for the given period.


2. Access transaction SE80, input package PAOC_ESS_PER_US and follow the below path. Then, right click on "HRESS_AC_W4", and "Test".


3. A browser will open (mostly likely Internet Explorer) and the ESS will be showed:

Note that the IT0210 records showed on ESS are the same ones that can be checked on PA20/PA30:

In case the employee has more than one record for the same subtype, only the current valid record for each subtype should be showed on the ESS.

If that's not the case and you're seeing the older records being showed as well, the issue should be related to the implementation of badi HRXSS_PER_BEGDA on your system, once the system will load the opened W-4 and set the date configured via this badi. By default, this date is set as the current date, perhaps is can be customized.
Further information of this badi can be found on Note 2880390 - W-4 ESS: Changing field property and usage of BAdI HRXSS_PER_BEGDA.

Also, please note that if a record is created/modified on ESS, the same will be reflected on PA20/PA30.
By the same logic, if it is created/modified by PA30, the change will be seen on ESS as well.

In case you've opened ESS and no record is available even though the employee has valid records, please check KBA 3137509 - IT0210 record is missing on ESS for State or Federal.


Changing the fields' behavior on ESS

By the maintenance of view V_T588MFPROPC for IT0210, the user can elect whether a field on the given form will be Required, Unused or Output (grayed out).

This can be accomplished by maintaining the mentioned view as following:

As an example, if you change the field Additional Exemption Amount (ADEXA) from "Required Entry" to "Output", this will impact the form as shown below:

Note that the field is grayed out, which means that it cannot be edited by the user.

Similarly, the fields can be hidden (by tagging the "Unused" checkbox) or set as required (by tagging the "Required Entry" checkbox).

Additionally, the labels of the fields can also be customized. For example, it's possible to change the label of the field "Total credits for dependents" to "Total Credits".

In order to accomplish that, it is necessary to customize the wished HR Attribute. Further instructions on how this can be done can be found on the point "Changes in ESS (Employee Self Service)" of note 2891794 - 2020 State Withholding Tax Calculation - Based on the State (or State-equivalent) Withholding Certificate (EA-HR) - Phase I.



500 Internal Server Error / 500 SAP Internal Server Error

This kind of error is really common on ESS scenarios.
Nevertheless, it's kind generic and it's hard to localize its root cause without some analyzes.

In order to help on that, you can change the server parameter "is/HTTP/show_detailed_errors" to "TRUE" in transaction RZ11, as per the instructions of note 2691984 - 500 Internal Server Error in Web Dynpro ABAP applications.

This will give us further details of the issue, and we can proceed the analyzes debugging the case.



Initially, the error is shown as follow:

Once the instructions of note 2691984 had been followed, the error will be raised with the same exact steps, but it will be showed as below:


In case this hard error is coming just from opening the employee form, mostly likely the issue should be related to view V_T7XSSPERSUBTY.
That's because as from SAP Note 2868576 (W-4 ESS - Allowing the configuration of begin date in standard ESS), all the entries on this view for IT0210 should be set with the checkbox "Validity period for data can be set" enabled.
If that's not accomplished, the error may be triggered.



Debugging ESS scenarios

It is important to mention that while debugging ESS scenarios, External Breakpoints should be set on the code instead of Session Breakpoints.

One good start is the UI class of IT0210: CL_HRPA_UI_CONVERT_0210_US.
This class is responsible to handle IT0210 on the HR Renewal.

Imagine a scenario where on PA20/PA30 the employee is set with the marital status of the federal record as Single (1), and while checking this same record on ESS, the marital status is showed as Married filling separately (3). A good start for the analyzes of this case would be method IF_HRPA_UI_CONVERT_STANDARD~OUTPUT_CONVERSION of class CL_HRPA_UI_CONVERT_0210_US, as this method is responsible for the conversion of infotype structure to screen structure.

So that, an External Breakpoint could be set on this method, then you go to SE80 and open the ESS. The system should stop on the given method, and you can start the analyzes of the case.




The ESS HR Renewal is certainly a powerful tool that can help a lot while ensuring that the employees have their W4/W5 Withholding Form filled as per IRS guideline. By this blog post, I’m hoping I could assist you with an overview regarding this functionality, as well as useful tips for troubleshooting.

I do appreciate your access on this blog post and I’m happy to have you here. In case you have further questions on the discussion topic, please post it here and I’ll get back to you.