Category: Error Messages

Message in status Message recorded (commit missing)

Message in status Message recorded (commit missing)

Scenario

You created a test message with the testing tool in transaction SPROXY to test an asynchronous interface out of your ERP system. Afterwards you checked transaction “SXMB_MONI” or “SXI_MONITOR” for the test message.

Error

The message has a white flag and shows the following error:

Message in status Message recorded (commit missing)

sxi_monitor: Messages in status commit
sxi_monitor: Messages in status commit

Solution

Asynchronous message are recorded until the work is committed. Go back to the “Test Service Consumer” view of transaction “SPROXY” and click on Extras – > Trigger COMMIT WORK.

Trigger Commit Work in Proxy Test Tool
Trigger Commit Work in Proxy Test Tool

The message should be sent to the receiving system now. If you call your proxy out of some ABAP code, make sure you do not forget to add a commit statement.

Peer certificate rejected by ChainVerifier

Peer certificate rejected by ChainVerifier

Scenario

In a scenario with a SSL encrypted (HTTPS) SOAP target URL in the SOAP receiver channel, the message goes into an error state.

Error

The following error is shown in Message Log in PIMON:

SOAP: Call failed: java.io.IOException: Failed to get the input stream from socket: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier

Solution

The SSL certificate needs to be imported into PIs keystore.

Download the certificate from the target server
  1. Open the Target URL in Chrome (or any other Browser)
  2. Open the developer tools by clicking on the three dots -> More Tools -> Developer Tools (Shortcut STRG + SHIFT + I)

    Chrome: Open developer tools
    Chrome: Open developer tools
  3. Go to the “Security” Tab and click on “View certificate”
  4. Go to the Details Tab and click on “Copy to file” button
  5. Click on the “Next” button and select “DER-codet-binary X.509 (.CER)”

    Download Certificate
    Download Certificate
  6. Click on “Next” button and select a destination on you local PC
