Skip to Content
author's profile photo Former Member
Former Member

IDOCS and RFC question

I have a question about RFC mechanism in SAP R/3. I created an RFC and using this RFC destination I created a port for IDOC processing, and partner profiles. These IDOCs will be delivered to a third party sub-system SUN's Identitiy Manager. Sometimes these IDOCs show status 3 ( delivered to the port) and in SM58 they show in the queue with error "cannot register the RFC program on target system" something like that. When the adapter on the sub-system is started this queue will be cleared.

My question is whether the IDOCs are being pushed by SAP to the sub-system or the programs in the sub-system pull the IDOCs from SAP? When the sub-system is started sometimes the IDOCs that are created later are delivered and earlier IDOCs will be still in the queue.

How the RFC works? Is it works on UDP protocol?

Is there any status flag for IDOCs to indicate that they have been processed in SAP? Whether SAP sends only the processed IDOCs to the target system?

Please help.

Thanks in advance

Add a comment
10|10000 characters needed characters exceeded

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Sep 07, 2007 at 04:10 PM

    RFC works on protocal called RFC protocol , comming to error "program not registered" means while defining the RFC destination we specify a register program ( it comes under TCP/IP connections in SM59) that program must be running somewhere, examples like services in windows. then That RFC will be successful

    Regards

    sunny

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      I know it comes under TCP/IP connections. But inherently I believe the RFC works on UDP. Because, when we create RFC we do not specify the target server name, we only specify the registered program name. There should be route discovery mechanism to find where the program is running.

  • author's profile photo Former Member
    Former Member
    Posted on Sep 14, 2007 at 04:05 PM

    Sam,

    When a RFC destination is based on a registered program, it means that the external program has to establish the connection to the SAP gateway. In the external application there will be some configuration describing the program name to use, the hostname of the SAP gateway, TCP port number, etc. Using this information the application can establish the connection to the SAP gateway. The "program name" in the RFC destination is used to identify the connection at the gateway.

    The IDOCs will be sent by the SAP system to the external application via the port configured in WE21. If the connection to the external application is available the IDOCS will be sent else they will wait. These waiting IDOCs can be processes in batch using program RBDAPP01.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Tarkesh,

      The program RBDAPP01 looks like for Inbound IDOCs. Is there a program for Outbound IDOCs? And how to monitor tRFC (SM58) ( programatically) for IDOCs not sent, so that it can send us an alert.

      Thanks

      sam

  • author's profile photo Former Member
    Former Member
    Posted on Sep 19, 2007 at 02:39 PM

    You are right we use RBDAPP01 for inbound processing. To process IDOCs that haven't been sent and are waiting as tRFCs in SM58, we use program RSARFCEX. You can also schedule this job periodically to send any waiting IDOCs. See note 161527 for information on running the program as a batch job.

    As for monitoring for waiting IDOCs, you can use CCMS monitoring. There is already a monitor for IDOC monitoring. Do the following to get to the monitor.

    1. Go to tcode RZ20.

    2. Expand node "SAP CCMS Monitors for Optional Components"

    3. Open monitor set "ALE/EDI" by double clicking on it.

    4. You will see client specific nodes. Expand the client you are interested in.

    5. Expand node "SAP: All/ 1 hour waited"

    6. Expand node "tRFC Queue SAP: All/ 1 hour waited"

    Also node "Outbound IDoc SAP: All/ 1 hour waited" has usefull monitoring attributes.

    If CCMS has already been configured for sending alerts, you can have alerts sent if the number of waiting IDOCs exceeds a certain value. To configure this choose the a node and click on the properties button.

    Please award points if helpful.

    Tarkesh

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.