SAP Knowledge Base Article - Public

2362710 - Blank Error when saving Payment Information

Symptom

Blank error message is received when saving Payment Information details.

"Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental."

Environment

  • SAP SuccessFactors Employee Central
  • Payment Information
  • People Profile (PP3)

Reproducing the Issue

  1. Navigate to employee's Payment Information portlet.
  2. Click on Edit to add Payment Information details.
    PaymentInfo_PP3.png
  3. Fill in required fields then click Save.
    PaymentInfo_PP3_2.png
  4. Blank error message is thrown by the system.
    BlankErrorMessage_PaymentInfo_PP3.png 

Cause

This error indicates that there are invalid rule slices and the system could not execute the rules as their associated message definitions are missing in the system.

Resolution

Identify the invalid rule slices then check if the message definitions associated to the rule are existing in the system. If missing, import the message definitions from Import and Export Data > SuccessStore.

How to identify the rule and message definition?

To identify the rule and the assiociated message definitions causing the issue:

  1. Right click outside the Payment Information window then select Inspect.
    Inspect_Response.png
  2. Go to Network tab then XHR.
    XHR.png
  3. Click Save.
    PaymentInfo_PP3_2.png
  4. Select configUiControllerProxy.save.dwr then go to Response tab.
    Chrome_DebugResponse.png

To easily determine the missing message definition, copy the contents of the response to Notepad or any text editor of your choice. Use messageDefinition as a search keyword.

Example of response is shown below:

throw 'allowScriptTagRemoting is false.';
//#DWR-INSERT
//#DWR-REPLY
var s0={};var s1=[];var s2={};
s1[0]="Rule \"check_Currency_PaymentInfoDetails\" execution failed with error \"Invalid rule slice: \'check_Currency_PaymentInfoDetails\' as of 1900-01-01 with body:rule(SystemContext(\"Context\") context,PaymentInformationDetailV3(\"Payment Information Detail\") PaymentInformationDetailV3) {\n  if(literal(PaymentInformationDetailV3.currency) == null && literal(PaymentInformationDetailV3.amount) != null) {\n    raiseMessage(severity:\"ERROR\",location:null,messageDefinition:\"currencyRequired\",parameterBindings: {});\n

We have now identified the rule and message definition that is causing the issue as check_Currency_PaymentInfoDetails and currencyRequired.

How to check if a message definition is already existing?

To check if the message definition already exists:

  1. Go to Admin Center > Manage Data
  2. Select Message Definitions from the first search dropdown and search for the name of the message definition on the second search dropdown.

If one exists, check the message definition externalCode whether it matches that of what is defined in the rule. If the externalCode does not match that of what has been defined in the rule, change the externalCode of the message definition accordingly.

In the example below, CURRENCY_REQ  exists but the message definition defined in the rule is currencyRequired. This would cause the issue making the rule invalid as it could not find the message definition associated to the rule.

MessageDefinition_CURRENCY_REQUIRED.png

check_currencyRule.png

If no relevant message definition exists, reimport the message definitions for the corresponding Payment Information configuration UI version through Admin Center > Import and Export Data > Success Store.

ImportMessageDefinitionSuccessStore.png

Keywords

Payment Information, invalid rule slice, message definition, blank error , KBA , LOD-SF-EC-PAY , Payment Information (Bank Information) , Problem

Product

SAP SuccessFactors HCM Core all versions