Import certificate into keystore
  1. Open the Netweaver Administrator (http://your.pi:port/nwa)
  2. Go to Configuration -> Security -> Certificates and Keys
  3. Select the “Trusted CAs” View and click on “Import Entry”
  4. Select entry type “X.509 Certificate”, enter the path to the certificate you downloaded before and click on “Import”

    Certificates and Keys: Import entry
    Certificates and Keys: Import entry
  5. Resend your message

If your error is not resolved, open the certificate again and click on certification path. Afterwards, double click the first and second certificate (one after each other), save them and also import them into the TrustedCAx view.

Find complete BPMN error traces

Find complete BPMN error traces

Scenario

During the development of a BPMN on SAP Process Orchestration you will probably arrive at a point where your Process does not work as expected. One way to find the issue is to check the traces in the Log Viewer, to find out more about the error.

Find the traces in the Log Viewer

  1. Triggered the BPMN to run again
  2. To check the BPM Status open PIMON (http://your.po:port/pimon)
  3. Go to Monitoring -> Processes and Tasks -> Manage Process
  4. Open the “History” Tab and select “Show: Advanced”. You can find the Log ID in the log entries below.
    Manage Processes: Find Log Id
    Manage Processes: Find Log Id

    If the following message is shown:

    For more details, decrease severity of log controller as described in SAP Note 1753560.

    Please check the section Increase BPMN Trace level and afterwards start again with step 1.

  5. Open  the NetWeaver Administrator (http://your.po:port/nwa)
  6. Got to Troubleshooting -> Logs and Traces -> Log Viewer
  7. Open View -> Open View -> System Logs and Traces

    Open "System Logs and Traces" view in Log Viewer
    Open “System Logs and Traces” view in Log Viewer
  8. Add a filter for Log ID and enter the Log ID out of the “Manage Processes” View

    NWA Log Viewer: Filter for LogId
    NWA Log Viewer: Filter for Log ID
  9. You can find the whole error trace in the filtered results.

Increase BPMN trace level

To increase the BPMN trace level follow the steps below:

  1. Open  the NetWeaver Administrator (http://your.po:port/nwa)
  2. Go to Configuration -> Infrastructure -> Log Configuration
  3. Select “Show: Tracing Locations”
  4. Click on “Open Filter” and filter for Location “BPMNException”
  5. Change Severity for location “ExceptionAdapter$BPMNException” to “ALL”

    NWA Log Configuration: Increase Severity for ExceptionAdapter$BPMNException
    NWA Log Configuration: Increase Severity for ExceptionAdapter$BPMNException
  6. Click on “Save Configuration” and trigger your BPMN again

Also, check out SAP Note 1753560.

Error during BPMN deployment

Error during BPMN deployment

Scenario

Developing and debugging a BPMN can be a nightmare. The build and redeployment of a BPMN can take up to five minutes and lead to multiple errors.

After multiple successful deployments, it was no longer possible to deploy or undeploy a process.

Error

The following error message was shown in the deployment log of SAP NetWeaver Developer Studio:

Description: Description: 1. Adapter com.sap.glx.adapter.internal.Transformer has refused deploy unit e5853c8198e860817e261ae672f4bfc4 using configuration mode DEPLOYMENT

-> Transformer could not get lock within 60 seconds

Solution

Restart the Galaxy Core Service to fix the issue. This can be done like this:

  1. Open the NetWeaver Administrator (http://your.pi:port/nwa)
  2. Go to Operations -> Systems -> Start & Stop -> Java Services
  3. Search for Name “Galaxy Core Service”
  4. Select your Instance and click on Restart
  5. Wait some seconds and  try to deploy your service again
NWA: Restart Galaxy Core Service
NWA: Restart Galaxy Core Service
Forbidden Error in XI Receiver Channel

Forbidden Error in XI Receiver Channel

Scenario

In a configuration with an SAP R3 system as receiver, which is connected via a XI Receiver Channel, the message cannot be delivered to the target system.

Error

The following message is shown in the Message Log of PIMON:

SOAP: Error occurred: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: HTTP Error response for SOAP request or invalid content-type.; HTTP 403 Forbidden

Exception caught by adapter framework: java.io.IOException: HTTP Error response for SOAP request or invalid content-type.; HTTP 403 Forbidden

Transmitting the message to endpoint <local> using connection JPR failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: HTTP Error response for SOAP request or invalid content-type.; HTTP 403 Forbidden

Solution

Activate the Integration Engine Service on your target system:

  1. Open SAP GUI and connect to your target system
  2. Open transaction “SICF”
  3. Enter “/sap/xi/engine” as “Service Path” and click execute

    Transaction SCIF: Service Path /sap/xi/engine
    Transaction SCIF: Service Path /sap/xi/engine
  4. Right click on “Integration Engine (SAP XI Message Format)” and select “Activate Service”

    Transaction SCIF: Activate Integration Engine Service
    Transaction SCIF: Activate Integration Engine Service
  5. Restart your message
  6. If it still does not work, check that the used user has the role “SAP_XI_APPL_SERV_USER”
IDOC_ERROR_PARSE_FAILURE: Namespace in IDOCs

IDOC_ERROR_PARSE_FAILURE: Namespace in IDOCs

Scenario:

In a SOAP to IDOC scenario with a XSLT mapping, the receiving IDOC Communication Channel produced an error message.

Error:

The following error message is shown in the Message Log:

Error before sending due to idoc parsing error: (7) IDOC_ERROR_PARSE_FAILURE: Invalid XML 1.0 character encountered within IDoc-XML for type <ORDERS05>:
state=EXPECTING_IMMEDIATE_TAG_END, charPosition=64, lineNumber=1, columnNumber=65, invalidChar=U+0078,
sourceSnippet=…UTF-8″ standalone=”no”?><ORDERS05 xmlns:a=”http://example.namespace.com/order”><IDOC BEGIN=”1″><EDI_DC40 SEGMENT=”1…
—————————————————^

Error Message in PIMON Message Monitor
Error Message in PIMON Message Monitor

Solution:

Namespaces are not allowed in IDOCs. You can add the exclude-result-prefixes parameter to your stylesheet definition to make sure that the given namespaces are not added to the target document.

<ns0:stylesheet version="1.0" xmlns:a="http://example.namespace.com/order" xmlns:ns0="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="a">

Multiple namespaces can be added by using a white space as separator:

<ns0:stylesheet version="1.0" xmlns:a="http://example.namespace.com/order" xmlns:ns0="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="a b c">
Commit fault: ASJ.ejb.005043 (Failed in component: sap.com/com.sap.aii.ad)

Commit fault: ASJ.ejb.005043 (Failed in component: sap.com/com.sap.aii.ad)

Scenario

Simple ERP to PI communication via IDOC.

Error

The IDOC is not send out to PI and the following error message is shown in transaction SM58 on ERP system:

Commit fault: ASJ.ejb.005043 (Failed in component: sap.com/com.sap.aii.ad)

Error in SM58
Error in SM58

Solution

To find out why the IDOC cannot be send to our PO system we will check the channel monitoring of the IDOC sender communication channel first. If there is no error in the channel monitor, we have to do dive deeper into the system, by using the XPI Inspector:

  1. Open the XPI Inspector on your SAP PO system.

    http://po.host.name/xpi_inspector

  2. Select Example “50 (XI Channel)” and add your IDOC sender communication channel by searching for the channel name, checking the checkbox and clicking the “Add selected” button.

    XPI Inspector configuration page
    XPI Inspector configuration page
  3. It is best to stop the XPI inspector as soon as possible. Otherwise, you have to look through thousands of log entries. Therefore, open SM58 and search for you message to be prepared to resend the IDOC (Edit -> Execute LUW (F6)).
  4. Hit the “Start” button in XPI inspector and wait till the start page is loaded.
  5. Resend the IDOC (Edit -> Execute LUW (F6)) in SM58.
  6. Click the “Stop” button in XPI inspector and wait for the result page to show up.
  7. Click on the number in the “Records Count” column of the Server Nodes table. If you have multiple Server Nodes, you have to go through all of them.

    XPI Inspector result page
    XPI Inspector result page
  8. Search for a log entry with your IDOC (you can use the browser search CTRL+F and search for your IDocNumber, MessageType or anything else)
    Client = 001
    CreationDate = 20170615
    CreationTime = 171650
    Direction = 1
    EDIMessage =
    EDIMessageGroup =
    EDIMessageType =
    EDIStandardFlag =
    EDIStandardVersion =
    EDITransmissionFile =
    ExpressFlag =
    IDocNumber = 0000000052812406
    IDocSAPRelease = 750
    IDocCompoundType = null
    IDocType = DELVRY07
    IDocTypeExtension =
    MessageCode =
    MessageFunction =
    MessageType = Z_DELV_IT
    OutputMode = 2
    SenderAddress =
    SenderLogicalAddress =
    SenderPartnerFunction =
    SenderPartnerNumber = A22001
    SenderPartnerType = LS
    SenderPort = SAPA22
    Serialization = 20170615171650
    RecipientAddress =
    RecipientLogicalAddress =
    RecipientPartnerFunction =
    RecipientPartnerNumber = RECPPRN
    RecipientPartnerType = LS
    RecipientPort = A000000003
    Status = 30
    TestFlag =
    ROOT (Type: ROOT)
    !
    +-- E2EDL20004 (Type: E1EDL20)
    !
    +-- E2EDL22001 (Type: E1EDL22)
    !
    +-- E2EDL21 (Type: E1EDL21)
    ! !
    ! +-- E2EDL23 (Type: E1EDL23)
  9. Some lines below you should find a line with a red or yellow background with your error
    Warning in XPI Inspector
    Warning in XPI Inspector
    [EXCEPTION]
    com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=A22_001;TS=;AN=Z_DELV_IT.DELVRY07;ANS=urn:sap-com:document:sap:idoc:messages;
    at com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.getInboundBinding(CommonLookup.java:211)
    at com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.getInboundBinding(CommonLookup.java:175)
    at com.sap.aii.af.service.cpa.InboundRuntimeLookup.(InboundRuntimeLookup.java:88)
    at com.sap.aii.af.service.cpa.impl.lookup.AbstractLookupManager.getBinding(AbstractLookupManager.java:597)
    at com.sap.aii.af.idoc.inbound.IDocInboundProcessor.findBindingAndChannel(IDocInboundProcessor.java:792)
    at com.sap.aii.af.idoc.inbound.IDocInboundProcessor.initForIDocListProcessing(IDocInboundProcessor.java:998)
    at com.sap.aii.af.idoc.inbound.IDocInboundProcessor.process(IDocInboundProcessor.java:146)
    at com.sap.aii.af.idoc.inbound.IDocReceiverBean.onCommit(IDocReceiverBean.java:127)
    at sun.reflect.GeneratedMethodAccessor1393.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MessageListenerType.invoke(Interceptors_MessageListenerType.java:86)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Lock.invoke(Interceptors_Lock.java:21)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:172)
    at com.sap.engine.services.ejb3.runtime.impl.MDBProxyInvocationHandler.invoke(MDBProxyInvocationHandler.java:142)
    at com.sun.proxy.$Proxy3278.onCommit(Unknown Source)
    at com.sap.mw.jco.jra.JRA$ReaderThread.commit(JRA.java:8639)
    at com.sap.conn.jco.rt.DefaultServerWorker.onCommit(DefaultServerWorker.java:209)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:3008)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2875)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2674)
    at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:275)
    at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:356)
    at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:232)
    at com.sap.mw.jco.jra.JRA$ReaderThread.run(JRA.java:8947)
    at com.sap.engine.services.connector.jca15.work.TaskImpl.run(TaskImpl.java:245)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)

