SAP Knowledge Base Article - Public

2446401 - Payment Information: Application Error when trying to save data for all users - 85ca1230c1c966ee9ac7859386d293f54d080148

Symptom

When trying to save any data to Payment Information portlet "An Application Error" occurs -:

Error.jpg

Environment

Employee Central - Payment Information

Reproducing the Issue

You will see the following fingerprint id in the error pop-up - fingerprint=85ca1230c1c966ee9ac7859386d293f54d080148

Cause

The root cause can be a few different things -:

  1. Due to Data/Configuration issue. The system is trying to query the Country object value defined on the PaymentMethodAssignmentV3 object. When it queries the list of Countries, it encounters a NULL (blank) value
  2. There is a PaymentMethod created in the system that has no Country defined under "Payment Method Assignment"
  3. There is a PaymentMethod with empty rows under the Payment Method Assignment

Resolution

The root cause could be due to either missing configuration value or missing data in the object.

Places to check -:

Payment Method object data (PAY-1449)

Payment Method objects have "Payment Method Assignment" association, which is associated with the "Country" object. As the association is present and must be used in the configuration, you cannot leave this blank, so in short, you need to assign at least 1 Country to each Payment Method.

Also, you may have some empty rows of data for this which will cause the error also

  • Export the Payment Method object (including associated objects - as Payment Method Assignment is a child composite object) and check the data here also

PaymentMethodAssignmentBlank.jpg

To observe this issue below in the screen shot, you must be in edit mode. So when you open the payment method, click take action > make correction and then observe the issue

Please check through all of the payment methods for this issue

2018-05-25_13-15-12.png

Country object (PAY-1424)

Incorrect Object Configuration

  • You need to ensure that the Country object has all values correctly defined for its configuration. Do check compared to Demo instance and validate the values are correct - also "Google" to check values if needed.
    • Country Code (3 char)
    • Effective as of (01/01/1900)
    • Country Code (2 char)
    • Country Code (numeric-3)
    • Currency

If one of the above values (such as "Country Code (numeric-3)" ) this can cause the exception. ALL Countries must have all these values correctly set. If 1 Country is missing a value in any of these fields - it could result in the NullPointerException we see in the log. For example, wrong 3 digit ISO code -:

3digitISOcodeError.jpg

 

Country object is Secured

If the Country object has been secured, then unless the end user has been permissioned with "View" access to this object, the UI will not be able to get a result from the object. That will lead to a NullPointerException also. The expectation in system design is that you should not Secure the Country object. If this is for some reason, required, then ALL users must be granted with "View" permission for all UI's calling "Country" to work (and in EC, thats most UIs).

CountrySecured.jpg

Keywords

PaymentMethodAssignmentV3.getCountry(), NullPointerException, com.successfactors.genericobject.bean.businessobjects.Country.getCode(), Payment Information, Employee Central, 85ca1230c1c966ee9ac7859386d293f54d080148, fingerprint=85ca1230c1c966ee9ac7859386d293f54d080148 , KBA , LOD-SF-EC-PAY , Payment Information (Bank Information) , Problem

Product

SAP SuccessFactors HCM Core all versions