Call to RFC via proxy...

I have a scenario where a Proxy is calling an RFC. My question is will the control return back to XI after the call or does it return after the complete processing of the RFC? Could someone please clarify?

hi siru,
if ur scenario is synch then xi wud call the rfc , the rfc will be executed and only after the execution is complete , xi will receive the result and send to the other system. thus the scenario "waits" for the rfc to execute. further processing in sender application is blocked.
while in asynch the scenario is complete as soon as xi calls the rfc. the applications here are loosely coupled.
if u r using BPM, many simultaneous branches can wrk and send/receive messages acc to the process design.
[reward if helpful]
regards,
latika.

Similar Messages

  • Where should i call the rfc function module? in xi or in r/3

    where should i call the rfc function module?
    for the synch scenario: file < -- >  xi <---> rfc
    i know the type of rfc is tcp/ip; but i'm not sure with the followings,
    and with some trials i can not even see any message via rwb even all the setting
    can be activated without errors.
    where should i create the rfc destination? in r/3 or xi
    where should i call the rfc via abap program? in r/3 or xi
    i guess the calling program should belong to the different server with the rfc itself....
    so confused....
    Thanks for your reply!!
    Jun

    if i create the destination in xi point to r/3, then i call the rfc use the destination in r/3 right ?
    The call doesnt use the destination in R3. XI has the RFC destination which is just used to connect to the R3 system
    but where i need to create the fm via se37? in xi or r/3 ?
    In R3
    Regards,
    Prateek

  • PI ( old version called XI ) connectivity with ABAP via Proxy

    Hi
    Could any body please share with me the sample code for
    connectivity  of  PI ( old version called XI )  and ABAP  via Proxy for Outbound interface.
    points will be rewarded for sure
    Thanks & Regards
    Meeta

    The prerequisites to configure ABAP Proxy include: (landscape dependent) 
    The business systems should be based on SAP Web AS 6.20 and SAP Web AS 6.20 kernel patch level above 1253
    You have installed the XI Add-On in each of these business systems as described in the Installation Guide SAP Exchange Infrastructure 3.0
    The business systems and your central Integration Server are maintained in the System Landscape Directory (SLD).
    Configuration required on the Business System:
    1.       Create a HTTP connection in the business system using transaction SM59
    Technical Setting:
    ·         Connection Type: H
    ·         Target Host: System name
    ·         Service Number: HTTP Port name
    ·         Path Prefix: /sap/XI/engine/?type=entry
    Logon Security
    On the Logon/Security tab page, enter the following logon data:
    ·         User: XIAPPLUSER (for example); this user should represent the sending business system (see also the SAP XI Security Guide under Service Users for Message Exchange).
    ·         Password: the password you have specified for this user
    ·         Client: SAP XI Integration server
    ·         Language: Language required 
    2.       Configuration Business system as local Integration Engine.
    1.       Go to Transaction SXMB_ADM
    2.       Choose Edit --> Change Global Configuration Data.
    3.       Select Role of Business System: Application system
    4.       Corresponding Integration server: dest:// XI_XIR_CONNECTION created in step 1. Dest://XI_XIR_CONNECTION.
    5.       Under Specific Configuration Data you can specify additional configuration data
    Select the relevant category under Specific Configuration Data.
    Choose Change Specific Configuration Data.
    For ABAP Proxies, Add the following configuration:
    1.Category RUNTIME
    2.Parameters: IS_URL
    3.Current Value: dest://XI_XIR_CONNECTION

  • Calling an RFC from an EJB over an Enterprise Connector

    Hi all,
    I would like to call an RFC enabled Function Modul (FuBa) from a BW-System over an EJB in a Web AS environment bei  passing SAP Logon Ticket.
    To achive this goal, i've generated proxy classes (Enterprise Connector) via NWDS .
    If i call enterprise connector localy from an example class (See attachment), it works.
    BUT
    if I use the same Code within an EJB, bei correct deployment , it doesn't work. I become an exception, during to establish a connection
    What is wrong here ?
    What do i have to do in an a EJB-Environment to use an Enterprise Connector ?
    Best Regards
    A. Büyükyilmaz
    ATTACHMENT
    Created on 13.02.2007
    To change the template for this generated file go to
    Window>Preferences>Java>Code Generation>Code and Comments
    package de.xxx.test.ep.main;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import com.sap.aii.proxy.framework.core.ApplicationFaultException;
    import com.sap.aii.proxy.framework.core.SystemFaultException;
    import com.sap.mw.jco.JCO;
    import de.xxx.yyy.zzz.connectivity.fuba.Anlage_PortType;
    import de.xxx.yyy.zzz.connectivity.fuba.Zge_Gerel_Data_For_Kne_Kn_Input;
    import de.xxx.yyy.zzz.connectivity.fuba.Zge_Gerel_Data_For_Kne_Kn_Output;
    @author pg4011
    To change the template for this generated type comment go to
    Window>Preferences>Java>Code Generation>Code and Comments
    public class GetAnlage {
    private JCO.Client mConnection = null;
    public boolean connectToSAP(
    String client,
    String user,
    String passwd,
    String lang,
    String appServer,
    String sysNo) {
    try {
    mConnection =
    JCO.createClient(client, user, passwd, lang, appServer, sysNo);
    mConnection.connect();
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    return true;
    public static void main(String[] args) {
    GetAnlage anlage = new GetAnlage();
    if (anlage.connectToSAP ("50", "abc", "pwd", "DE", "system", "00")) {
    System.out.println("Anlage wird erstellt");
    anlage.getData();
    System.out.println("");
    System.exit(0);
    private void getData() {
    // ImportParameter
    Zge_Gerel_Data_For_Kne_Kn_Input input = new Zge_Gerel_Data_For_Kne_Kn_Input();
    // Hole proxy Instance mit JCO.Client instance
    Anlage_PortType proxy = new Anlage_PortType();
    proxy.messageSpecifier.setJcoClient(mConnection);
    Zge_Gerel_Data_For_Kne_Kn_Output output = new Zge_Gerel_Data_For_Kne_Kn_Output();
    input.setI_Bp_Nr("7901514764");
    input.setI_View("03");
    input.setI_Spras("DE");
    Date stichtag = new Date(2006, 9, 22);
    input.setI_Stichtag(stichtag);
    //Rufe RFC auf
    try {
    output = proxy.zge_Gerel_Data_For_Kne_Kn(input);
    String s = "";
    System.out.println(s);
    } catch (SystemFaultException e) {
    e.printStackTrace();
    } catch (ApplicationFaultException e) {
    e.printStackTrace();

    Hi Rajesh,
    it's realy funny.  Although, i inserted som trace outputs behind of catch-statement, i do not see any information about exception in application log.
    but i see, that the method becomes correct inputparameters and i see it try to make a connection. After that, it end without a trace.
    Best Regards
    Ahmet

  • Unable to call the RFC from the WD java Program

    Hi All,
    I have a table and three buttons Create, Edit, Save in the layout.
    If no record available in the R3 the the end user will click on create and then he will click on save so that the insert RFC will be called accordingly and the record will be inserted.My table is limited to 5 records only. If  i enter all the 5 records and Click on submit the record is inserting in the backend , but if i enter less than 5 records im unable to call the RFC what might be the issue. 
    My insert RFC takes one Table node and 4 import parameters i'm passing all of the all the mentioned import parameters.
    Code:-
    View Controller code
    // This file has been generated partially by the Web Dynpro Code Generator.
    // MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
    // ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
    package com.gmr.ess;
    // IMPORTANT NOTE:
    // ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED
    // BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN
    // AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateAPPView).
    // OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY
    // A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS
    // OF IMPORT STATEMENTS.
    //@@begin imports
    import java.math.BigDecimal;
    import java.util.Date;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Collection;
    import java.util.Iterator;
    import com.gmr.ess.wdp.IPrivateAPPView;
    import com.gmr.pck.Zst_Hr_Nominee;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    import com.sap.tc.webdynpro.services.sal.um.api.IWDClientUser;
    import com.sap.tc.webdynpro.services.sal.um.api.WDClientUser;
    //@@end
    //@@begin documentation
    //@@end
    public class APPView
    Logging location.
      private static final com.sap.tc.logging.Location logger =
        com.sap.tc.logging.Location.getLocation(APPView.class);
      static
        //@@begin id
        String id = "$Id$";
        //@@end
        com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
    Private access to the generated Web Dynpro counterpart
    for this controller class.  </p>
    Use <code>wdThis</code> to gain typed access to the context,
    to trigger navigation via outbound plugs, to get and enable/disable
    actions, fire declared events, and access used controllers and/or
    component usages.
    @see com.gmr.ess.wdp.IPrivateAPPView for more details
      private final IPrivateAPPView wdThis;
    Root node of this controller's context. </p>
    Provides typed access not only to the elements of the root node
    but also to all nodes in the context (methods node<i>XYZ</i>())
    and their currently selected element (methods current<i>XYZ</i>Element()).
    It also facilitates the creation of new elements for all nodes
    (methods create<i>XYZ</i>Element()). </p>
    @see com.gmr.ess.wdp.IPrivateAPPView.IContextNode for more details.
      private final IPrivateAPPView.IContextNode wdContext;
    A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
    Represents the generic API of the generic Web Dynpro counterpart
    for this controller. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDViewController wdControllerAPI;
    A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
    Represents the generic API of the Web Dynpro component this controller
    belongs to. Can be used to access the message manager, the window manager,
    to add/remove event handlers and so on. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
      public APPView(IPrivateAPPView wdThis)
        this.wdThis = wdThis;
        this.wdContext = wdThis.wdGetContext();
        this.wdControllerAPI = wdThis.wdGetAPI();
        this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
      //@@begin javadoc:wdDoInit()
      /** Hook method called to initialize controller. */
      //@@end
      public void wdDoInit()
        //@@begin wdDoInit()
        try{
              IWDMessageManager manager1 = wdComponentAPI.getMessageManager();
              IWDClientUser user = WDClientUser.getLoggedInClientUser();
              String logUser= user.getSAPUser().getUniqueName();
              wdContext.currentContextElement().setUserid(logUser);
              wdThis.wdGetAPPController().executeBapi_Employee_Getdata_Input();//Returns the user id for the employee
              Collection nomineeList = new ArrayList();
              wdThis.wdGetAPPController(). executeZ_Hrfm_Nominee_Disp_Input( );          
              int nomineeTableSize = wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().size();
              for(int i=0;i< nomineeTableSize;i++){          
                IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
                ele.setAddr(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getAddr());
                ele.setDob(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getDob());
                ele.setGuard(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getGuard());
                ele.setName(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getName());
                ele.setPerc(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getPerc());
                ele.setRelat(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getRelat());
                nomineeList.add(ele);
              wdContext.nodeDisplay_table_node().bind(nomineeList);
              wdContext.currentContextElement().setEdit_val_attr(true);
              if(nomineeTableSize<=0){
                   wdContext.currentContextElement().setCreateButtonEnable(true);
                   wdContext.currentContextElement().setEditButtonEnable(false);
              else{
                   wdContext.currentContextElement().setCreateButtonEnable(false);
                   wdContext.currentContextElement().setEditButtonEnable(true);
        catch(Exception e){
              wdComponentAPI.getMessageManager().reportException("",true);
        //@@end
      //@@begin javadoc:wdDoExit()
      /** Hook method called to clean up controller. */
      //@@end
      public void wdDoExit()
        //@@begin wdDoExit()
        //@@end
      //@@begin javadoc:wdDoModifyView
    Hook method called to modify a view just before rendering.
    This method conceptually belongs to the view itself, not to the
    controller (cf. MVC pattern).
    It is made static to discourage a way of programming that
    routinely stores references to UI elements in instance fields
    for access by the view controller's event handlers, and so on.
    The Web Dynpro programming model recommends that UI elements can
    only be accessed by code executed within the call to this hook method.
    @param wdThis Generated private interface of the view's controller, as
           provided by Web Dynpro. Provides access to the view controller's
           outgoing controller usages, etc.
    @param wdContext Generated interface of the view's context, as provided
           by Web Dynpro. Provides access to the view's data.
    @param view The view's generic API, as provided by Web Dynpro.
           Provides access to UI elements.
    @param firstTime Indicates whether the hook is called for the first time
           during the lifetime of the view.
      //@@end
      public static void wdDoModifyView(IPrivateAPPView wdThis, IPrivateAPPView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
        //@@begin wdDoModifyView
        //@@end
      //@@begin javadoc:onActionGetData(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionGetData(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionGetData(ServerEvent)
        //$$begin ActionButton(-535519310)
        //wdThis.wdGetAPPController().executeZ_Hrfm_Nominee_Disp_Input();
        //$$end
        //@@end
      //@@begin javadoc:onActionEdit(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionEdit(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionEdit(ServerEvent)
       //$$begin ActionButton(-535519310)
       displayTablesize=wdContext.nodeDisplay_table_node().size(); 
       if(displayTablesize<5){
         for(int i=0;i<size-displayTablesize;i++){           
              IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
              wdContext. nodeDisplay_table_node().addElement(ele);               
       operation="MOD"; 
       wdContext.currentContextElement().setTableReadOnly(true);
       wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);                                 
        //$$end
        //@@end
      //@@begin javadoc:onActionCreate(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionCreate(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionCreate(ServerEvent)
         int month=0,year=0,day=0;
         String month1,day1,year1;   
         try{
              displayTablesize=wdContext.nodeDisplay_table_node().size();
              wdContext.currentContextElement().setEdit_val_attr(false);
              if(wdContext.nodeDisplay_table_node().isEmpty()){                    
                   if(displayTablesize<5){
                        Calendar cal=Calendar.getInstance();
                        month=cal.get(Calendar.MONTH)+1;
                        if(month==1||month==2||month==3||month==4||month==5||month==6||month==7||month==8||month==9){
                             month1="0"+month;
                        else{
                             month1=""+month;                                   
                        day = cal.get(Calendar.DAY_OF_MONTH);
                             if(day==1||day==2||day==3||day==4||day==5||day==6||day==7||day==8||day==9){
                             day1=  "0"+day;
                        else{
                             day1=""+day;
                        year = cal.get(Calendar.YEAR);
                        year1=""+year;
                        String strFormat=day1"."month1"."year1;                    
                        wdContext.currentOutput_NomineeElement().setBegda(strFormat);
                        wdContext.currentOutput_NomineeElement().setEndda("31.12.9999");                         
                        for(int i=0;i<size-displayTablesize;i++){           
                             IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
                             wdContext. nodeDisplay_table_node().addElement(ele);               
                   operation="INS";
                   wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);                    
              wdContext.currentContextElement().setTableReadOnly(true);          
         catch(NullPointerException npe){
              wdComponentAPI.getMessageManager().reportException("No Data Available",true);
        //@@end
      //@@begin javadoc:onActionSaveData(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionSaveData(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionSaveData(ServerEvent)
         float percentage=0;
         float dupePercentage=0;
         boolean isTest = false;
         Collection DispTList =      new ArrayList();
         IWDMessageManager manager1 = wdComponentAPI.getMessageManager();
         try{
              displayTablesize = wdContext.nodeDisplay_table_node().size();
              //for(int     i=1;i<=displayTablesize;i++){
              for(int     i=0;i<displayTablesize;i++){
                   BigDecimal share = wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc();
                   String name =  wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName();
                   percentage = share.floatValue();
                   dupePercentage = dupePercentage + percentage;
                   if(name!=null && share!=null){                    
                        Zst_Hr_Nominee nominee = new Zst_Hr_Nominee();
                        nominee.setAddr(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getAddr());
                       manager1.reportSuccess(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getAddr());               
                        nominee.setDob(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getDob());     
                        manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getDob());               
                        nominee.setGuard(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getGuard());     
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getGuard());               
                        nominee.setName(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName());
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName());                    
                        nominee.setPerc(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc());
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc());
                        nominee.setRelat(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getRelat());     
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getRelat());               
                        DispTList.add(nominee);     
                   wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().nodeNominee_ins().bind(DispTList);
              if((dupePercentage)!=100)
              wdComponentAPI.getMessageManager().reportException(
                        "The sum of the share Percentages is not 100. Modify the percentages accordingly",true);
              wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().nodeNominee_ins().bind(DispTList);
              IWDMessageManager manager = wdComponentAPI.getMessageManager();
              String beginDate = wdContext.currentOutput_NomineeElement().getBegda();
              manager.reportSuccess(wdContext.currentOutput_NomineeElement().getBegda());
              String endDate=wdContext.currentOutput_NomineeElement().getEndda();
              manager.reportSuccess(wdContext.currentOutput_NomineeElement().getEndda());
              wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setBegda(beginDate);
              wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setEndda(endDate);          
              wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);
              wdComponentAPI.getMessageManager().reportSuccess(operation);     
              wdThis.wdGetAPPController().executeBapi_Employee_Getdata_Input();
              wdThis.wdGetAPPController().executeZ_Hrfm_Nominee_Ins_Mod_Input();           
              //wdContext.currentContextElement().setTableReadOnly(false);
         catch(Exception e){
              e.getMessage();
        //@@end
    The following code section can be used for any Java code that is
    not to be visible to other controllers/views or that contains constructs
    currently not supported directly by Web Dynpro (such as inner classes or
    member variables etc.). </p>
    Note: The content of this section is in no way managed/controlled
    by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      int nomineeTableSize = 0;
      int displayTablesize = 0;
      String operation= null;
      int size=5;
    // float dupePercentage=0;
      //String mod_op="MOD";
      //@@end
    content of obsolete user coding area(s) -
    //@@begin obsolete:javadoc:onActionSave(ServerEvent)
    //  /** Declared validating even
    Component controller code
    // This file has been generated partially by the Web Dynpro Code Generator.
    // MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
    // ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
    package com.gmr.ess;
    // IMPORTANT NOTE:
    // ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED
    // BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN
    // AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateAPP).
    // OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY
    // A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS
    // OF IMPORT STATEMENTS.
    //@@begin imports
    import java.util.Iterator;
    import com.gmr.ess.wdp.IPrivateAPP;
    import com.gmr.pck.Bapi_Employee_Getdata_Input;
    import com.gmr.pck.Bapip0002B;
    import com.gmr.pck.Z_Hrfm_Nominee_Disp_Input;
    import com.gmr.pck.Z_Hrfm_Nominee_Ins_Mod_Input;
    import com.gmr.pck.Zst_Hr_Nominee;
    import com.sap.lcr.api.util.SetProfileConnect;
    import com.sap.tc.webdynpro.modelimpl.dynamicrfc.WDDynamicRFCExecuteException;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    //@@end
    //@@begin documentation
    //@@end
    public class APP
    Logging location.
      private static final com.sap.tc.logging.Location logger =
        com.sap.tc.logging.Location.getLocation(APP.class);
      static
        //@@begin id
        String id = "$Id$";
        //@@end
        com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
    Private access to the generated Web Dynpro counterpart
    for this controller class.  </p>
    Use <code>wdThis</code> to gain typed access to the context,
    to trigger navigation via outbound plugs, to get and enable/disable
    actions, fire declared events, and access used controllers and/or
    component usages.
    @see com.gmr.ess.wdp.IPrivateAPP for more details
      private final IPrivateAPP wdThis;
    Root node of this controller's context. </p>
    Provides typed access not only to the elements of the root node
    but also to all nodes in the context (methods node<i>XYZ</i>())
    and their currently selected element (methods current<i>XYZ</i>Element()).
    It also facilitates the creation of new elements for all nodes
    (methods create<i>XYZ</i>Element()). </p>
    @see com.gmr.ess.wdp.IPrivateAPP.IContextNode for more details.
      private final IPrivateAPP.IContextNode wdContext;
    A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
    Represents the generic API of the generic Web Dynpro counterpart
    for this controller. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdControllerAPI;
    A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
    Represents the generic API of the Web Dynpro component this controller
    belongs to. Can be used to access the message manager, the window manager,
    to add/remove event handlers and so on. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
      public APP(IPrivateAPP wdThis)
        this.wdThis = wdThis;
        this.wdContext = wdThis.wdGetContext();
        this.wdControllerAPI = wdThis.wdGetAPI();
        this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
      //@@begin javadoc:wdDoInit()
      /** Hook method called to initialize controller. */
      //@@end
      public void wdDoInit()
        //@@begin wdDoInit()
        //$$begin Service Controller(1490375209)
    //    wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().bind(new Z_Hrfm_Nominee_Ins_Mod_Input());
         Z_Hrfm_Nominee_Ins_Mod_Input input = new Z_Hrfm_Nominee_Ins_Mod_Input();
         input.addNominee(new Zst_Hr_Nominee());
         wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().bind(input);
        //$$end
        //$$begin Service Controller(-932523997)
        wdContext.nodeZ_Hrfm_Nominee_Disp_Input().bind(new Z_Hrfm_Nominee_Disp_Input());
        //$$end
        //$$begin Service Controller(-368783613)
        wdContext.nodeBapi_Employee_Getdata_Input().bind(new Bapi_Employee_Getdata_Input());
        //$$end
        //@@end
      //@@begin javadoc:wdDoExit()
      /** Hook method called to clean up controller. */
      //@@end
      public void wdDoExit()
        //@@begin wdDoExit()
        //@@end
      //@@begin javadoc:wdDoPostProcessing()
    Hook called to handle data retrieval errors before rendering.
    After doModifyView(), the Web Dynpro Framework gets all context data needed
    for rendering by validating the contexts (which in turn calls the supply
    functions and supplying relation roles). In this hook, the application
    should handle the errors which occurred during validation of the contexts.
    Using preorder depth-first traversal, this hook is called for all component
    controllers starting with the current root component.
    Permitted operations:
    - Flushing model queue
    - Creating messages
    - Reading context and model data
    Forbidden operations:
    - Invalidating model data
    - Manipulating the context
    - Firing outbound plugs
    - Creating components
    @param isCurrentRoot true if this is the root of the current request
      //@@end
      public void wdDoPostProcessing(boolean isCurrentRoot)
        //@@begin wdDoPostProcessing()
        //@@end
      //@@begin javadoc:wdDoBeforeNavigation()
    Hook before the navigation phase starts.
    This hook allows you to flush the model queue and handle any
    errors that occur. Firing outbound plugs is allowed in this hook.
    Using preorder depth-first traversal, this hook is called for all component
    controllers starting with the current root component.
    @param isCurrentRoot true if this is the root of the current request
      //@@end
      public void wdDoBeforeNavigation(boolean isCurrentRoot)
        //@@begin wdDoBeforeNavigation()
        //@@end
      //@@begin javadoc:wdDoApplicationStateChange()
    Hook that informs the application about a state change.
    <p>
    This hook is called e.g. to tell the application that will be
    <ul>
    <li>left via a suspend plug and therefore should go into a suspend/sleep
         mode with minimal need of resources. errors that occur. Firing
         outbound plugs is allowed in this hook.
    <li>left due to a timeout and could write it's state to a data base if the
         user comes back later on
    </ul>
    The concrete reason is available via IWDApplicationStateChangeInfo
    <p>
    <b>Important</b>: This hook is called for the top level component only!
    @param stateChangeInfo contains the information about the nature of the state change
    @param stateChangeReturn allows the application to ask for a different state change.
           The framework is allowed to ignore it considering i.e. the current resources situation.
      //@@end
      public void wdDoApplicationStateChange(com.sap.tc.webdynpro.progmodel.api.IWDApplicationStateChangeInfo stateChangeInfo, com.sap.tc.webdynpro.progmodel.api.IWDApplicationStateChangeReturn stateChangeReturn)
        //@@begin wdDoApplicationStateChange()
        //@@end
      //@@begin javadoc:executeBapi_Employee_Getdata_Input()
      /** Declared method. */
      //@@end
      public void executeBapi_Employee_Getdata_Input( )
        //@@begin executeBapi_Employee_Getdata_Input()
        //$$begin Service Controller(1705750894)
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
         Iterator itrGetData = null;
                             Bapip0002B out = null;
        try
          wdContext.currentBapi_Employee_Getdata_InputElement().modelObject().execute();
          wdContext.nodeOutput().invalidate();
           itrGetData = wdContext.currentOutputElement().modelObject().getPersonal_Data().iterator();
           while (itrGetData.hasNext()) {
               out = (Bapip0002B) itrGetData.next();
          empNo = out.getPerno();
          wdContext.currentZ_Hrfm_Nominee_Disp_InputElement().setPernr(empNo);
         wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setPernr(empNo);
    //      manager.reportSuccess(empNo);
         //wdThis.executeZ_Hrfm_Nominee_Disp_Input();
        catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
        //$$end
        //@@end
      //@@begin javadoc:executeZ_Hrfm_Nominee_Disp_Input()
      /** Declared method. */
      //@@end
      public void executeZ_Hrfm_Nominee_Disp_Input( )
        //@@begin executeZ_Hrfm_Nominee_Disp_Input()
        //$$begin Service Controller(-366407911)
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
          wdContext.currentZ_Hrfm_Nominee_Disp_InputElement().modelObject().execute();
          wdContext.nodeOutput_Nominee().invalidate();
        catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
        //$$end
        //@@end
      //@@begin javadoc:executeZ_Hrfm_Nominee_Ins_Mod_Input()
      /** Declared method. */
      //@@end
      public void executeZ_Hrfm_Nominee_Ins_Mod_Input( )
        //@@begin executeZ_Hrfm_Nominee_Ins_Mod_Input()
        //$$begin Service Controller(1524028406)
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
          wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().modelObject().execute();
          wdContext.nodeOutput_nominee_ins_mod().invalidate();
        catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
        //$$end
        //@@end
    The following code section can be used for any Java code that is
    not to be visible to other controllers/views or that contains constructs
    currently not supported directly by Web Dynpro (such as inner classes or
    member variables etc.). </p>
    Note: The content of this section is in no way managed/controlled
    by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      String empNo = null;
      //@@end
    Suman
    Edited by: sumankumar kurimilla on Dec 23, 2008 9:26 AM

    Hi,
    I have checked from RFC side that is working fine only java app its not working can you tell any thing needs to be changed from my application end.
    Please check in Savedata action.
    Regards,
    Suman
    Edited by: sumankumar kurimilla on Dec 23, 2008 11:01 AM

  • Calling Synchronous RFC Function Module in Background

    Hi all,
    Currently we are working on some requirement where in we have to retrieve data from one system(CRM) and update the same into another system(ECC). We have developed a RFC Function in CRM system and it is being called from ECC system as in synchronous mode via a batch program.
    Now since all sychronous call to a RFC function will be dialog there is a constraint on the runtime which is being set by maximum run time for each dialog work process. So my question is there an option to call an RFC function synchronously in background (background task) so there is no runtime performance.
    The standard TRFC, QRFC calls in background runs asynchronously and so I am trying to check with the SDN world as whether has anyone tried  SRFC(Synchronous) call in background?
    Thanks in advance,
    Jagath

    So my question is there an option to call an RFC function synchronously in background (background task) so there is no runtime performance.
    One solution would be to increase the value of the "time out" parameter defined the CRM system. This i feel is not a fool-proof solution as the run-times cannot be predicted. Check this thread: Re: RFC timeout profile parameter
    For me a better solution would be to implement tRFC call instead of a synchronous call. Any reasons why you don't want to implement a tRFC ?
    BR,
    Suhas
    Edited by: Suhas Saha on Jun 26, 2010 8:52 AM

  • Call external RFC in a workflow

    Hi!
    I'm going through the tutorials at
    http://help.sap.com/saphelp_46c/helpdata/en/fb/1359c4457311d189440000e829fbbd/frameset.htm.
    I had a question - as one of the steps in the workflow, is it possible to call an RFC on an external system (a destination defined via SM 59), get the response back, and use that response in the next step in the workflow, which again calls another RFC on an external system?
    Thanks,
    Mustansir

    Yes, you can achieve that by using the corresponding methods of the activity defined.
    Regards, IA

  • Which is better for bulk message scenario in sap xi RFC or Proxy

    which is better for bulk message scenario in ( RFC or Proxy ) ?
    Edited by: prabhatxi on Aug 6, 2010 4:44 PM

    Proxy will alwaays be better option in this case, as it is adapter less framework, and communication happens directly with XI central integration engine. So it is always fast communication and gives good performance.
    But still you should consider other factors, you may consider using RFC as well, as sometime we go for RFC/IDOC as this are the standard interfaces already available rather than creating structure...
    May be you can share more info on what type/volume data are you planning to send via XI?
    Hope this cleart your doubt..
    Divyesh

  • BAPI or RFC or PROXY

    Hi Experts,
    I have a scenario where purchase order and goods receipt  info is coming from an external application to XI.
    Too update ECC with the same..do i use a bapi/rfc or proxy?
    I mean call bapi in the proxy or import bapi directly?..what is the best procedure?
    Is it possible to use purchase order IDOC?...
    Do we have any BAPI for creating internal order?

    Hi Teja,
    Find below some of the threads related to that.
    [When and Where and how to use Proxies]
    [When to use RFC ,Idoc and proxies]
    [Re: Proxies Vs. Adapters: When to use Proxy?]
    [Use of Proxies(both java and abap)]
    Regards,
    Venu V
    Edited by: Venu V on Jul 27, 2009 2:24 PM

  • How to call Asynchronous RFC

    Hi Everybody,
                Could yo pls guide me on how to implement asynchronous RFC. When i run my RFC using Report :
    CALL FUNCTION 'Z_HR_NO_ALTINN_TX'  DESTINATION 'Q3A2X7A'starting new task 'test'
      exporting
        PASSWORD = 's'.
    I get the error saying :
    <b>What happened?</b>
        When executing the asynchronous RFC, the RFC destination "Q3A2X7A" had
        neither an internal (connection type 'I') nor an R/3 communication
        type (connection type '3'.
        Error in ABAP application program.
        The current ABAP program "Z_ALTINN_TEST" had to be terminated because one of
         the
        statements could not be executed.
        This is probably due to an error in the ABAP program.
    <b>Error analysis</b>
        A typical cause of error is the
        execution of external programs (RFC destinations of the type
        TCP/IP) via asynchronous Remote Function Call (RFCs with the
        addition 'STARTING NEW TASK taskname').
        RFC destination... "Q3A2X7A"
    I would like to know if async RFC call is possible to XI.
    Regards,
    Raj

    Hi,
    you need to call the RFC from ERP, R3
    with
    call function XXXXX
    <b>in background</b>
    and Commit work.
    Regards,
    michal

  • How to call the RFC's from the third party applications or Non SAP applicat

    Hi,
    For calling RFC's from the wedynpro , SAP has provided the modeling concept.
    In the same way, if i want to access or call the RFC 's from the third applications or Non SAP applications what is the procedure and what is the methodoligy.
    As per my knowledge, we need to expose those RFC's as webservices . Then we must be able to acces in hetrogeous environment from any third party applications..
    Please revert back soon, It is very urgent.
    Regards
    Vijay

    Ayyappa Raj,
    Thanks for the reply.
    Please let me the detailed information for implementing.
    AS you said . I need expose the RFC's as webservice. This point is clear to me.
    2) Use tthe JCo to connect and create client proxy.
    Can u please elabrate the above point?
    If u have any steps created in the document or url to refer. Please forward it to me.
    Please forwar the document to this id "vijay00" in yahoo.
    AS the sdn is not allowing to give  the maill id i have given only the id details in yahoo.
    I am new to this procedure.
    Regards
    Vijay

  • How to call the RFC from XI system

    Dear Friends,
        My requirement is RFC to RFC scenario      i.e SAP to XI to Third party system.
    I have the BAPI_EUQI_CREATE rfc, this RFC is available in ECCsystem, that RFC I imported in XI system, so third party system how to call this RFC.
    please give me the suggestion it is very helpful.
    Regards,
    Shalini Shah

    Hi Shalini,
    You have create a RFC in the 3rd party system and import that RFC in XI System using 3rd party adapter.Do the necessary mapping and configure the sender RFC Adapter and at receiver side configure 3rd paty Adapter.
    The 3rd party adapters must be installed via Deploy Tool or JSPM. But u should have a sda file with the adpater content.
    see here for more details on JSPM
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5006901f-925c-2910-5f98-9ae26cc07eca
    For more info:
    If you still want to do it,
    1. Import the RFCs of sender and of receiver.
    2. Do the necessary mapping.
    3. Configure sender and receiver RFC adapters.
    Before that check if you have RFC destination for the RFC adapter. If not You should establish it. To establish an RFC destination for the RFC adapter.
    1. Call the transaction Display and Maintain RFC Destinations (SM59).
    2. Select an existing RFC destination of type ABAP Connections (for example, ABAP_Old) by double-clicking it.
    3. Choose Destination ® Copy and copy the RFC destination using a new name (for example, ABAP_New).
    4. Save the new RFC destination (ABAP_New) and delete the old RFC destination (ABAP_Old).
    5. Create a new RFC destination (for example, RFC_Adapter) of type T (TCP/IP connection) as the RFC destination for the RFC adapter.
    6. Select the registration type Registered Server Program and in the Program ID field enter the corresponding program ID from the configuration of the sender RFC adapter.
    7. In the Gateway host and Gateway service fields, enter the gateway host and gateway service from the configuration of the sender RFC adapter.
    8. If the sender system is a Unicode system, define the RFC destination as Unicode.
    9. Using the name of the old ABAP connection (ABAP_Old), create a new RFC destination of type L (logical destination with reference entry).
    10. In the Reference Entry field enter the RFC destination (RFC_Adapter) for the RFC adapter.
    For more details take a look at this link. http://help.sap.com/saphelp_nw70/helpdata/en/25/76cd3bae738826e10000000a11402f/content.htm
    Dont forget to Reward points if this helps
    Regards
    Pragathi.
    Edited by: Pragathi on May 24, 2008 7:21 AM

  • RFC vs Proxy

    Hello ,
    We are working on JDBC to RFC scenario in SAP XI,
    We have to do
    huge functionality like calling  Two standard Transaction working on  two BDC programs and Creating the Log errors  and additional performs in side the RFc.
    IS it advisable to do like that..
    Or better to use Server proxy.
    If we use server proxy what are the advantages and issues in this scenario.

    difference between RFC and Proxy :
    *proxy is always better than RFc in many cases *
    Proxy Supports Synchronus and asynchronus Communicatio .
    proxy it is used to procees the Mapping and rooting on Integration Enginee bypass th Adapter Enginee so it will improve the performance.
    dont need to create Sender Communiv=cation Channel and Agreement in ID .
    proxy support more than 5 MB.
    proxy is used to control Application, Sysytem Error.
    supports Ackonwledgements
    supports Attachments
    but if u want to use Client Proxy then need to write REport.
    Rfc :
    RFc Supports Synchronus and asynchronus Communication.
    Dont need to write any Repotr.
    need to create Communication channels in ID.
    RFC Adapter :
    http://help.sap.com/saphelp_nw04/helpdata/en/33/c6e63b60c25767e10000000a11402f/frameset.htm
    step by step:
    http://www.****************/Tutorials/XI/RFC2JDBC/Index.htm
    proxy:
    http://help.sap.com/saphelp_nw04/helpdata/en/86/58cd3b11571962e10000000a11402f/frameset.htm
    what is Server proxy and client proxy
    Client Proxy - https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1387
    Server Proxy - https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1457
    Step-by-Step Guide on Proxy Runtime Configuration and Proxy to JDBC Scenario Using Canonical Objects and PIS in PI 7.1
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0ac1a33-debf-2c10-45bf-fb19f6e15649?QuickLink=index&overridelayout=true
    http://www.****************/Tutorials/XI/ABAPClientProxy/page1.htm
    refer below thread for more info:
    http://scn.sap.com/thread/2144939

  • RFC - Java Proxy (Synchronous) invoking method

    Hi,
    I have problems to call my inbound java proxy.
    My scenario consist of send RFC -> Java Proxy (Synchronous)
    Proxy this registered
    http://hcp095.intra.csc.es:50100/ProxyServer/register?ns=http://csc.es/xi/rca&interface=Z_RCA_SCS&bean=ZRCASCS_PortTypeBean&method=zRCASCS
    ejb-jar.xml:
    <ejb-jar>
        <description>EJB JAR description</description>
        <display-name>EJB JAR</display-name>
        <enterprise-beans>
            <session>
                <ejb-name>ZRCASCS_PortTypeBean</ejb-name>
                <home>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundHome4</home>
                <remote>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundRemote4</remote>
                <local-home>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundLocalHome4</local-home>
                <local>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundLocal4</local>
                <ejb-class>es.csc.xi.rca.ZRCASCS_PortTypeBean</ejb-class>
                <session-type>Stateless</session-type>
                <transaction-type>Container</transaction-type>
            </session>
        </enterprise-beans>
    </ejb-jar>
    Class Impl:
    package es.csc.xi.rca;
    public class ZRCASCS_PortTypeImpl extends AbstractProxy implements ZRCASCS_PortType {
    public ZRCASCSResponse_Type zRCASCS(ZRCASCS_Type parameters) throws ZRCASCSException_Message_Exception, SystemFaultException,  ApplicationFaultException{
            //throw new RuntimeException();
            Rca_ws a = new Rca_ws();
            return a.zRCASCS(parameters);
    Error: XI_Monitor 
    <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Error invoking method zRCASCS of proxy bean $Proxy305: cannot assign instance of com.sap.guid.GUID to field com.sap.aii.proxy.xiruntime.core.MessageSpecifierImpl.guid of type com.sap.guid.IGUID in instance of com.sap.aii.proxy.xiruntime.core.MessageSpecifierImpl: com.sap.aii.proxy.xiruntime.core.XmlInboundException: Error invoking method zRCASCS of proxy bean $Proxy305: cannot assign instance of com.sap.guid.GUID to field com.sap.aii.proxy.xiruntime.core.MessageSpecifierImpl.guid of type com.sap.guid.IGUID in instance of com.sap.aii.proxy.xiruntime.core.MessageSpecifierImpl</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
    Error: defaultTrace
    #hcp095.intra.csc_XID_19271950#ANGUZMAN#ec20b7f019f611de98340011259e6830#
    SAPEngine_Application_Thread[impl:3]_36##0#0#Error##Plain##
    #com.sap.aii.proxy.xiruntime.core.XmlProxyException: Error invoking method zRCASCS of proxy bean $Proxy366:
    cannot assign instance of com.sap.guid.GUID to field com.sap.aii.proxy.xiruntime.core.MessageSpecifierImpl.guid
    of type com.sap.guid.IGUID in instance of com.sap.aii.proxy.xiruntime.core.MessageSpecifierImpl
         at com.sap.aii.proxy.xiruntime.core.XmlProxyJ2EE.call(XmlProxyJ2EE.java:192)
         at com.sap.aii.proxy.xiruntime.core.XmlProxy$ProxyBeanCaller.call(XmlProxy.java:225)
         at com.sap.aii.proxy.xiruntime.core.XmlProxy.processRequest(XmlProxy.java:194)
         at com.sap.aii.proxy.xiruntime.core.XmlInbound.processRequestMessage(XmlInbound.java:126)
         at com.sap.aii.proxy.xiruntime.core.XmlInbound.processMessage(XmlInbound.java:83)
         at com.sap.aii.proxy.xiruntime.sbeans.JPRBean.onMessage(JPRBean.java:158)
         at com.sap.aii.proxy.xiruntime.sbeans.JPRLocalLocalObjectImpl0_0.onMessage(JPRLocalLocalObjectImpl0_0.java:175)
         at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:276)
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1049)
         at com.sap.aii.af.ra.ms.impl.core.queue.RequestConsumer.onMessage(RequestConsumer.java:119)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:850)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(AccessController.java:180)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    If somebody can help me.
    Thank you very much

    Solved!!!
    to assign library references to the project application-j2eeengine.xml
    com.sap.aii.proxy.xiruntime
    com.sap.aii.messaging.runtime
    com.sap.xi.util.misc
    com.sap.guid

  • Why We Call Adpative RFC MODEL?

    Hi ,
    Why We Call Adaptive RFC MODEL?
    What is RFM?

    Hi Subbarao,
    The Adaptive Remote Function Call (Adaptive RFC) is a technology that enables the Web Dynpro application developer to use the business functions encapsulated in Business APIs (BAPIs) even after a structure modification, without having to provide the new data using a second back end or a new structure with subsequent regeneration of the proxies.
    This new RFC model shows adaptive behavior. This means that the RFC proxies do not use the original design time structure definition at runtime. Instead, this Web Dynpro model automatically adapts the data of the structure passed in the Java proxy generation to the current data – that is, a structure definition in the back-end system that may have been modified
    For more info go through this link..
    [Adaptive RFC|http://help.sap.com/saphelp_nw70/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm]
    Importing RFC's
    __http://help.sap.com/saphelp_nw70/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm__
    RFM - stands for Remote-enabled Function Modules, amd you can learn more about it from
    http://help.sap.com/saphelpnw70/helpdata/en/22/0427c0488911d189490000e829fbbd/frameset.htm_
    Difference between BAPI and RFM --
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.
    You create business objects and those are then registered in your BOR (Business Object Repository)
    which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.
    In this case u only specify the business object and its method from external system
    in BAPI there is no direct system call. while RFC are direct system call.
    Hope this helps,
    Reward Points if helpful,
    Regards,
    Shailesh Nagar

Maybe you are looking for

  • My ipod shuffle 1st generation cannot connect to itunes.

    It should be working fine as I can charge it normally and the lights are reacting. However, there is no way I can input songs as it does not react on itunes. Please let me know how.Thanks.

  • Transaction is not Rolling Back in Stateless Session Bean

              Hi,           I am using UserTransaction in Stateless Session bean .           Transaction is not rolling back.           The following code is writen in stateless session bean. In UserTransaction i am           calling Two methods of anoth

  • Implement BI 7.0 Technical Content for BI admin Cockpit

    Hi Experts I should begin to activate, fill, and use the BI Technical Content system. My goal is to set up and use the BI Administrative Cockpit. I start by filling the necessary objects and running the queries. I am new to this area.Could any one pr

  • Printing Company Name

    I can't print company name to labels using address book. I've tried and tried. I've tried for hours! It prints contact name and address but not company name. Very frustrated! Anyone have a fix. Thanks very much for your help! Matt

  • Remove prefix when creating menu for user in pfcg

    Can I change the way pfcg creates a use menu? It now starts with the rolename and then the logical SAP menu path. When I have different roles with the same path the "collapse menu" option does not work as the two start with a diffent role name. Can I