The error message

Couldn’t retrieve inbound binding for the given P/S/A values:

probably means that your ICO is not configured correctly. Check that you selected the right IDOC and sending system. Maybe you forgot to transport the configuration? Also, it could be a cache refresh problem. You can edit the description, save the configuration and activate it again to refresh the cache.

Reset CAE Status for Argentina Invoices (AFIP)

Reset CAE Status for Argentina Invoices (AFIP)

Scenario

During the integration of the synchronous AFIP webservice for Argentina invoices via  SAP PI / PO, I did some End-to-End tests and struggled with multiple errors on PI side. Unfortunately, sometimes it was impossible to do a new test because one invoice was no longer in a send able state.

These are the possible states:

CAE Status Description
I Sent to AFIP
A Approved
P Approved with Reservations
R Rejected
N New Document
C Contingency
E Validation Error
O Observations

Error

The following error message is shown when clicking on “Send to AFIP” button in SAP ERP transaction “J1AEXPMONITOR”:

Another document is already in process

Solution

  1. Goto transaction SE16
  2. Insert table name “J_1ACAE” and click on the “Table contents” button
  3. Insert some filters into the mask (optional) and click on the “Execute” button

    Data Browser: J_1ACAE Selection Screen
    Enter filter values and execute
  4. Select line where you would like to change the CAE status and click on the “Change” button

    Data Browser: Table J_1ACAE
    Select one table entry of table “J_1ACAE” to edit
  5. Remove the “X” in field “RFC SENT LOCK” and click on “Save” button

    Change CAE STATUS for table entry
    Change CAE STATUS for table entry
  6. Leave the data browser to unlock the table
  7. Try to resend the message in transaction “J1AEXPMONITOR”
