on 09-07-2007 3:53 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hey there,
in general, IDOCs are pushed never pulled. There are examples (BW) where the asking system sends an IDOC which makes the targetsystem sending information back. But usually they are pushed.
The error seems to indicated, that the external system is not available at that moment. Could it be that its busy in that moment?
Greez Oliver
if helpful.. reward..
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.