RFC call  - issue

Hi all,
    I have a issue in makeing RFC call to a function module . The scenario is , i have a custom built transactions which in turn call few standard transactions in one server(A) and i want to open these transactions from another server(B) using RFC calls and hence i made a remote enabled function module in server(A) and i called this function module from server(B) using destination. But the transaction that i call inturn call another standard transaction in  its code which in turn call another standard transaction using the statement "LEAVE TO TRANSACTION" . Because of this the RFC connectivity is getting disconnected.
   Hence i made a asynchronous call by using the statement
   call function "xxxx" destination 'd' performing new task 't1' .
   This worked fine & i was able to execute the transaction. But this asynchronous call has destroyed the 2EE server process on the ITS . But with other normal RFc calls everything is running fine .
   What should i do now coz this asynchronous call is killing the performance and server. Can anyone suggest me anyother approach.
Thanks & regards,
Rajbarath

Hi,
In SM59 Check if Radio button for Trusted System is YES (Selected). Then it should not ask even after that if it asks then provide the password in Logon details in Logon and Security Tab available in SM59 for your Destination System.
Thanks,
Prashanth
Edited by: Prashanth KR on Feb 11, 2009 12:13 PM

Similar Messages

  • RFC Call through BSP - Issue with RFC logon credentials

    Hi everyone,
    I have an BSP application running on a 6.40 which calls a RFC function module on a backend system (4.6c) using a trusted RFC connection.
    The BSP is started with an URL which contains in encoded form the username and password. So we don't use the standard sap-username & sap-password.
    In the first step the user is logged in with the anonym user (user type 'service') which is entered in the SICF. So sy-uname = 'anonym'.
    After a couple of checks and verifications the BSP makes a user switch using 'SUSR_INTERNET_USERSWITCH'. Exporting parameters are the now decoded values from the URL. So after the switch sy-uname is e.g.  'blabla'.
    Now a function module on the backend system is called. What I would now expect is that on the backend system sy-uname is also 'blabla'. But it isn't. The sy-uname is still 'anonym', which isn't very helpful regarding object authority checks.
    Only after an reload of the BSP page and a second RFC call of the function module the sy-uname = 'blabla'.
    I wonder what causes this problem?
    Thanks for your replies & regards
    Kruno

    Hi,
    I solved it.
    Before I execute function 'SUSR_INTERNET_USERSWITCH' I first check if user has a valid backend account by using function module 'BAPI_USER_EXISTENCE_CHECK'.
    And this is the problem. When 'BAPI_USER_EXISTENCE_CHECK' is executed once all other RFC function calls to the backend get the wrong user.
    Why? I don't know yet. Maybe I will get an useful anwer from an OSS note.

  • Performance issue due to RFC calls. (R/3 to R/3 system)

    Hi,
    My application face serious performance problem because of RFC calls (R/3 system to R/3 system).
    1)is there any transaction code for doing performance analysis on RFC calls in R/3 system?
    2)How far large volume of Data Transfer (mainly due to internal tables) in a RFC call affects the performance? is there any limit for data transfer size at a time in a RFC call? if so how to calculate for best performance?
    Thanks and regards,
    Prakash.

    Hi Andreas,
    Suppose an RFC enabled Fm having an internal table as importing parameter.During execution of this Fm with 4000 enteries for the internal table results in performance degrading.is there any way to improve the performance?.
    Thanks and regards,
    Prakash.

  • Program making a RFC call to Function Module not working in background

    Hi All,
    I have an ABAP Program which is used to do a reconciliation check between the R/3 and BI system for Invoice Data. Please find below the details of the program flow:
    1.     Program counts the number of records in the DSO table and aggregates the Net_Value based on the date range (passed as parameters)
    2.     Program calls a Function Module (RFC Call) which counts the number of records in the R/3 table and aggregates the Net_Value for the same date range
    3.     Function Module Passes back the count values and aggregated Net_Value to the program
    4.     Program compares the count and aggregated Net_Value from EDWH and MSP systems and sends an email mentioning whether the counts match or not
    However we are facing an issue.
    Whenever, we execute the program in dialog mode, it works fine and fetches results within 5-6 minutes. However if we schedule the program to run in background (parameters through a variant), it gives no results even after running for over 3-4 hours. We tried figuring it out yesterday but could not come to any conclusion. Since there is a RFC call being to the function module, we were wondering if we need to specify some other parameter as well.
    Thanks & Regards
    Dharmendra

    RFC Call is a procedure for executing remote enables function modules. It is done via the 'Remote Enabled' radio button on the function module's attribute screen.

  • Is there any way to limit the number of RFC calls from xMII to SAP R/3

    Hi All!
    I wanted to know whether the number of simultaneous RFC connections made from xMII to SAP R/3 system can be controlled in any way. Suppose we have a scenario wherein some million Sales Orders or Production Orders are to be updated in SAP R/3 from xMII in a short span of time. For all these updations to take place, multiple RFC calls will be established from xMII to SAP at the same time. This will increase the load on the SAP R/3 system and affect performance of the SAP R/3 system. Is there any check on xMII side to limit the number of RFC calls that can be made to SAP R/3 system?
    Regards
    Anupam

    Anupam,
    If you are using 11.5 just keep in mind that the JCO connection points to a single application server (based upon the SAP Server alias connection settings), but the traffic itself to make a BAPI request is effectively the same as any client user traffic.  There will obviously be limitations on performance and throughput, with network and server constraints added to the number and size of the R/3 requests, but there is no magic formula to plug-in because of all of these variables.
    If you are using 12.0 (or plan to migrate when it goes GA) then taking advantage of the JRA (java resource adapter) and the associated application server pooling that it offers on the NetWeaver side of things will greatly help you in the throughput capacity.
    If you have put some of your xMII application into either test or productive use and are running into issues then I would highly recommend entering the specifics into the customer / partner support portal so that they can help you through any associated problems.
    Regards,
    Jeremy Good

  • Error in starting SAP GUI as part of an Java RFC call from a PC

    Hi,
    We are on the 4.6C version of SAP and have the latest basis kernel patches that allow an RFC connection to start the SAP GUI. The program that I am running externally is java using the 3.0.1 JCo. The OS of the PC I am using is Windows XP. The SAPGUI version is 7.10 patch level 11.
    The program seems to be working properly as the command prompt window goes grey as if there is another window being opened but then I get back this error message and I do not see the GUI.
    The message I am getting back is:
    Exception in thread "main" com.sap.conn.jco.JCoException:(136) JCO_ERROR_ILLEGAL_STATE:Launching SAP GUI failed, though it was requested(error message:Communication with SAPGUI timed out)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.startSAPGui(MiddlewareJavaRfc.java:1853)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1285)
    at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:661)
    at com.sap.conn.jco.rt.PoolingFactory.init(PoolingFactory.java:103)
    at com.sap.conn.jco.rt.ConnectionManager.createFactory(ConnectionManager.java:171)
    at com.sap.conn.jco.rt.DefaultConnectionManager.createFactory(DefaultConnectionManager.java:44)
    at com.sap.conn.jco.rt.ConnectionManager.getFactory(ConnectionManager.java:160)
    at com.sap.conn.jco.rt.RfcDestination.initializ(RfcDestination.java:766)
    at com.sap.conn.jco.rt.RfcDestination.getSystemID(RfcDestination.java:794)
    at com.sap.conn.jco.rt.RepositoryManager.getRepository(RepositoryManager.java:32)
    at com.sap.conn.jco.rt.RfcDestination.getRepository(RfcDestination.java:865)
    at GISToSAPWO_Test.get_wo_call(GISToSAPWo.java:91)
    at GISToSAPWO_Test.main(GISToSAPWO_Test.java:206)
    I have been all over trying to find the solution to this and have come up empty. Any help will be greatly appreciated. If this is the wrong forum for this please let me know and I will re-post.
    Thank you in advance for any information you can pass on about the issue,
    Mark

    Hi Greetson,
    Thank you in advance for your response. It is greatly appreciated.
    1) In a way yes. I am using the connection setting USE_SAPGUI = 1. This is suppose to start the GUI prior to starting the RFC's program run. If this is not correct please let me know.
    2) The code is part of the JCo and the RFC library from what I have read. If this is not correct please let me know.
    3) I am only testing from my PC at this moment. I have re-installed my SAP GUI and am now at patch level 13 on 7.10.
    4) The application passes in the connection information which includes username and password along with the parameters for the RFC call. I would like the SAP GUI to open without the user having to re-enter his/her username and password. I thought that once the RFC is called using the dialog users credentials that the GUI would then open using the connection. I have used the java pooled connection method and it still does not open the GUI.
    5) The purpose is to pass Equipment objects, Functional Location objects and Leak Id objects to an RFC to open a list screen from IW39, List Maintenance Order transaction, for display of each at one pass, as well as open Excel with data from classification for the Leak Id's.
    Hope this sheds some light on the problem I am having. Please let me know if more information is needed.
    Best regards,
    Mark

  • RFC to XML-RFC Parsing issue in RFC Adapter as Sender

    Hi all,
    I tried to use RFC adapter as a sender. The scenario I am trying to achieve is R3 -> RFC Adapter Sender --> BPM --> RFC Adapter Receiver --> SAP Auto-ID system.
    The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails. Everything works as expected, except the RFC Adapter Sender.
    The RFC I am calling has an input table. The input data I use works fine if I call it via SE37 or remotely from another SAP system. However, if I call it via RFC adapter, when XI parses the data into RFC-XML format, the input data is all messed up.
    DATA: BEGIN OF ID_STR,
            ID_VERSION(8)       TYPE C,
            ID(96)              TYPE C,
            ELEMENT_NAME(50)    TYPE C,
            ELEMENT_VALUE(128)  TYPE C,
          END OF ID_STR.
    DATA: it_id LIKE TABLE OF ID_STR,
          ls_id LIKE ID_STR.
    ls_id-ID_VERSION = 'EPC_1.30'.
    ls_id-ID = '30340242206DC3C00000000A'.
    ls_id-element_name = 'BATCH_ID'.
    ls_id-element_value = 'BATCH001'.
    APPEND ls_id TO it_id.
    CALL FUNCTION '/AIN/UI_MOBILE_MSG_SEND'
      IN BACKGROUND TASK
      DESTINATION  'RFC_UPDATEAII'
      EXPORTING
        IV_BUSINESS_PROCESS       = '09'
        IV_COMMAND                = 'DO'
        IV_ACTION_TYPE            = 'APL2'
        IV_PRT_ID                 = '31140242200000000F000000'
        IV_DEVGRP_EXTID           = 'MOBILE'
      TABLES
        IT_ID                     = it_id
      commit work.
    And the parsed RFC-XML message is:
    <?xml version="1.0" encoding="UTF-8" ?>
    <rfc:_-AIN_-UI_MOBILE_MSG_SEND
    xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    <IV_ACTION_TYPE>APL2</IV_ACTION_TYPE>
    <IV_BTD_EXTID />
    <IV_BTD_TYPE />
    <IV_BUSINESS_PROCESS>09</IV_BUSINESS_PROCESS>
    <IV_COMMAND>DO</IV_COMMAND>
    <IV_DEVGRP_EXTID>MOBILE</IV_DEVGRP_EXTID>
    <IV_LOC_EXTID />
    <IV_LOC_TYPE />
    <IV_PRT_ID>31140242200000000F000000</IV_PRT_ID>
    <IV_PRT_ID_VERSION />
    <IV_REASON_CODE />
    <IV_UNAME/>
    <ET_RETURN />
    <IT_ID>
    <item>
    <ID_VERSION>EPC_1.30</ID_VERSION>
    <ID>206DC3C00000000A BATCH_ID</ID>
    <ELEMENT_NAME />
    <ELEMENT_VALUE />
    </item>
    </IT_ID>
    </rfc:_-AIN_-UI_MOBILE_MSG_SEND>
    You can see the data in the table is all wrong, it should be:
    <IT_ID>
    <item>
    <ID_VERSION>EPC_1.30</ID_VERSION>
    <ID>30340242206DC3C00000000A</ID>
    <ELEMENT_NAME>BATCH_ID</ELEMENT_NAME>
    <ELEMENT_VALUE>BATCH001</ELEMENT_VALUE>
    </item>
    </IT_ID>
    The calling system is a 4.6C non-unicode system, and the destination system is a unicode system (this does not matter since the first part of the integration is between R3 and XI). There is no config found on R3 side to specify non-unicode because it is a rather old system. In XI RFC Adapter config, I checked non-unicode checkbox (I also tested it with this unchecked, but still the same issue).
    Have any of you seen this problem and how you resolve it?
    Thanks a lot for your help!
    Regards,
    Hart

    Hi Hart
    long time no seen - hope you remember me
    >The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails
    there is an easy way (guess max 3-4 hours) to solve all of your issues
    and get rid of a BPM
    use IDOC - XI - ABAP Proxy
    then you will have IDOC and ABAP Proxy that always log the message on both ends (and you can restart ABAP proxies easily in AII - and every AII supports ABAP proxies) + you get rid of a BPM as it's not necessary as far as I understand (as it's asyn communication right?)
    maybe you can go this way and IDOCs always work...
    good luck,
    Regards,
    Michal Krawczyk
    http://mypigenie.com XI/PI FAQ

  • RFC call from ECC to SCM -- Debug Steps required

    Hello,
    The steps being done for this issue is:-
    1) In ECC system ,CN22 Transaction Code (Change Networks) --> Click on Schedule (at the Header) and click on SAVE
    2) This seems to trigger an RFC call to SCM server (as per the trace log).
    3) From SCM, it comes back to ECC server as User 'BATCHRFC'. This has been defined in SM59 correctly.
    4) BATCHRFC in ECC system calls an RFC FM 'CIF_PJ_INBOUND' and changed the status of networks to DSEX (date set by External system)
    We are trying to understand why is the RFC call being made? I can debug the FM in ECC when an external breakpoint is used.
    However, I want to know where in ECC is the RFC call made (to SCM), and how? How can I control it as we do not want this to happen? How can I debug to understand how an RFC call is made?
    Your views would be appreciated.
    Regards,
    Sanjiv

    Hi,
        What you do is, enter the Tcode, CN22, then in Command window activate debugger by entering /H
    It takes u to debugger, from menu > utilities set a break point at Satetment Call Function, it will stop at all the Function modules in debugger, so you can look for the RFC FM in the program where it is called.
    And also look for setting in debugger, may be u have some options for RFC FM.
    Regards
    Bala Krishna

  • Strange response time for an RFC call viewed from STAD on R/3 4.7

    Hello,
    On our R/3 4.7 production system, we have a lot of external RFC calls to execute an  abap module function. There are 70 000 of these calls per day.
    The mean response time for this RFC call is 35 ms.
    Some times a few of them (maybe 10 to 20 per day) are way much longer.
    I am currently analysing with STAD one of these long calls  which lasted 10 seconds !
    Here is the info from STAD
    Response time :                10 683 ms
    Total time in workprocess : 10 683 ms
    CPU time  :                               0 ms
    RFC+CPIC time :                       0 ms
    Wait for work process           0 ms
    Processing time           10.679 ms
    Load time                            1 ms
    Generating time                   0 ms
    Roll (in) time                        0 ms
    Database request time         3 ms
    Enqueue time                      0 ms
    Number      Roll ins            0
                     Roll outs           0
                     Enqueues         0
    Load time   Program             1  ms
                      Screen              0  ms
                     CUA interf.          0  ms
    Roll time    Out                 0  ms
                      In                  0  ms
                    Wait                0  ms
    Frontend    No.roundtrips       0   
                      GUI time            0  ms
                      Net time            0  ms
    There is nearly no abap processing in the function module.
    I really don't uderstand what is this  10 679 ms processing time especially with 0 ms cpu time and 0 ms wait time.
    A usual fast RFC call gives this data
    23 ms response time
    16 ms cpu time
    14 ms processing time
    1 ms load time
    8 ms Database request time
    Does anybody have an idea of what is the system doing during the 10 seconds  processing time ?
    Regards,
    Olivier

    Hi Graham,
    Thank you for your input and thoughts.
    I will have to investigate on RZ23N and RZ21 because I'm not used to use them.
    I'm used to investigate performance problems with ST03 and STAD.
    My system is R/3 4.7 WAS 6.20. ABAP and BASIS 43
    Kernel 6.40 patch level 109
    We know these are old patch levels but we are not allowed to stop this system for upgrade "if it's not broken" as it is used 7/7 24/24.
    I'm nearlly sure that the problem is not an RFC issue because I've found other slow dialog steps for web service calls and even for a SAPSYS technical dialog step  of type <no buffer>. (what is this ?)
    This SAPSYS dialog step has the following data :
    User : SAPSYS
    Task type : B
    Program : <no buffer>
    CPU time                       0 ms
    RFC+CPIC time              0 ms
    Total time in workprocs    5.490 ms
    Response time               5.490 ms
    Wait for work process           0 ms
    Processing time             5.489 ms
    Load time                            0 ms
    Generating time                   0 ms
    Roll (in+wait) time                0 ms
    Database request time          1 ms ( 3 Database requests)
    Enqueue time                       0 ms
    All hundreds of other SAPSYS <no buffer> steps have a less than 5 ms response time.
    It looks like the system was frozen during 5 seconds...
    Here are some extracts from STAD of another case from last saturday.
    11:00:03     bt1fsaplpr02_PLG RFC     R     3     USER_LECKIT     13     13     0     0
    11:00:03     bt1sqkvf_PLG_18      RFC     R     4     USER_LECDIS     13     13     0     0
    11:00:04     bt1sqkvh_PLG_18      RFC     R     0     USER_LECKIT     19     19     0     16
    11:00:04     bt1sqkvf_PLG_18      RFC     R     4     USER_LECKIT     77     77     0     16
    11:00:04     bt1sqkve_PLG_18      RFC     R     4     USER_LECDIS     13     13     0     0
    11:00:04     bt1sqkvf_PLG_18      RFC     R     4     USER_LECDIS     14     14     0     16
    11:00:05     bt1sqkvg_PLG_18      RFC     R     0     USER_LECKIT     12     12     0     16
    11:00:05     bt1sqkve_PLG_18      RFC     R     4     USER_LECKIT     53     53     0     0
    11:00:06     bt1sqkvh_PLG_18      RFC     R     0     USER_LECKIT     76     76     0     0
    11:00:06     bt1sqk2t_PLG_18      RFC     R     0     USER_LECDIS     20     20     0     31
    11:00:06     bt1sqk2t_PLG_18      RFC     R     0     USER_LECKIT     12     12     0     0
    11:00:06     bt1sqkve_PLG_18      RFC     R     4     USER_LECKIT     13     13     0     0
    11:00:06     bt1sqkvf_PLG_18      RFC     R     4     USER_LECKIT     34     34     0     16
    11:00:07     bt1sqkvh_PLG_18      RFC     R     0     USER_LECDIS     15     15     0     0
    11:00:07     bt1sqkvg_PLG_18      RFC     R     0     USER_LECKIT     13     13     0     16
    11:00:07     bt1sqk2t_PLG_18      RFC     R     0     USER_LECKIT     19     19     0     0
    11:00:07     bt1fsaplpr02_PLG RFC     R     3     USER_LECKIT     23     13     10     0
    11:00:07     bt1sqkve_PLG_18      RFC     R     4     USER_LECDIS     38     38     0     0
    11:00:08     bt1sqkvf_PLG_18      RFC     R     4     USER_LECKIT     20     20     0     16
    11:00:09     bt1sqkvg_PLG_18      RFC     R     0     USER_LECDIS     9 495     9 495     0     16
    11:00:09     bt1sqk2t_PLG_18      RFC     R     0     USER_LECDIS     9 404     9 404     0     0
    11:00:09     bt1sqkvh_PLG_18      RFC     R     1     USER_LECKIT     9 181     9 181     0     0
    11:00:10     bt1fsaplpr02_PLG RFC     R     3     USER_LECDIS     23     23     0     0
    11:00:10     bt1sqkve_PLG_18      RFC     R     4     USER_LECKIT     8 465     8 465     0     16
    11:00:18     bt1sqkvh_PLG_18      RFC     R     0     USER_LECKIT     18     18     0     16
    11:00:18     bt1sqkvg_PLG_18      RFC     R     0     USER_LECKIT     89     89     0     0
    11:00:18     bt1sqk2t_PLG_18      RFC     R     0     USER_LECKIT     75     75     0     0
    11:00:18     bt1sqkvh_PLG_18      RFC     R     1     USER_LECDIS     43     43     0     0
    11:00:18     bt1sqk2t_PLG_18      RFC     R     1     USER_LECDIS     32     32     0     16
    11:00:18     bt1sqkvg_PLG_18      RFC     R     1     USER_LECDIS     15     15     0     16
    11:00:18     bt1sqkve_PLG_18      RFC     R     4     USER_LECDIS     13     13     0     0
    11:00:18     bt1sqkve_PLG_18      RFC     R     4     USER_LECDIS     14     14     0     0
    11:00:18     bt1sqkvf_PLG_18      RFC     R     4     USER_LECKIT     69     69     0     16
    11:00:18     bt1sqkvf_PLG_18     RFC     R     5     USER_LECDIS     49     49     0     16
    11:00:18     bt1sqkve_PLG_18     RFC     R     5     USER_LECKIT     19     19     0     16
    11:00:18     bt1sqkvf_PLG_18     RFC     R     5     USER_LECDIS     15     15     0     16
    The load at that time was very light with only a few jobs starting :
    11:00:08 bt1fsaplpr02_PLG RSCONN01                     B 31 USER_BATCH     39
    11:00:08 bt1fsaplpr02_PLG RSBTCRTE                     B 31 USER_BATCH     34
    11:00:08 bt1fsaplpr02_PLG /SDF/RSORAVSH                B 33 USER_BATCH     64
    11:00:08 bt1fsaplpr02_PLG RSBTCRTE                     B 33 USER_BATCH     43
    11:00:08 bt1fsaplpr02_PLG RSBTCRTE                     B 34 USER_BATCH     34
    11:00:08 bt1fsaplpr02_PLG RSBTCRTE                     B 35 USER_BATCH     37
    11:00:09 bt1fsaplpr02_PLG RVV50R10C                    B 34 USER_BATCH     60
    11:00:09 bt1fsaplpr02_PLG ZLM_HDS_IS_PURGE_RESERVATION B 35 USER_BATCH    206
    I'm thinking also now about the message server as there is load balancing for each RFC call ?
    Regards,
    Olivier

  • RFC calls keep old buffer tables PS and PSINFO

    Hello!
    I have written a BSP application for an R/3 system which is release 4.6c.  For that reason, we have a stand-alone WebAS which must make RFC's to the core R/3 system to retrieve and update HR data.
    Originally the RFC destination to connect to the core R/3 system from WebAS was not a trusted connection, but we ran into problems with structural authorizations where the RFC was not returning all of the data for the actual user.  We found that the problem was related to the fact that the RFC destination was using a hard-coded user ID to make the connection to the R/3 HR system.  That particular user ID was being used as SY-UNAME in a routine used by structural authorizations, and it wasn't finding the correct data for the User ID that was entered as the RFC user.  Therefore, we made the change on the RFC destination in WebAS so that now we have the "Current User" checkbox checked, the hard-coded user ID and password has been removed, and now the "Trusted System" radio button is selected.  Those changes resolved our issue with structural authorizations because now the routine has the actual user ID as SY-UNAME instead of the generic RFC user ID.
    I'm not sure if the RFC trusted connection is part of this issue or not, but I wanted to provide that information.
    Here is the actual issue...  Several of the RFC's update different HR infotypes, and most of these use function module HR_INFOTYPE_OPERATION to insert new HR infotype records or modify existing ones, etc.  We started receiving short dumps and getting strange results, and I was able to track it down to the fact that the PS and PSINFO buffer tables are not being refreshed.  I was expecting that these tables would be "clean" everytime I make a new RFC call.  However, this is not the case.  I watched this in debugger, and I see that the PS and PSINFO tables are still filled from the last RFC whenever I make a subsequent RFC!  When it finally gets to the point that dialog HR_MAINTAIN_MASTER_DATA is called, it still has the old data in these tables, so it tries to process the infotypes AGAIN.  This is very bad!  For one thing, the previous RFC which used HR_INFOTYPE_OPERATION might have been for an applicant number (TCLAS = 'B') and the current RFC might be for an employee number (TCLAS = 'A').  We have seen this happen, and it resulted in a short dump (it's a long story - just trust me when I say that it is causing a lot of problems!).
    I was able to resolve the issue in one of my function modules by adding a call to function module HR_PSBUFFER_INITIALIZE at the beginning of the function module.  However, I don't want to have to add this to the beginning of every function module that I write.  Also, I think that this is a problem which needs to actually be solved instead of using a band-aid like this.
    This is what I want to know - Why are these buffer tables still filled from the last RFC whenever I make the next RFC?  Is this because it is set up as a "trusted" connection?  Is this related to the fact that my BSP application is stateful instead of stateless?  Does something need to be changed on my RFC destination configuration so that each RFC starts out with "clean" buffer tables?
    Thanks in advance for whatever advice you can offer me!
    Shannon

    I don't think this has anything to do with the trusted connection. It is because your application is stateful.  If you watch in the process overview in your system you will see that with a stateful application, no only does your BSP session state remain between calls, but also you should see a thread per user for the RFC connection. 
    That means that the Session state is also still alive on your R/3 4.6C system for a period of time as well (RFC keep alive time).  We have used this to our advantage before when building BSP applications (caching of data in Global Data of a Function Group).
    However you have the opposite problem.  It sounds like you would want to call the HR_PSBUFFER_INIT at the start of each transaction.  If you writting this as a Classic Dynpro Transaction would you not do the same? 
    You might try calling RFC_CONNECTION_CLOSE as well.  This should close the connection and end the state on the R/3 side.  However you will have the performance overhead of reestablishing a new connection on the next call.  But RFC connections seem to be very efficient.  I doubt you would notice any performance difference.

  • RFC call From BPM

    Hi,
    I have a  scenario where I need to access a Function Module from BPM for certain business validations. My FM is in XI and I need to invoke that FM from BPM. How can we do that ? I am trying an RFC call but it gives me an error "No identifier defined for the system".
    Pl advise, where am I wrong OR if there is a better way to do that.
    Thanks,
    Sid

    This doesn't look like an issue for BPM.  Please check whether the connection is working fine by testing a call to the RFC in a simple scenario(file to RFC or whatever).
    In BPM all you need to do is a synchronous send step with abstract message type defined for both request and response structures of the FM . And in ID a receiver determination+channel and all for this step.
    Best of luck...

  • RFC Call error..

    Hi All XI Expert,
    I am facing an issue with regard to RFC call from an external system.Business flow is like, Purachase Requisition(PR) is created from Ariba system/application which is passed to SAP via TIBCO Adapter to create Purchase order(PO).As per my understanding the data flow is like this: Ariba PR data's are captured by Ariba Adater and are send to TIBCO ADAPTER.This TIBCO adapter will invoke request-response service from SAP Adapter for operation of SAP RFC calling.Now i am able to successfully create PR/PO from Ariba application with amount(more than $10mn with after decimal value as 00) say $12,000,000.00 / $15,000,000.00. But while creating PR/PO from Ariba application with amount (more than $10mn with after decimal value as other than 00 i.e .99, .78, .05 etc) say $12,000,000.99 / $15,000,000.08, it gives below error which are captured in Ariba side, hence unable to create PR/PO's more than $10mn, however for less than $10mn amount of PR/PO with after decimal value as other than 00 i.e .99, .78, .05 etc, it is successfully getting created.So the problem is amount with more than $10mn PO with after decimal value as other than 00 i.e .99, .78, .05 etc.
    Error found in Ariba side for above scenarion:
    " Thu Apr 09 12:21:49 EDT 2009 (integrationExternal:error:4745): Received a Tibco generated message: 2009 Apr 9 12:21:49:079 GMT -5 SAPAdapter.SAInboundRFC.psap1 Error Application AER3-000185 CallReceive failed for operation Z_ARIBA_PO_PUSH; exception : Unable to interpret 1.10000005E7 as a number., RFC error; Group/Key/Message: 104/CONVT_NO_NUMBER/Unable to interpret 1.10000005E7 as a number.
    Where could be the problem?Does it a TIBCO Adapter config/ SAP adapter Problem / SAP RFC code issue?
    FYI....SAP RFC that is getting called doesnot contain any code of "CONVT_NO_NUMBER" .
    Awaiting your reply guys

    The problem is that in case the value of the amount is greater than $10mn, then it is converting the numeric value into exponential number 1.10000005E7. This is a number but when RFC tries to treat it as a number, it is throwing the exception. At sender Ariba system, you may change some configuration to avoid changing of numeric field to exponential field and problem would get resolved.
    Regards,
    Prateek

  • How to loop through single XML File and send multiple RFC calls?

    I am looking for the best approach to use for making multiple RFC calls (can be sequential) using a single XML file of data.  I have been attempting to get a BPM loop working, but to no avail.  My RFC only accepts a single set of delivery input and I have been told to try to work with it as is.
    input xml sample:
    <?xml version="1.0" encoding="UTF-8"?>
    <ProofOfDelivery>
       <POD>
          <delivery_number>1</delivery_number>
          <carrier_name>UPS</carrier_name>
       </POD>
       <POD>
          <delivery_number>2</delivery_number>
          <carrier_name>UPS</carrier_name>
       </POD>
    </ProofOfDelivery>
    I need to make a synchronous RFC call for each set of POD data.
    Thanks in advance!

    Thanks for the inputs.
    I tried with a BPM and multi-mapping transformation before a ForEach block.  I am getting this error:
    Work item 000000028028: Object FLOWITEM method EXECUTE cannot be executed
    Error during result processing of work item 000000028029
    com/sap/xi/tf/_ProofOfDeliveryMultiMapping_com.sap.aii.utilxi.misc.api.BaseRuntimeExceptionRuntim
    Error: Exception CX_MERGE_SPLIT occurred (program: CL_MERGE_SPLIT_SERVICE========CP, include: CL_
    Probably because I am not making/using the container objects properly.  Here is a screenshot of my BPM.  Can anyone spot my issue or point me to an example on this sort of container use?
    [http://kdwendel.brinkster.net/images/bpm.jpg|http://kdwendel.brinkster.net/images/bpm.jpg]
    Thanks

  • Sync RFC call from BPM - message expired

    Hi guys,
    I have a scenario with BPM where I'm doing a sync RFC call to ECC and then I want to process the result. However, the processing of BAPI take approx 5 minutes and my messages get expired after 3 minutes.
    How to resolve this issue?
    Thanks a lot,
    Olian

    Hello,
    Problem might be at BAPI end.  Please check BAPI by executing with your set of inputs. If BAPI goes for exception for yoru set of input values.. you may not get response from R3. So you might have error..
    secondly.. Please post the error in the communication channel and errro in the SXMB_Moni as well.
    Thanks,
    subbu

  • RFC call from a Windows Service

    Hi All,
    I have created a simple windows service which is making an RFC call to R/3 system. This is not working. Whereas the same piece of code written in a windows application projects(exe) works properly. Does anyone had similer issues working with Windows services ? Is it a known issue of RFC calls from windows service ???
    Thanks & Regards
    Ganesh Datta

    Hi Juergen,
    After I put the debug statements I figured out that connection to R/3 system is unsuccessful.
    I am using the SAP .Net Connector 2.0. I wrote a windows service which is manually started. Withing my service I am using Single sign on to connect .This is what was causing the problem. If I disable Single sign on and supply userID and password then connection is successful and also subsequent RFC calls.
    I guess within windows service Single sign on does not work.
    Thanks for your reply
    Best Regards
    Ganesh Datta

Maybe you are looking for