Disadvantage of  RFC Adapter

Hi,
Could u Please Tell me The  Disadvantage of  RFC Adapter ?
Regards & Thanks

HI RAMS,
One of the disadvantage of RFC adapter in SAP PI is that it sits on Java Engine of PI. So whenever you are suppose to call a RFC, the request goes via Java Engine to the relevant SAP R/3 which is trade off.
You can achieve a better performance by calling a RFC through an Inbound Proxy.
Thanks,
Varun

Similar Messages

  • Difference between RFC adapter and a proxy

    Can any one tell me the technical difference between RFC adapter and a proxy?
    reg

    There are advantages / disadvantages for RFC / Proxies / Idocs. So if I am in your position depending upon the requirement I will choose one. Some of the differences are:
    RFC and Proxy:
    RFC/BAPI has its own overhead of function call.
    Proxies communicate with the XI server by means of native SOAP calls over HTTP .RFC does not, so you have to convert from SOAP to RFC calls and vice versa. So XML conversion is required.
    ABAP Proxies uses Webservice and Http Protocols.
    If you use ABAP Proxy , you can reduce the overhead calling the function again and again.
    Proxy and Idoc:
    IDOC : After recieving the strucutred data It processes it using a Function Module associated with it.
    Proxy : Proxy is a structure where there is no processing function module associated. You need to explicitly write the Business Logic/Call the subroutines here
    This is my absolutely my view. Another guy has his own response. So first go through your requirements and then you can decide for what to go.
    Also go through this urls which may help you:
    /people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments
    RFC VS PROXY
    /people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
    Re: IDOC and RFC
    Re: Proxy Vs IDOC
    Thanks
    Rodrigo

  • FILE-RFC ADAPTER problem

    Hi all,
    I am trying file->xi->rfc adapter scenario.
    My scenario is employee information is written to flat file n  will be kept on ftp server.THe file adapter will pickup the file and sends it to rfc adapter through pipeline service.
    This is going well. The problem is the data is not being updated into receiving sap system.
    in SXMB_MONI transaction the messages are successully processed . But there are no messges in rfc adapter when i gone through idx5 transaction???
    Any one have idea??
    Thanks in advance.
    Rgds,
    Ram Sri

    sxmb_moni only shows the status of the integration engine's processing, not the result of what happened in the rfc call.  First, you can check if the adapter framework successfully passed the message to the destination system (not on moni, thru RWB)
    as far as did the rfc succeed - it's as difficult as always with internal processing.  We did a lot of testing by debugging modules on the destination side (manually putting in the data as the adapter would've to step thru & see where the message is "lost") - have not yet found a better way, sorry.  It's not so much a problem with XI, just in general the difficulty to debug rfc's

  • Receiver RFC adapter issue! Please help!

    Hi Experts,
       I have 4 XI interfaces. All of these are Webservice to RFC scenarios. Moreover all of them are synchronous.
      Request message: Webservice (SOAP Adapter) ---> XI -
    > RFc Adapter ---> ECC Function modules
      Response message: Webservice (SOAP Adapter) <- XI < RFc Adapter <- ECC Function modules
    As you can see above, external system calls XI web service via SOAP Adapter. The input data is then sent from SOAP Adapter to RFC adapter to call RFC function module in the receiving side.  The receiving system is SAP ECC system.
    The receiver ECC system has two instances. For example SP0 ad SP1. 
    In the receiver determination step we have maintained a rule such that if the Plant value in the input message is XYZ then send data to SP0. But if the plant value in ABC then send data to SP1.
    This Conditional rule is working fine.
    However we are getting couple of issues with only one instance of ECC (SP0).
    1. com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message badfa070-b163-11de-a4c1-001cc495e48a(INBOUND) expired
    2. NO_MAPPINGPROGRAM_FOUND. Mapping program is not available in runtime cache: Object ID C2B41FFDFD4635BAB1E41AE53C0D10CE Software Component 5394F420463611DAC1CFFBBC0A01BC16
    3. com.sap.engine.interfaces.messaging.api.exception.MessagingException: No response available
    The above listed errors are generated occasionally. Sometimes no errors are generated even when the same input data is sent again and message is successfully processed.
    I have verified the input data and everything is OK with that.
    Mapping object is available in XI and cache was also refreshed. I additionally reactivated the objects in XI as well.
    So what could be the real root cause of this? Please help!
    Thanks
    Gopal

    1. com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message badfa070-b163-11de-a4c1-
    001cc495e48a(INBOUND) expired
    Check the Timeout parameter of your adapter.....for requests which expire with this error confirm from the SAP end that the message processing is done well within the Timeout period of the adapter.
    Refer this note for more info on the above occuring error and the possible way to avoid it: https://service.sap.com/sap/support/notes/791379
    Update:
    Even problem 3 seems to be occuring due to insufficient Timeout specified for the adapter.....if possible try increasing the Timeout in VA
    Regards,
    Abhishek.
    Edited by: abhishek salvi on Oct 6, 2009 1:42 PM

  • Error while calling RFC adapter(FILE-XI-RFC scenario)

    Hi,
    I am trying for FILE-XI-RFC scenario. I am getting the following error. I have checked in message monitoring. The error is coming while calling the RFC adapter. Can any body tell what problem is this?
    Regards,
    Dhana
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">AE_DETAILS_GET_ERROR</SAP:Code>
      <SAP:P1>af.f23.sofd00001530a</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>2: Unable to find URL for Adapter Engine af.u7a.us4296</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error while reading access data (URL, user, password) for the Adapter Engine af.f23.sofd00001530a</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Hi,
    I did SLD check.
    The status says 'Summary: Connection to SLD works correctly'.
    But it fails while checking the access to XI profile.
    Here is the status
    Summary: Connection to SLD works correctly
    Now checking access to the XI Profile
    Properties of RFC destination LCRSAPRFC
      RFC host:
    %%RFCSERVER%%
      program id:      LCRSAPRFC_DZ1
      gateway host:
      gateway service:
    Testing the RFC connection to the SLD java client...
    RFC ping returned exception with message:
    / CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679#Transaction program not registere

  • Error while doing commint from RFC Adapter

    Hi,
    We have a SOAP-PI-RFC synchronous scenario. Through this Soap request comes to PI and passed on to BAPI via RFC adapter. This BAPI saves the transaction & return the document number. We are using " PI PI parameter u201CCommit Handling for single BAPI' in RFC receiver Channel.
    While this setup works for 1 posting, when we do the mass load ( Say 20 Documents) half of the documents are not able to Save. Although BAPI, returns the document number but on checking the document does not exists in SAP. To do further test, we created a program in ECC and try calling BAPI in loop and calling BAPI Commit.
    This way program works fine and there is no error
    So in nutshell, when we PI do the commit, half of the documents are not saving where as when the ABAP program commits no error. Is there any  special way that PI calls this commit work.
    PS: We created a wrapper BAPI which calls the orgirnal BAPI and Commit BAPI & called this from PI but still the same problem is coming.
    Appreciate help on this.
    Regards,
    Harish

    Are there any error messages in the RFC Reciever channel in Runtime Workbench?
    RWB -> Component monitoing -> Adapter Engine -> Comm Channel -> filter for type RFC
    Please try to give some more details on why the system says the messages are failing.

  • RFC Adapter Problem: Necessary Roles?

    Hi XI Gurus,
    Our team is working with a File-to-RFC scenario. We are using a custom RFC, which uses BAPI_GOODSMVT_CREATE within it, to post data for Goods issue, Goods receipt and Transfer Posting. We are using the credemtials of a user, <b>sapxiuser</b>, within the RFC adapter. <b>Can anyone please tell me what are the roles that are to be maintained for this particular user at the R/3 end?</b>
    Points will be rewarded!
    Thanking in anticipation,
    Amitabha

    Hi,
    Remember to add explicit commit in the communication channel:
    <i>"
    <b>Commit Control for Individual BAPI Calls</b>
    If you want to use this communication channel to call BAPIs as remote-enabled function modules that change data in the database, set the indicator.
    If executed successfully, the transaction is written to the database by calling the function module BAPI_TRANSACTION_COMMIT explicitly. If an error occurs, the transaction is rolled back by BAPI_TRANSACTION_ROLLBACK.
    The result is determined by the value of the field TYPE in parameter RETURN. If successful, the tables are empty and the values “”, “S”, “I”, and “W” are displayed. All other values are regarded as errors.
    To change this setting, set the indicator BAPI Advanced Mode.
    In the Successful RETURN-TYPE Values table, enter the values that should lead to a successful execution.
    "</i>
    Regards,
    Wojciech

  • Restrict messages in RFC adapter or in source/sending (SAP R/3) system

    Hi All,
    I have SAP R/3 to web service scenario via XI (RFC to SOAP). In that scenario RFC caries the attachments, some time the attachments size is more than 5mb. Due to that java stack of XI becomes unresponsive. Due to that SMQ2 gets filled up with the entries and other scenarios are also severely effecting.
    Is there any way to restrict the message, if itu2019s size is more than 5mb in RFC adapter of XI or can we stop the processing/sending of such a messages in source system itself (SAP R/3).
    I welcome all your suggestions.
    Thanks & Regards,
    Venu V

    Hi Praveen,
    The attachments to the tickets in source system. The RFC caries that data, once that data size is more than 5mb then it affecting the server.
    I am getting following errors
    u201Ccom.sap.aii.af.ra.ms.api.DeliveryException: Could not create Message from TransportMessage. Reason: com.sap.aii.af.ra.ms.api.MessagingException: com.sap.aii.af.ra.ms.api.MessagingException: Could not parse XMBMessage due to Read timeout. The client has disconnected or a synchronization error has occurred. Read [45434] bytes. Expected [101981].u201D
    u201CJCO_COMMUNICATION_FAILURE
    Error opening an RFC connection
    &quot;COMMUNICATION FAILURE&quot; during JCo call. Error opening an RFC connectionu201D
    Thanks & Regards,
    Venu V

  • RFC adapter in XI 3.0 not working properly with BAPI in R/3 4.6C

    Here is the scenario.
    An XML file is received from our customer. This file contains purchase order information that is used to create a sales order in our SAP 4.6C system. Once the sales order is created an acknowledgement is generated and this is returned back to our customer in an XML format.  This scenario is working perfectly fine in our XI 2.0 system but is not working properly in our XI 3.0 test environment. Our custom function module in R/3 is a wrapper function that uses a standard SAP BAPI to create the sales order. Part of the function module does use the statement
    call function 'BAPI_TRANSACTION_COMMIT'
    The last thing the BAPI does is call another function module that using an RFC destination that will return and order acknowledgement.
    Here is what happens within XI and our SAP system.
    The XML file is received and mapped to our imported RFC. The RFC adapter is called and the information is passed onto SAP where our customer function module executed. The sales order is created within SAP without any problems and the second function module is called which references an RFC destination assigned to our XI 3.0 system. The information is sent back to XI and an appropriate file is created for our customer.  All seems to be working properly except that when the original RFC is sent from XI to SAP,  SAP creates a short dump stating
    "call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryException:" Then it is put back into the que where 5 minutes later it executes again and trys to recreate the sales order in SAP. (again, this same function module executing from XI 2.0 works fine)
    I believe I have everything configured properly because the SAP side is being executed and I am successfully passing information back from SAP to XI. However the original function module in SAP is failing with the above error message. It appears that the original function module cannot communicate back with XI. I have had SAP looking at this issue and they have not been successful yet in solving this problem.
    Any ideas.
    Thanks,
    Jim d'Hulst

    Hi,
    I think the problem is with the send back of acknowledgement to XI. Does the DeliveryException state something about the sender agreement? I guess you are using a statement like below:
    CALL FUNCTION 'ZABCD'
    destination <tcp/ip destination>
    exporting
    input = ack.
    In that case, check whether the TCP/IP destination is working fine. Also, to be able to exchange message, the structure of the Function Module ZABCD needs to be identified as the sender in XI Configuration (Integration Directory).
    Also, check your config with the blog mentioned below:
    <a href="/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit">/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit</a>
    Regards,
    Amitabha

  • Dynamic user in RFC Adapter

    I configure a RFC Receiver adapter to communicate with R/3. In my client application  (via Webdynpro) I send the message that use this communication, but I need to call the RFC using a dynamic user/password, that is, the user credentials that is logged. Is it possible? How I do it?
    thanks.

    Hi Elton,
    I don't think so, it is possible to have dynamic user ID and password for the RFC adapter. As of now...
    Because you need to enter the user id and password while configuring adapter itself.
    But if you want , you can call different RFCs based on the Condition etc.
    Hope this helps,
    Regards,
    Moorthy

  • Sender RFC Adapter , Sender File Adapter  - Payload Compression

    Sender RFC Adapter or the Sender File Adapter compress the payload of any spaces in between the tags or remove any spaces at the start and end of the payload.
    We need to pass the spaces as is in the message payload to the receiving system?
    Is there a way to do it in PI 7.1.

    Hi Vikrant,
    Preserving white spaces while reading a file from FTP
    NameA.fieldContentFormatting
    - Enter trim to remove all the leading and subsequent blanks for a value found. This is the default.
    - Specify nothing to ensure that the value remains unaltered.
    For RFC you need to check your payload to see whether spaces are coming from R/3 itself or not.
    Regards
    joel

  • Problem in Sender RFC adapter

    Hi all,
    Our scenarion is like this
    RFC -> XI -> File
    When we are calling the RFC ( inside a program ) from the client we are getitng a shortdump with the error ...
    'JCO.Server could not find server function 'STOCK_ENQUIRY_OUT'
    any idea where is the exact problem '?
    regards
    Goutam

    Have these basic checks;
    1. Import the RFC and activate the same in XI.
    2. Configuring of RFC adapter - /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    3. Troubleshooting - /people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009

  • Error in RFC adapter

    Hello All,
    I am working on File to RFC Asynchronous Scenario. I am getting Error in M receiver RFC adapter. It is displaying in Adapter Monitoring as
    <b>- Error: 2007-10-03 05:28:38 EDT: Message processed for interface BAPI_CUSTOMER_CREATEFROMDATA1: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was</b>
    Can any help how to resolve this.
    Regards

    Hi,
    The RfcAdapter trys to find a Sender Agreement for this RFC call but the lookup failes. The values used for this lookup are:
    •     Sender Party/Sender Service: The values from Party and Service belonging to the sender channel.
    •     Sender Interface: The name of the RFC function module.
    •     Sender Namespace: The fix RFC namespace urn:sap-com:document:sap:rfc:functions
    •     Receiver Party/Receiver Service: These fields are empty. This will match the wildcard '*'.
    Chilla

  • RFC Adapter

    Hi
    I am using RFC adapter, I am facing java.lang.outOfMemory Exception whenever payload size increases.
    Important point: In XI everything is successful.
                     But in R-3 I am facing the problem.
    Please guide me, how to solve this issue.
    Piyush

    Hi All
    I have set up the connection for Integration builder in R-3.
    In sproxy I am able to see inbound and outboud interfaces, I have generated the class for th outbound interface and configured default logical port for the same.
    The report is as follows:
    REPORT  ZAK_TEST_PROXY.
    DATA:
    Reference variables for proxy and exception class
      lo_clientProxy     TYPE REF TO ZCO_EMPLOYEE_MASTER_DAT,
      lo_sys_exception   TYPE REF TO cx_ai_system_fault,
    Structures to set and get message content
       ls_request         TYPE ZEMPLOYEE_MASTER_DAT361,
       ls_response        TYPE ZEMPLOYEE_MASTER_DAT360.
       Instantiate your client proxy.
    TRY.
    create proxy client
        CREATE OBJECT lo_clientProxy.
       ( ‘LOGICAL_PORT_NAME’ )
    *LOGICAL_PORT_NAME is the name of the logical port that you want to use, which is used to define the receiver. You can omit this parameter if you are using a default port or the XI runtime.
         To send a message, call the corresponding client proxy method. WSDL allows several such methods (specified by the element <operation>). In XI, there is only one method, with the default name EXECUTE_SYNCHRONOUS or EXECUTE_ASYNCHRONOUS. Catch at
    *least the exception cx_ai_system_fault:
    do synchronous client proxy call
        CALL METHOD lo_clientProxy->execute_synchronous
                 EXPORTING output  = ls_request
                 IMPORTING input   = ls_response.
        CATCH cx_ai_system_fault INTO lo_sys_exception.
      Error handling
    write:/ lo_sys_exception->errortext.
    ENDTRY.

  • RFC Adapter not Call

    Hello Friends,
    I am working on XI 2.0
    My Scenario is
    IDOC --> XI --> RFC Adapter --> R/3 System
    I am configuring the RFC adapter for the SAP system.
    But when I am able to try to call using the Integration Engine it’s not call the RFC adapter.
    I define the end point as
    RFC Adapter
    (X) Load Balancing Deactivated
           Application Server -- <host name>
           System Number      -- 00
    When I run the scenario it show me in the <b>sm58</b> transaction as
    <b>Connection Close (no Data)</b>
    And in the SXMB_MONI Transaction it shows
    <b>A. Status</b> as <b>Green Flag</b> means <b>Message schedule on outbound side</b>.
    So can you please identify and suggest me the solution or what else configuration is required.
    Thanks & Regards,
    Gaurav Jain

    try to register all queues in SXMB_ADM -> Manage queues.
    I think that should help you solve the issue.

