Troubleshooting

Objectives

After completing this lesson, you will be able to:

  • Locate and solve common errors

Troubleshooting

The better integration projects are planned and the better each involved system is configured, the fewer issues you will get while the integration is running productively. However, especially during the integration setup phase, when testing new configurations, and so on, you may face errors and it's key to analyze them in a structured way, find the root cause, and solve them reliably and permanently.

No matter, if the trigger of an investigation is a missing object that was supposed to be in one of the systems, an error message that a user receives, or an error entry in one of the monitoring tools, monitoring across all systems is an elementary part of troubleshooting. The message monitors are typically the starting point for any investigation. In which system the investigation starts depends on the issue.

Error messages can be roughly categorized into the following categories. Some of the systems also use these categories in their monitoring tools:

  • System Errors
  • Connectivity Errors
  • Application Errors

Let's have a closer look at some common errors, their root causes, and how to fix them.

System Errors

System errors indicate that a message cannot be processed due to technical reasons. These errors can occur in all involved systems. Typical root causes include the following:

  • Parsing errors due to invalid content: Imagine the sender system sends an XML message while the receiver system expects JSON.
  • Malformed messages: For instance, XML messages that violate the schema definition (XSD), such as an indicator that is sent as "true" where a "1" is expected and the field is defined with a max length of a single character/digit.
  • Authorization: Insufficient access rights of the technical user that is used to authenticate against the target system. This is most likely to happen in the on-premise systems and would be indicated with an "HTTP 403 Forbidden" error. In cloud systems, authorizations of the integration user are typically adapted automatically based on the maintained communication arrangement.

If a message cannot be processed due to technical reasons, you will find the error message in the processing system.

Errors during the processing in Cloud Integration usually also show up in the sender system, because Cloud Integration informs the sending system about the error. However, the actual processing details can only be found inside Cloud Integration. A typical error message in Cloud Integration will start with: "An internal error occurred. For details check MLP ID ..."

Connectivity Errors

Connectivity errors are actually a special case of system errors with the special characteristic that messages are not delivered to the next system on the network layer. The root cause can be in the sender or receiver system, or even between them caused by a network component, such as firewalls, proxy servers, and so on.

Apart from those general network-related issues, typical root causes can also be as follows:

  • Wrongly maintained hostnames, ports, or paths in the configuration of the sending system. For incorrect maintained paths, HTTP 404 Not Found is a typical error message.

    In such cases, the connection parameters need to be adapted in the sending system.

  • TLS/SSL issues due to missing certificates/trust relationships including expired validity periods. This is often indicated by the keyword ICM_HTTP_SSL_ERROR inside the error description.

    The root cause for such issues can be located in both the source and the target system. It's often related to the expired validity period of certificates or missing certificates in the trust chain.

  • Invalid credentials or locked integration users after too many invalid logon attempts.

    A typo in the password or the wrong certificate chosen can lead to authentication issues. Receiving an HTTP 401 Unauthorized error in the source system would be an indicator for such an issue. This can also lead to locked users, after too many attempts. Locked users need to be unlocked in the target system. Changing passwords or renewing certificates can affect both systems.

If a message cannot reach the target system, you will find an error message in the sending system. In some cases, you may see authentication-related errors also in the target system log, the final proof for that is a locked user in the target system.

The following video demonstrates how to identify and solve different connectivity issues using the program RCOD_CHECK_E2E_CONNECTIVITY.

Errors seen in the video:

  1. HTTP 404 (Not Found) due to the wrong URL access path maintained in the program.
  2. HTTP 401 (Unauthorized) when SAP S/4HANA connects to Cloud Integration due to an incorrect password maintained.
  3. HTTP 401 (Unauthorized) when Cloud Integration connects to SAP Sales and Service Cloud due to an incorrect password maintained.

Application Errors

The root cause for application errors often lies in the functional configuration of one of the systems and often indicates that data is missing or has been transmitted unintended. The most prominent examples on the SAP Sales and Service Cloud side are as follows:

  • Code List Mapping: "Solve Configuration Issue in Code List Mapping for …" is the error message that is shown in such a case. It can have the following root causes and solutions:
    • A code list mapping entry is missing or not set up correctly. Hence, it needs to be added or adapted.
    • Another case could be that the field that causes the error is not needed or used in the receiver system. In this case, the sender system or the middleware should be configured to omit the field or the value.
  • ID Mapping: "Solve Configuration Issue in ID Mapping for …" is the error message that is shown in such a case. ID mapping errors are most likely to happen during initial load, when an object is replicated that references other objects (for instance, a product that references sales organizations). If the referenced objects are missing or are not properly maintained in the target system, the replication message cannot be processed. Typical cases are:
    • The referenced object does not yet exist in SAP Sales and Service Cloud. A reason for that can be that the referenced object is supposed to be replicated, but it has not been received yet or the respective message has been received, but runs into an error during processing. In such cases, it is important to find out why the referenced objects are missing, or if the reference might not be needed in the target system and hence, must be omitted during the replication.
    • The referenced object is available in SAP Sales and Service Cloud, for instance, because it has been created manually. However, the mapping entry (internal ID to external ID) is missing. The reference to such objects is usually based on the external ID. As long as the external ID is not maintained, processing the message will not work. In such a case, the ID Mappings can simply be maintained manually.

The following video demonstrates how missing ID mappings and wrong code list mappings can cause application errors while processing a product replication message and how they are fixed.

Errors seen in the video:

  1. ID Mapping error for a sales organization that has been created locally
  2. Code List Mapping error for a distribution channel code

Summary

For some errors, the root cause might be fixable in the target system and the processing of the message can simply be restarted without sending the message again from the source system. Code List and ID Mapping errors can sometimes be fixed that way.

Other errors must be solved in the source system and the message needs to be sent again. This is usually the case for connectivity errors and quite typical for system errors.

However, some errors cannot be fixed sustainably on a purely technical basis. Especially for application errors, it might be necessary to analyze them from a functional perspective to find the correct solution. For instance, when replicating business partners from SAP S/4HANA, when processing fails due to missing business partner roles. The technical solution would be to maintain them in SAP Sales and Service Cloud and/or make sure that code list mapping matches. However, the better solution is to discuss which business partner roles are really necessary for SAP Sales and Service Cloud, which is a functional decision, and then take measures to omit unnecessary roles from being sent.

Note
Error solving is not a purely technical task. Some errors need functional alignment for a good solution!

Log in to track your progress & complete quizzes