Reg: RFC call in same system
Hello All,
There is a Function module which is remote enabled (RFC) and can that same FM can be called in R3?
Thanks In Advance
Regards,
Suganya.
Hi Suganya,
Yes, you can call an RFC function module within the same SAP application server environment. Just use one of the following options when you call the FM:
- SPACE
- NONE
Using these options in combination of CALL FUNCTION..... DESTINATION will allow you to invoke the FM. However, it is not required to call the FM in RFC mode, in general. But this really depends on the logic.
Shahram
Similar Messages
-
Multiple RFC calls in same session
Hi All,
I'm looking for a way to execute multiple RFCs (one after the other) within the same "session". The reason I need to execute them within the same session is because the initial RFCs store information in ABAP memory (EXPORT x TO MEMORY ID y) and subsequent ones will use that information (IMPORT x FROM MEMORY ID y) for further processing. I thought I could do it all as a transactional RFC call but as one of the RFCs invokes the GUI, it seems to cause complications. I don't think tRFCs are the correct solution because it invovles client interaction from the GUI in one of the calls.
Has anyone tried to do this with the .NET Connector before? I've tried reusing the connection but it seems to get reset after the first call. Please help!
Tim.Hi Tim,
How are you doing ?
A session [when using NCo] is the length of time that the connection is open.
please let me know why the connection is being reset.
the client number is a mandatory attribute in any connection string, it is a part of a composite key which uniquely identifies the user
please let me know how you would like to proceed ?
with respect,
amit -
RFCs calling from remote systems
Hello Abapers,
Can anyone tell me how to find the list of programs which are calling remote function modules? For example programs in CRM system calling function modules in ECC...
Thanks,
HimadamaHi,
this is only ardly possible depending on your goal.
There are lots of RFC calls especially in CRM for middleware purposes.
Option a) - You try to find all pla ces where z*modules are called that are not existing in CRM
Option b) - You want to find all RFC enabled modules of ERP called in CRM
Option c) - You want to find all RFC calls in CRM targeting the defaulting ERP destination
Solution for a)
- Go to table WBCROSS (which is global the "where used list")
and check for all Z* modules
- Copy the list of modules e.g. in a file
- Search table trdir (registry of function modules) with this list
-> all modules that are not in this list are probably RFC modules from a backend
Solution for b)
- Go to ERP SE37 and open the help
- open the advanced options
- mark "RFC modules"
- search and save the whole list of RFCs relevant
- Go to CRM and check table WBCROSS where these modules are used
Solution for c)
- go to CRM and check for a module called "SMOFERP" or similar
It returns the name of the default RFC destination of an CRm system to its default ERP.
- Check the where used list of this module - should guide you close to the calls
mfg, -
Hello Friends,
Need input from you with regards to the Problem/Solution mentioned below:
Our requirement is that during the load of FI data from our Centralised ECC System, we want to retrieve the Billing document details from a new ECC System. Since we need only the Billing Doument and Count of Item data from this new ECC System we dont want to proceed with the regular way of Establising Source System connection and creating new Datasources etc.
The Solution we have thought is to set up a RFC Connection and Execute a Function Module during the Routine execution in BW. Thie Function Module will be executd in the new ECC system and will retrieve the required Billing details.
If you have faced similar situation and implemented any other solution then please let me know.
Any help is appreciated!
Regards,
Nitin S.Hi Nitin ,
The solution sounds good . The only problem which i found in this is suppose for any reason your RFC does not work for a day or two . Then the FI data will be loaded without billing information . It will be a difficult task to reload the FI data again for the missing Billing Information .
I assume that your FI postings are happening in Centralized ECC while correspong Billing Docs are in New ECC . So the two ECCs have a RFC conncection between them :
Following approaches can be taken :
1) As per your solution you are going to call the RFC in BI . Instead of doing it in BI , do the same thing in the enahncement of the FI Datasource i.e make a call from centralized ECC to your new ECC . This will affect the extraction performance , but your loading performance will be improved .
2) Is there a possibility that you can flow your billing documents to your centralized ECC and then do a datasource enhacement of the FI datasource .
Hope the above reply was helpful.
Regards,
Ashutosh Singh -
Debugging RFC-call in ERP-system
Hi experts,
I've a similar problem as decribed Values for FM structure not delivered as expected - but the opposite direction:
we send data from PI, which received a FTP-file, to ERP by RFC-Function.
last week we enhanced the output structure for this fm in PI (resp. in ERP: input structure)
result: the field is filled in the xml-file, which leaves PI - but the field comes blank into ERP-system
we've already emptied PI-cache!
is there any chance to debug the process in ERP-system???
thank you and regards
Andreas from germanyHi Andreas,
We had the same problem.
Clearing all the caches and even restarting the PI system did not help.
Reactivating all the configuration objects for the specific scenario fixed the problem.
This means:
- sender agreement (if existing)
- receiver determination
- interface determination
- receiver agreement
- communication channel
If you want to debug the rfc that is called, insert an external breakpoint on the userid that is connecting from PI towards ERP (configured in receiver communication channel). You can change this userid via:
Utilities --> settings --> abap editor -->debugging --> external debugging userid
Hope this helps.
Kind regards
Joris
Edited by: Joris Verberckmoes on May 31, 2010 9:33 AM
Edited by: Joris Verberckmoes on May 31, 2010 9:36 AM -
Debug RFC called from external system with no dialog user
Hi all,
We need to debug the rfc function module which is called from the external system( Siebel ) .
The user id is not dialog user so can not set external debugger.
Need you help.
Thanks,
Anmol.Hi Suhas,
Nice to know you became Moderator...
Hmmm the solution you provided was the last option..
Any ways the issue is resolved we changed the user to dialog user and then debugged the code.
Thanks a Lot,
Anmol. -
Where used for RFC calls to different system
Hi,
I want to change the interface of a function module which exists in our XI system.
The function is called from R/3 in different places and hence will need to be changed in each location.
Is there an easy way of determining all the different calling points?
The only way I can see would be to run a text search utility against the code.
Thanks,
AlanYou cannot user SE37 and whereused list for this. due RFC available in XI and you need to check for R/3 for whereused points
Try to run the program RS_ABAP_SOURCE_SCAN and in the search string put your function module name and execute
( if it is a custom function module search. in the search pattern use all custom package names)
a®s
Edited by: a®s on Jul 14, 2008 9:24 AM -
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. -
Hi ,
Can we do a RFC call from a system having WAS to another R/3 system not having WAS installed.
Regards,
DivyanshuHi Divyanshu
here is the code for RFC. Its the same as calling a function module. You have to just specify the RFC destination name here it is 'ABC'. RFC destination you can create thru SM59
CALL FUNCTION 'ZTM_TI_CREATE' destination 'ABC'
EXPORTING
STARTDATE = strtripbegin
STARTTIME = strstarttime
ENDDATE = strtripend
ENDTIME = strendtime
FIRSTDEST = watidisp-arrival
COUNTRY = strcountry1
REASON = strreason
CASHADVANCE = strcashadvance
CASHCURR = 'INR'
BANKADVANCE = strbankadvance
BANKCURR = 'INR'
EMPLNO = employeeno
IMPORTING
REINR = watripno
TABLES
MESSTAB =
ADDDEST = adddest
Regards
Naresh -
Hallo,
My scenario is as follows: when sending a RFC to XI via the RFC adapter, I get a short dump with the following error: "the error occurred in an RFC call to another system (XI).The termination occurred in the function "RfcExtendedReceive" of the SAP
Basis System, specifically in line 392 of the module
"//bas/640_REL/src/krn/rfc/abrfcrcv.c#2".
The internal operation just processed is "FUNC".
The internal session was started at 20060125163632".
The RFC adapter has been configured as the Sender and all the parameters populated with the system details.
Has someone seen this eror before?
Please assist.
Thanks,
CatherineMaybe you're invoking RFC synchrounously from ABAP code and your receiving scenario is on Asynchrounous interfaces? What are you doing then in XI with data sent by the RFC?
Message was edited by: Alessandro Guarneri -
Login information for RFC call
Hi there,
I would like to know if there is a way to authenticate a user via bsp and get that login information to make the RFC call to different systems.
i tried the to call an FM via RFC directly from abap and it forces me to login and it works but when i put that code to bsp. I just get a "page cannot be displayed" error.
I know i can enter an ID and password on sm59 for the connection but i need to let the user login
I am using this for a user creation tool.. instead of using su01 to create a user it will be done via bsp and would like to reflect the changes done when running the reports from SUIM
thanks in advance
RyanHi Ryan,
I will assume your RFC Destination already trusted system and using current user logon (see my previous reply).
However this still prerequisite for the next step.
Now, please correct me if my understanding is wrong.
In your reply, you have at least 2 System, right?
S1 & S2.
Where S1 has BSP Application (Ex:/ FormRegistration)
And S2 is where you control the user and Function Module.
Do you put, generic user for all BSP Service in System S1?
You can create another BSP Application in System S1 (Ex:/ CallingFM)
but this time don't put default user in BSP Service.
And from BSP Application FormRegistration, you create 1 button to call the BSP Application CallingFM.
I will give you sample code:
FormRegistration: address:http://systemS1.sap.com/FormRegistration/page1.htm
HTML Part:
===========
<HTML>
<input type="button" value="Register the user" onclick="submitUser();">
<script>
function submitUser(){
document.forms[0].action = 'http://systemS1.sap.com/CallingFM/page1.htm';
document.forms[0].target = '_new';
//it will open new window, just put it empty if you don't want to open new window.
document.forms[0].submit();
</script>
</HTML>
Now, when user click Button "Register the user" it will open the new window.
But because it doesn't allow you to using default user, it will prompt user id and password.
After that it will submit the data to CallingFM
Now in CallingFM we already have the sy-uname = user-B.
CallingFM: address-> http://systemS1.sap.com/CallingFM/page1.htm
OnInputProcessing Part:
=================
call function 'zcreate_user' destination 'S2'
Why you need CallingFM BSP application? because you need to re-assign sy-uname in S1 from default user with user-B ID, and use it to connect to System S2, S3, etc.
Please note: SM59 and User Id must be set before this.
Because when you call RFC from other destination, SAP will refer to Logon setting in SM59 for that destination.
Hope this will help you. -
Hi All,
Do you know if there is a monitor that logs incoming RFC calls to a system?
We have an XI scenario where an asynchronous RFC call takes place from XI to R/3. But it's not working. So we're trying to see of XI is actually calling the RFC.
Let me know!
Thanks,
Roman D.Hi !
If there is a comunication problem you may find some protocols in the sending system.
SAP can only trace the activity if the remote login was succesfull.
If there is any problem with the remote login the SM20 may be helpful. All unscuccesfull login activity is loged there....
Regards
Rainer
Some points would be nice if that helped a bit -
Executing Workflow through RFC Call
Hi,
I need to execute a worklow in one system through an RFC call from another system . Is this possible?
If yes, then what all parameteres do I need to do so and what all steps are involved.
Regards,
DivyanshuHi Divyanshu,
It is best not to start workflows directly but rather by using events. Usually a WF will have a triggering event defined, such as EMPLOYEET.POSITIONCHANGED. Look at the WF header for the trigger.
You can remotely raise this event using FM SAP_WAPI_CREATE_EVENT. Pass it the object type, key and event name and any other parameters. It even has some documentation.
Cheers
Mike -
How to call a RFC of a remote system from an ABAP webdynpro component
Dear Experts,
I am a newbie in ABAP Webdynpro.
I am working on a requirement where I have a webdynpro component on ECC system.I need to call a RFC located on CRM system from my webdynpro component on the ECC system.
How do I do that ?? Please help.
Regards,
Mamai.Calling RFC from some other system is same as local except the difference is that you have to give destination name while calling.
And the regarding the method of calling it depends on your FM.
if it is big RFC with complex structure, you can create the service call for it with destination given as RFC desitination.
if it is simple straight forward RFC you can directly call it.
for creating RFC service call call use this method
1. Starting the Wizard
To start the wizard, position the cursor on the Web Dynpro component to be edited in the object list at the left margin of the
workbench window. Open its context menu and choose the entry Create->Service Call. The wizard is started and leads you
through the creation process.
Press Continue.
2. Choice of Controller
On the second dialog window of the wizard, you can choose whether the service call is to be embedded in an existing
controller or whether a new controller is to be created for this purpose. Service calls can only always be embedded in
global controllers u2013 that is, in the component controller or in additionally created custom controllers. It is not possible, to
embed service calls in view controllers.
a. Select radio button Use Existent Controller
b. Do not change the default entry for component: <CC name>
c. Enter for controller COMPONENTCONTROLLER
d. Press Continue.
3. Service Type and Service Selection
a. You now select, which service type should be used for this service call. Select radio button Function Module. Fill the
destination here. Press Continue.
b. Select the service: for Function Module enter <RFC name>. Press Continue.
4. The Required Methods and Context Elements
On the two subsequent dialog windows, default values are listed for giving names to the context nodes and attributes
required by the service call as well as to the required methods. The proposed names are based on the names of the
embedded service, but you can change them as required. However, heed the respective notes in the corresponding dialog
box.
a. Adapt Context: Select from Nodes/Attributes . Press Continue.
b. Specify Method Name: leave all entries as provided: Component: Controller: COMPONENTCONTROLLER Method: EXCUTE_ Press Continue.
5. Completing the Choice
When you have confirmed the last dialog box, the generation is triggered. Afterwards you now have the required methods
and contexts at your disposal for using them within your Web Dynpro component.
or if you want to call directly the use the call statement with destination -
Call a remote RFC from one sap system to to other sap system
Hi experts,
I'd like to know how to connect two sap systems via RFC. The two systems are in the same network and I'd like to know how to set up the SM59 in order to create the destination to the RFC.
Any help in configuring the SM59 to stablish the communication?
thanks a lot.<b>You can do that from t-code SM59 or SALE</b>
This step is to create the Logical system for the remote system.
A logical system allows SAP internal functions to interface with external systems, either an SAP system or a non-SAP system. We also need to have a logical system name for the SAP system,.
SALE is the transaction.
Expand the Sending and receiving Systems and then the Logical systems click on define logical system.
You will receive the informational message, The table is cross-client. Click the green check icon to continue.
Now click on the New Entries.
The Screen appears like this here you will be giving the LS name and the description of that.
After u click on the save button a window will be displayed like the bellow asking for the Request ID. Here we can create our own or we can use the existing one.
After that we see the message blow as DATA SAVED.
Now the step is to Link the LS to the client.
Click on the Assign Client to LS .
The Screen as below will be appearing.
Double click on the client on which u r going to work and there specify the SAP LS(IDS47800) and you also need to specify the City and Std Currency and the client role as Test for the drop down box.
Register the RFC server module with the
SAP gateway
The RFC (Remote Function Call) destination is a logical name used to define the
Characteristics of a communication link to a remote system (in our case, LS for the remote system) on which a function needs to be executed. In ALE, the RFC specifies information required to log on to the remote SAP system to which an IDoc is being sent.
To register the RFC Sever Module as the RFC destination:
SAP transaction code: SM59 Type /nsm59 on the SAP input window and press the
Enter key.
Expand the TCP/IP connections directory.
Give some name to the RFC Destination (ALESERVER), Connection type as T. and fill the Description field.
In technical settings give the program name as you desired.
Click on save
regards,
srinivas
<b>*reward for useful answers*</b>
Message was edited by:
XI_Novice
Message was edited by:
XI_Novice
Maybe you are looking for
-
May be slightly simple question from a new Mac user: Why can't I quit safari? I cannot quit it from top menu bar neither to do it from dock? All other apps are working normally.
-
I not login my web site in firefox.
I not login my web site in firefox.why this ? this is my web site http://www.sitessubmitter.com/
-
Move Z fileds from Delivery to Billing document
Hi SD's, We've added new Z fields to LIPS and now I would like to see these fields in SD Billing document. Since I'm not used to work with SD I don't know how this is done, is it directly via Copy Control VTFL or do I've to do anything in between? If
-
Hi.....................does anyone know where i can get the firmware for my Sleek Photo. I have tried the creative download site but there isn't anything listed. Thanks Andrew
-
How work Tone Measuremen​ts instrument​?
Hi. Could you say me how works Tone Measurement tool in LabView 8.5.1? I need this information for my diploma thesis. It use FFT or Fourier transformation? Thank you! Solved! Go to Solution.