Reset RFC Sent Lock for Argentina Invoices (AFIP)

Reset RFC Sent Lock for Argentina Invoices (AFIP)

Scenario

During the integration of the synchronous AFIP webservice for Argentina invoices via  SAP PI / PO, I did some End-to-End tests and struggled with multiple errors on PI side. Unfortunately, after every test I had to create a new invoice in ERP system, because the invoice was marked as already sent.

As creating a new invoice for every test takes time, I looked for a way to reset the send status of existing invoices.

Error

The following error message was shown when clicking on “Send to AFIP” button in SAP ERP transaction “J1AEXPMONITOR”:

Document is in process

Solution

  1. Goto transaction SE16
  2. Insert table name “J_1ACAE” and click on the “Table contents” button
  3. Insert some filters into the mask (optional) and click on the “Execute” button

    Data Browser: J_1ACAE Selection Screen
    Enter filter values and execute
  4. Select one line and click on the “Change” button

    Data Browser: Table J_1ACAE
    Select one table entry of table “J_1ACAE” to edit
  5. Remove the “X” in field “RFC SENT LOCK” and click on “Save” button

    Remove RFC SENT LOCK for table entry
    Remove RFC SENT LOCK for table entry
  6. Leave the data browser to unlock the table
  7. Try to resend the message in transaction “J1AEXPMONITOR”
Error during MDN signature validation – email addresses do not match

Error during MDN signature validation – email addresses do not match

Scenario

PI AS2 Receiver channel to Mendelson AS2 Server with synchronous Message Delivery Notification (MDN) back to PI with signature validation.

Error

In the message protocol of the PI message monitor (PIMON) as well as in B2B Integration Cockpit (B2BIC) the following error is thrown:

MDN message signature cannot be validated. Error is “Email address in singer certificate does not match the sender address. Signer email: [email1@email.com]. Sender email: [email2@email.com]..

Solution

The email address provided in Mendelson AS2 is not equal with the email address which was provided during creation of the certificate. During the validation of the MDN signature PI compares both email address and throws the error. Either a new certificate has to be created or the email address in the Mendelson AS2 Partner configuration has to be adjusted.

Screenshot of Windows Certificate View - Details Tab
Windows Certificate View
Mendelson AS2 Partner Profile Configuration window
Mendelson AS2 Partner Profile Configuration