Maybe you are looking for

  • Runnings Shell Commands in PL/SQL Procedure

    Hi folks, I want to run the SQL/Plus HOST command within an PL/SQL Procedure. I tried it with "EXECUTE IMMEDIATE 'HOST ls -la';" and I'm afraid, that it didn't work. Has anyone of you a suggestion? regards Markus

  • BAPI for sales information

    Hi all, Please suggest me a BAPI for getting sales related data into SAP. It must have: 1)Billing details (ex, receipt no, cashier no, name etc...) 2)Shop details (ex. shop no, location etc...) 3)Payment details(ex.total amt, vat amt, cash, credit ca

  • Line wrap in JTextField...

    Hi everyone.. I noticed that JAVA recognizes the line wrap in the JTextField if i paste a text with 2 lines....the text in the component appears with 2 lines because of the line wrap... how can i solve this?? i don�t want that the line wrap is showed

  • Create installer from Windows

    Hello there! I have only one Mac and a few Windows. My MacBook Pro disk broke up 3 days ago. I replaced, the disk and can´t install the OS. I made the recovery USB a few months ago, but when run, it tries to download a copy of Mountain Lion from Inte

  • Package access issues (kinda long)...

    Okay, I'm working on a project and I want to throw some stuff into a package, because I have a lot of files cluttering my main folder, and I want to clean it up. I have a JFrame that uses a JMenuBar that I subclassed in another file called MyMenuBar.