Siebel Connector for SAP R/3 > Troubleshooting >

SAP Configuration Problems


Use the following tips to troubleshoot SAP configuration problems.

Problem: When sending IDOCs from SAP-to-Siebel, no communication IDOCs are sent. You may see the message in SAP "No communication IDOCs have been selected".

Solution: Verify that you have added your IDOC message type to the Distribution Model under SAP transaction SALE as defined in Distributing Logical Systems.

Problem: When sending IDOCs from SAP to the Siebel application, no IDOCs are being received by the Siebel tRFC BAPI Receiver.

Solution: Check the following:

  1. Verify that your tRFC BAPI Receiver is connected with SAP Transaction SM59. Select the TCP/IP RFC destination you created in Installing and Configuring the SAP Connector and select the Test Connection button. If this test connection errors, check your saprfc.ini file "TYPE=R" entry against information for your TCP/IP RFC destination. In particular, verify that the program ID in the saprfc.ini file matches the program ID name in the RFC destination.
  2. Once you have verified that your receiver is connected with SM59, go to SAP Transaction WE02 or WE05 and verify that the IDOC has been created and there are no errors in its transmission. You may find one of the following conditions:
    1. Errors in the status record - specific application errors may have occurred. These would need to be corrected within SAP. The IDOC would need to be deleted or resent. BD87 can be used for manual resend.
    2. IDOC with status 30: Idoc ready for dispatch - Partner profile has been defined to collect IDOCs. A background job (RSEOUT00) needs to be scheduled to send IDOCs or they can be sent manually by transaction WE14 or BD87. If the IDOC is supposed to be sent immediately, the partner profile must be changed to indicate this processing.
    3. IDOC with status 29: Error in ALE service - Your Partner Profile may be missing an outbound parameter record for your message type.
    4. IDOC with status 03: Data passed to port OK - It appears to be OK, but there may still be a problem. Execute program RBDMOIND (BD75). This program updates the status of IDOCs that were successful to 12: Dispatch OK. If there was a problem the status remains 03. If status remains 03, check the tRFC queue for entries and reprocess from there (see below).
  3. If you do not see any errors at the IDOC layer, check the tRFC layer. Go to SAP transaction SM58 and look for entries here. Entries can exist here for the following reasons:
    1. A network problem occurred or the receiver was not connected at the time the IDOC was sent. These transactions can be resent.
    2. The transaction may be waiting to be processed or may be currently in process. These entries are removed from the tRFC queue when their processing is complete.
    3. Depending upon the load, some transactions may time out. These can be resent.
    4. A termination in processing occurred. This can happen when the data cannot be saved in the Siebel application. If your receiver is executing without using the EAI Queue, this can indicate that a problem in workflow occurred. If you are using the EAI Queue these errors occur only if the insert of the data to the EAI Queue failed. Check with your database administrator to determine if a problem has arisen. These transactions can be resent.
    5. There are three ways to resend transactions from the tRFC queue:

    6. Manually using SM58 - a specific transaction may be selected and resent with Edit->Execute LUW
    7. Through a scheduled background job. This is the preferred method. You can schedule RSARFCCP to resend all failed tRFC calls for a given logical system or RSARFCEX to selectively resend failed tRFC calls. To do this you need to turn off the automatic resend of transactions, as described in the next step.
    8. Automatically through background processes - initially this is the default setting for RFC Destinations. This is not recommended if the IDOC load is expected to be heavy. The resend is done with background processes and depending upon your configuration can tie up all your background processes and cause a very slow resend of IDOCs to the Siebel application.

      The automatic resend is configured under SM59 by making changes to your RFC destination. The RFC Destination can be assigned tRFC parameters consisting of three values (This is done through the tRFC Options selection in the Destination menu under sm59). These options are:
    9. i Suppress background job if connection error
      If this flag is set to X and a connection error occurs there is no automatic resubmittal of the transaction to the external application. If it is not set, jobs are automatically created according to the following two parameters.

      NOTE:  This flag should be set and resubmission of failed tRFC transactions should be handled through scheduled background jobs.

      ii Connection attempts up to task
      This specifies the total number of attempts SAP makes to resend this transaction.

      iii Time between 2 tries [mins]
      This specifies the number of minutes between each attempt to resend the transaction.

      For example, if a transaction were sent to an external system that did not exist or was not available at the time the transaction was sent, a batch job would be scheduled to resubmit the transaction at a later time. If the value for (ii) is 5 and the value for (iii) is 10 then the job would be scheduled to run every 10 minutes up to 5 times. At the end of this time the transaction would have to be manually restarted from the tRFC queue (or a batch job to execute it would have to be set up manually).

      If these values are not set for the specific RFC Destination, the default values for (ii) and (iii) are typically 30 and 15 respectively. This means that the default behavior for a failed job (due to connection or time out problems) is to reschedule itself to run every 15 minutes for up to 30 attempts.

      You can see the time the batch job is rescheduled to run in sm58. This is the time column on each transaction line. This time is first set to the original submission time of the transaction. If the transaction is scheduled as a background job, this time is updated to be the start time for that job. To see more information about the scheduled job, select a transaction line and choose Information >Display Planned Jobs from the menu.

      Remember that the timing values for retry of a transaction determine only when the batch jobs are scheduled to run. A scheduled batch job may not run at the scheduled time, but may run later than this, depending upon the load in SAP and parameters set on the type of job submitted. This can create a very slow transfer of information out of SAP, causing IDOCs to appear in the Siebel application, possibly many hours after they were first created. It is more efficient to schedule your own jobs for the resend of failed transactions.

Problem: IDOCs you are sending into SAP from the Siebel application are not being processed.

Solution: There may be many reasons. Start by looking for the IDOC in SAP using transaction WE02 or WE05.

  1. If the IDOC is not there, the problem may be that you have not set the Sender Partner Number for the IDOC. This is set with the SAPSenderPtnrNum component parameter or method argument.
  2. If the IDOC is there, check the status record for error information.
    1. Status of 64: IDOC ready to be passed to application. If you expected the IDOC to be processed immediately, check your Partner Profile to see that you have selected this type of processing. If you do not want to process immediately, you can create a background job to process the IDOC into the application layer. You can schedule RBDAPP01 to process the IDOC. Transaction BD87 can be used to manually process these.
    2. NOTE:  If you expect a large quantity of incoming IDOCs, consider setting the processing type in the partner profile to collect IDOCs, rather than process them immediately. Immediate processing can tie up dialog processes and slow down your performance. Alternatively, you can also use the EAI Queue to control the flow of IDOCs to SAP. Set SAPWriteXML to "WriteOnly" and the EAI SAP Send Transaction service user property SAPWaitTime to slow the flow of IDOCs to SAP so that SAP is not flooded.

    3. Status of 51: Application Document not posted. This means that errors occurred when the IDOC was being processed in the application layer. This is normally a data problem. Examine the error message for information. Data can be corrected.

NOTE:  The SAP workflow should be configured to send erred IDOCs to an SAP Inbox for processing. This can greatly aid in the debugging process when data errors occur.


 Siebel Connector for SAP R/3 
 Published: 22 August 2003