JCO Error Unable to call RFC

Hi Experts,
I am having one WDJ application calling an RFC which has one input parameter and output as a table. When i call the RFC and
deploy the application,  i am getting below error.
Could not create JCOClientConnection for logical System: WD_MODELDATA_DEST - Model: class sagia1.com.TRA_Mod.
Please assure that you have configured the RFC connections and/or logical system name properly for this model!
I checked in somany forums and tried with their solutions but not success. I tested and pinged the JCO destination which is
working fine. but ! i am getting the error when i run the application.
Thanks in advance
Suresh

Hi Suresh,
Please check that whether your WD applcation is picking correct JCO Modeldata and Metadata or not in Content Adminsitrator>>Web Dynpro>> Search here.
I think you have entered wrong name :- While creating model, you need to give porper names in
Default Logical System name for model instance (Copy here your JCO modeldata Destination name and paste it here)
Default Logical System name for RFC metadata(Copy here your JCO metadata Destination name and paste it here)
Hope it helps
Regards
Arun

Similar Messages

  • System Failure : FRONTEND_ ERROR raised While Calling RFC from R/3 to CRM

    Hi Experts,
    I'm Getting the Error System Failure Error "Error has occurred making remote call to method DISPLAY in system CRP_110".
    RFC function Module : CRM_FM_ACL_DISPLAY_FPO.
    I have Check the RFC Destination and other parameters passed is same.
    Please help me to resolve this issue in production and it's w

    Hi Nilesh,
    Well if you have already checked whether the FM is available in CRM system, then check SM58 & SM21 for logs of the RFC call. That should have the details for failure.
    Also please check if the FM is remote enabled. I dont have access to CRM system, hence cant verify.
    Thanks,
    Best regards,
    Prashant

  • Unable to call RFC

    Hi,
    I'm working on a web dynpro application that involves ARFC calls. After deploying this application to portal, I'm able to call the backend BAPIs with some users but not with all. I tried assigning the Super Admin role to one test user to check whether it solves the problem, but it did not.
    What could be the issue here? Something to do with JCo. I'm using uid/pwd for logging on to backend abap system.
    Any pointers are appreciated.
    Thanks,
    Vishwas.

    Hello Vishwas,
    I would say that check for the R/3 authorizations of the user in the backend system rather than in the portal to access the RFC Destination..
    Regards,
    Shikhil

  • 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 RFC Adapter fails - convert error

    Hi,
    I have a problem with calling RFC Adapter. I'm using JDBC->XI->RFC scenario. JDBC does just "select 'W' from dual". In the destination SAP system RFC function is created for test purposes. This function has one parameter - string type. After calling it, it should write a sysdate into the SAP Z_ table. The XI should call the function with the 'W' parameter. But this fails. Everything is ok, but calling the RFC returns following error (copied from the Runtime Workbench -> Message Monitoring :
    Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Expecting a tag to begin with '<' instead of 'W', in "u
    (Yes, this is thw whole error message. I don't know what u should be...)
    Did someone get this error?
    Thanx 4 answers, Peter

    Hello all,
    Let me reopen the topic of my colleague. I'm facing the same error though with bit different symptoms. Here it is.
    ERROR msg:
         Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Expecting a tag to begin with '<' instead of 'Z', in "T
    The XML message (MainDocument):
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Z_BAPI_ACCESSIBILITY_TEST_XI xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
      <BAPI1008 />
      <PARAM>Z_XID_500_ACC</PARAM>
      <ZTTOTH_BAPI1008 />
    - <b><ZTTOTH_STRUCT>
      <PARAM1></b>Z_XID_500_ACC</PARAM1>
      </ZTTOTH_STRUCT>
      </ns0:Z_BAPI_ACCESSIBILITY_TEST_XI>
    According to the error message the parser expects behind string ...<ZTTOTH_STRUCT><PARAM1> another tag, but the question is why.
    To make all this more funny here I paste another XML message of BAPI calling which works fine (without the error described above):
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Z_BAPI_PARAMETERS_TEST_XI xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
      <PARAM>Z_XID_500</PARAM>
    - <ZTTOTH_STRUCT>
      <PARAM1>Z_XID_500</PARAM1>
      </ZTTOTH_STRUCT>
      </ns0:Z_BAPI_PARAMETERS_TEST_XI>
    The BAPI functions are absolutely the same except those other two import-pramater structures (BAPI1008 and ZTTOTH_BAPI1008). I'm gonna to try to add those import-parameter structures into Z_BAPI_PARAMETERS_TEST_XI, but anyway - this is weird.
    Does anybody have an idea, what should be wrong ?
    Thx. Tom
    Message was edited by: Tomas Toth

  • Error in calling RFC

    Dear All,
    In one of my scenarios I have called RFC to my R/3 server. But now ita throwing an error mail that user id/password locked. I am checking the messages in SXMP_MONI and it is showing the following description.
    <b>com.sap.aii.af.ra.ms.api.DeliveryException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.af.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.af.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=10.6.4.55 SYSNR=00 GWHOST=10.6.4.55 GWSERV=sapgw00 PCS=1 LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner not reached (host 10.6.4.55, service sapgw00) TIME Sat Mar 17 07:46:10 2007 RELEASE 640 COMPONENT NI (network interface) VERSION 37 RC -10 MODULE nixxi_r.cpp LINE 8684 DETAIL NiPConnect2 SYSTEM CALL SiPeekPendConn ERRNO 10061 ERRNO TEXT WSAECONNREFUSED: Connection refused COUNTER 4</b>
    Can u please suggest what is the error and how can it be solved.
    Warm Regards,
    N.Jain

    hi,
    ya i have checked the RFC connection in SM%( and it is working and also I have tested the authorisation there for tht user and everything is working fine.
    but still the error message is coming in SXMB_MONI in every minute.
    Warm regards,
    N.Jain

  • FRF-00025  Unable to call function. Error message: Syntax error in program

    hi,
    when we try to import the export file,we are getting the following error in the 24th phase
    i.e., check DDIC Password.
    The Error is
    INFO       2007-10-29 15:53:20 [iaxxrfcimp.cpp:1017]
               CAbRfcImpl::callLibraryFunction
    Generating interface for remote function.
    TRACE      [iaxxrfcimp.cpp:1056]
               CAbRfcImpl::performFunctionCall
    Calling function module: INST_RFC_GET_INTERFACE
    WARNING[E] 2007-10-29 15:53:21 [iaxxrfcimp.cpp:1089]
               CAbRfcImpl::performFunctionCall
    FRF-00025  Unable to call function. Error message: Syntax error in program SAPLSUNI                                . .
    TRACE      [iaxxrfcimp.cpp:1090]
               CAbRfcImpl::performFunctionCall
    RFC failure or system exception raised
    TRACE      [iaxxrfcimp.cpp:1091]
               CAbRfcImpl::performFunctionCall
    Syntax error in program SAPLSUNI                                .
    TRACE      [iaxxbjsmod.cpp:657]
               CJSlibModule::showOkCancelBox_impl()
    <html>Test logon to SAP System I50 failed.<p>Make sure that the system is started, that the user DDIC exists and that the password of user DDIC is correct.</html>
    TRACE      [iaxxgenimp.cpp:1093]
               showDialog()
    waiting for an answer from gui
    What Could be the solution for this.
    waiting for ur reply
    SS

    Hi Friend,
    Please check whether or not there is view missing error recorded in dev_w0 trace file.
    if there is , you can try to follow this procedure in order to manually
    import the missing view definitions.
    All steps must be carried out with the <sid>adm user of the target
    system and from the install-directory:
    1. In the install-directory
    <sapinst_instdir>\...COPY\IMPORTT\SYSTEM\ABAP\ORA\UC\DB
    create a file SAPVIEW.cmd with the following content:
    tsk: "<sapinst_instdir>\...\COPY\IMPORT\SYSTEM\ABAP\ORA\UC\DB\SAPVIEW.TSK"
    icf: "
    <YOUR_EXPORT_DIRECTORY>\export\DATA\SAPVIEW.STR"
    dcf: "<sapinst_instdir>\...\COPY\IMPORT\SYSTEM\ABAP\ORA\UC\DB\DDLORA.TPL"
    dat: null
    dir: null
    ext: null
    Please make sure that all paths are written correctly (in one line) and
    the refered files are existant and readable. One exception:
    The SAPVIEW.TSK file is created with step 2.:
    2. Run from the command-line:
    R3load -ctf I
    <YOUR_EXPORT_DIRECTORY>\export\DATA\SAPVIEW.STR <sapinst_instdir>\...\COPY\IMPORT\SYSTEM\ABAP\ORA\UC\DB\DDLORA.TPL SAPVIEW.TSK ORA -l SAPVIEW.log
    If there's a problem reading the 'SAPVIEW.STR' file, copy the
    file to the install directory and adapt the path accordingly.
    3. Run the view import by:
    R3load.exe -i SAPVIEW.cmd -dbcodepage <YOUR_CODE_PAGE> -l SAPVIEW.log
    -stop_on_error
    4. Check both the SAPVIEW.log and the SAPVIEW.TSK file whether all views
    have been created successfully.
    If 4. is okay, restart the central instance and check whether you are
    able to log on now. If yes, continue 'sapinst' by the option 'retry' or
    'continue old installation'.
    I Hope It can be helpful.
    With Best Regards
    Julia

  • How to via JCO Call RFC upload file to the SAP DMS.

    HI ,ALL :
      NOW i want to upload file via JCO,but i upload in sap gui is success ,but jco call RFC is error ,this is my code:
    excute this  code is not error ,but the data not write to SAP,
            //连接SAP
              Client client = com.hipfung.jco.JCOFactory.getInstance().getClient();
              JCO.Repository repo = new JCO.Repository("ZOA01", client);
              //调用RFC函数
              IFunctionTemplate ft = repo.getFunctionTemplate("CVAPI_DOC_CHECKIN");
              JCO.Function f = ft.getFunction();
              IFunctionTemplate ft2 = repo.getFunctionTemplate("BAPI_TRANSACTION_COMMIT");
              JCO.Function commitFunction = ft2.getFunction();
              //设置传入参数值(注意类型)
              //1.传入参数为Field
                f.getImportParameterList().setValue("TXB",          "PF_DOKAR");  //
              f.getImportParameterList().setValue("0000010101010101020000000","PF_DOKNR");  //文档类型
              f.getImportParameterList().setValue("01","PF_DOKVR");                          //文档版本
              f.getImportParameterList().setValue("000","PF_DOKTL");     
              f.getImportParameterList().setValue("SAPFTPA","PF_FTP_DEST");     
              f.getImportParameterList().setValue("SAPHTTPA","PF_HTTP_DEST");     
              // Get content as table
              f.getImportParameterList().setValue("TBL", "PF_CONTENT_PROVIDE");
            //read file and trans to byte
                      byte b[]=null;
                        File inf = new File("d:
    test.jpg");
                        InputStream in;
                        try {
                             in = new FileInputStream(inf);
                              b =new byte[(int)inf.length()];     //创建合适文件大小的数组
                             in.read(b);                          //读取文件中的内容到b[]数组
                             in.close();
                        } catch (FileNotFoundException e1) {
                             // TODO Auto-generated catch block
                             e1.printStackTrace();
              //set byte to internal table     
             JCO.Table poItem = f.getTableParameterList().getTable("PT_CONTENT");        
             poItem.appendRow(); //增加空行
             poItem.setValue(b, "ORBLK");
             poItem.nextRow();
             //运行RFC函数
              try
                   client.execute(f);
                   client.execute(commitFunction);
              catch(JCO.AbapException ae)
                   System.err.println("JCO.AbapException: < DMS > " + ae);
                   ae.printStackTrace();
              catch(JCO.Exception e)
                   System.err.println("JCO.Exception: < DMS > " + e);
                   e.printStackTrace();
             //返回参数
              JCO.Structure struct = f.getExportParameterList().getStructure("PSX_MESSAGE");
              String te = struct.getString("MSG_TYPE");
              System.out.println("RFC Error Type is :"+te);
              String pr = struct.getString("MSG_TXT");
              System.out.println("RFC get Data is :"+pr);
              com.hipfung.jco.JCOFactory.getInstance().release(client);
    i  can get file via CVAPI_DOC_CHECKoutView
    Edited by: pan qiaoming on Mar 15, 2011 3:05 PM

    HI ,ALL :
      NOW i want to upload file via JCO,but i upload in sap gui is success ,but jco call RFC is error ,this is my code:
    excute this  code is not error ,but the data not write to SAP,
            //连接SAP
              Client client = com.hipfung.jco.JCOFactory.getInstance().getClient();
              JCO.Repository repo = new JCO.Repository("ZOA01", client);
              //调用RFC函数
              IFunctionTemplate ft = repo.getFunctionTemplate("CVAPI_DOC_CHECKIN");
              JCO.Function f = ft.getFunction();
              IFunctionTemplate ft2 = repo.getFunctionTemplate("BAPI_TRANSACTION_COMMIT");
              JCO.Function commitFunction = ft2.getFunction();
              //设置传入参数值(注意类型)
              //1.传入参数为Field
                f.getImportParameterList().setValue("TXB",          "PF_DOKAR");  //
              f.getImportParameterList().setValue("0000010101010101020000000","PF_DOKNR");  //文档类型
              f.getImportParameterList().setValue("01","PF_DOKVR");                          //文档版本
              f.getImportParameterList().setValue("000","PF_DOKTL");     
              f.getImportParameterList().setValue("SAPFTPA","PF_FTP_DEST");     
              f.getImportParameterList().setValue("SAPHTTPA","PF_HTTP_DEST");     
              // Get content as table
              f.getImportParameterList().setValue("TBL", "PF_CONTENT_PROVIDE");
            //read file and trans to byte
                      byte b[]=null;
                        File inf = new File("d:
    test.jpg");
                        InputStream in;
                        try {
                             in = new FileInputStream(inf);
                              b =new byte[(int)inf.length()];     //创建合适文件大小的数组
                             in.read(b);                          //读取文件中的内容到b[]数组
                             in.close();
                        } catch (FileNotFoundException e1) {
                             // TODO Auto-generated catch block
                             e1.printStackTrace();
              //set byte to internal table     
             JCO.Table poItem = f.getTableParameterList().getTable("PT_CONTENT");        
             poItem.appendRow(); //增加空行
             poItem.setValue(b, "ORBLK");
             poItem.nextRow();
             //运行RFC函数
              try
                   client.execute(f);
                   client.execute(commitFunction);
              catch(JCO.AbapException ae)
                   System.err.println("JCO.AbapException: < DMS > " + ae);
                   ae.printStackTrace();
              catch(JCO.Exception e)
                   System.err.println("JCO.Exception: < DMS > " + e);
                   e.printStackTrace();
             //返回参数
              JCO.Structure struct = f.getExportParameterList().getStructure("PSX_MESSAGE");
              String te = struct.getString("MSG_TYPE");
              System.out.println("RFC Error Type is :"+te);
              String pr = struct.getString("MSG_TXT");
              System.out.println("RFC get Data is :"+pr);
              com.hipfung.jco.JCOFactory.getInstance().release(client);
    i  can get file via CVAPI_DOC_CHECKoutView
    Edited by: pan qiaoming on Mar 15, 2011 3:05 PM

  • Exception when using jco to call rfc

    Hi All,
        When I used JCO to call rfc 'RFC_GET_TABLE_ENTRIES' to get the records of the table 'MARC'. I met the following Exception, it seems that there are too many records in the table. And I have used the import parameter 'MAX_ENTRIES' to set the number of records , but it seems no use. So is there any suggestion to solve this problem?
    Exception in thread "main" com.sap.conn.jco.JCoException: (104) RFC_ERROR_SYSTEM_FAILURE: No storage space available for extending an internal table.
         at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:602)
         at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1679)
         at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1018)
         at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1071)
         at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1056)
         at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:251)
         at JTest.step4WorkWithTable(JTest.java:179)
         at JTest.main(JTest.java:351)
    Caused by:
    RfcException: [null]
        message: No storage space available for extending an internal table.
        Return code: RFC_SYS_EXCEPTION(3)
        error group: 104
        key: RFC_ERROR_SYSTEM_FAILURE
        message class: SR
        message type: A
        message number: 044
        message parameter 0: TSV_TNEW_PAGE_ALLOC_FAILED
         at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1927)
         at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1631)
         ... 6 more
    Caused by: com.sap.conn.rfc.exceptions.RfcGetException: No storage space available for extending an internal table.
         at com.sap.conn.rfc.engine.RfcImp.ab_rfcerror(RfcImp.java:1233)
         at com.sap.conn.rfc.engine.RfcGet.rfcget_run(RfcGet.java:128)
         at com.sap.conn.rfc.engine.RfcGet.ab_rfcget(RfcGet.java:23)
         at com.sap.conn.rfc.engine.RfcRcv.ab_rfcreceive(RfcRcv.java:32)
         at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1884)
         ... 7 more
    Thank you very much

    Congrats Darek!
    That function really works... here is my program test:
    package integracao.sap.teste;
    import java.util.Properties;
    import integracao.sap.config.ConfigUtil;
    import integracao.sap.funcao.RFC_READ_TABLE;
    import com.sap.mw.jco.IRepository;
    import com.sap.mw.jco.JCO;
    public class TestJCOError {
         private static Properties config;
         private static JCO.Client createJCOClient(){
              JCO.Client client = JCO.createClient(config.getProperty("numClient"), config.getProperty("user"), config.getProperty("password"), "EN", config.getProperty("host"), config.getProperty("numPrograma"));
              return (client);
    @param args
         public static void main(String[] args) {
              config = ConfigUtil.getConfig();
              JCO.Client client = createJCOClient();
              client.connect();
              IRepository repository = JCO.createRepository("REP", client);
              JCO.Function func = RFC_READ_TABLE.createFunction(repository);
              func.getImportParameterList().setValue("MARC", "QUERY_TABLE");
              func.getImportParameterList().setValue(";",    "DELIMITER");
              func.getTableParameterList().getTable("OPTIONS").appendRow();
              func.getTableParameterList().getTable("OPTIONS").setValue("MATNR = '000000000000000011'", "TEXT");
              func.getTableParameterList().getTable("FIELDS").appendRow();
              func.getTableParameterList().getTable("FIELDS").setValue("MATNR", "FIELDNAME");
              client.execute(func);
              JCO.Table table = func.getTableParameterList().getTable("DATA");
              System.out.println("NumRows: " + table.getNumRows());
              System.out.println("Content: " + table.getValue("WA"));
    Result:
    NumRows: 1
    Content: 000000000000000011
    Hope it helps everybody!
    Regards,
    Danilo Andrade

  • Error when call RFC Function module in R/3

    Dear All,
    We are trying to call RFC function module CBIF_GLM1_PROCESS_ORDER_READ (This is not a BAPI and also not released ) in R/3 from XI system.
    we are facing the error "Error while lookup Exception during processing the payload. Error when calling an adapter by using the communication channel CC_PPPI_MES_RFC_Rcvr (Party: , Service: WCD_320, Object ID: 16563889b449328eac76caa6a3bc592e) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.adapter.rfc.util.bapi.BapiException: Parameter with name RETURN not found.'. Cause Exception: 'com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.adapter.rfc.util.bapi.BapiException: Parameter with name RETURN not found.'."
    This is the first time we are doing this configuration.
    Could you please let me know what woulbe the reason.

    read the original message
    We are trying to call RFC function module CBIF_GLM1_PROCESS_ORDER_READ (This is not a BAPI and also not released ) in R/3 from XI system.
    I am talking about the above Receiver RFC channel which you guys are using to call R/3 from XI. That where you need to change the commit parameter

  • Error while calling RFC when using BSP Web Interface

    Hi,
    we have a problem with the Authorization when we use an Web Interface for BSP. We have assigned all roles to the user which were mentioned in the SAP standard documentation:
    R_AREA   
    R_METHOD 
    R_PACKAGE
    R_PARAM  
    R_PLEVEL 
    R_PM_NAME
    R_PROFILE
    R_STS_PT 
    R_STS_SUP
    R_WEBITF 
    S_RS_ADMWB
    S_RS_AUTH
    S_RS_COMP
    S_RS_COMP1
    S_RS_DAS 
    S_RS_ICUBE
    but we still get the error message: "Error while calling RFC".
    When using a user with SAP_ALL, it works.
    What can we do?
    Thx for your time.
    Joerg

    Actually that's surprising - because BSP (Business Server Pages) and RFC (Remote Function Call) are not related; they use totally different transport protocols (http vs. RFC). Even if an BSP application is calling a function module remotely (acting as RFC client) no authorizations for S_RFC are required - in the calling system (but in the called system, i.e. the RFC server).
    Since assigning SAP_ALL seems to "cure" the problem, it seems to be an authorization issue, indeed. In that case it makes sense to use the authorization trace (ST01 - notice: that's specific to one single ABAP application server; you might have to activate the trace on multiple instances) to find out which authorizations are checked / demanded.

  • Java call rfc check in original:error while checking in and storing.

    hi,experts.
    java call rfc check in original:error while checking in and storing. BAPI in the RFC is "BAPI_DOCUMENT_CJANGE2",
    the RFC was fine in SE37 and calling by Visual Basic. and in java,when mConnection.setAbapDebug(true), and  runing by step and step, was fine too.
    if mConnection.setAbapDebug(false) in JAVA, up error in title was displayed.
    what cause this error?
    Best Regards.

    Hi Priya
    Please use Su53 after getting the error and find any authorization is missing for the user..
    S_GUI Full Authorization is required..
    Since by giving BASIS Authorization its rectificed, then it shud be mostly due to Auth issues only
    Regards
    Aby

  • Error while calling RFC

    Hi all WebDynpro Gurus
    I am using EP7.
    I am developing an WD application for KM functionality in which I need to call RFC from backend. I followed the "<b>Creating WD application accessing ABAP function</b>" example.
    But when I executed the application I got following exception.
    <i><b>Root Cause</b>
    The initial exception that caused the request to fail, was:
       com.sap.lcr.api.cimclient.CIMClientException: java.net.MalformedURLException: URL must have a host part
    <b>Correction Hints</b>
    Accessing the System Landsape Directory (SLD) failed. Depending on the concrete reason (see root cause) check the following:
    is the SLD Supplier in the J2EE engine configured correctly? See the SLD documentation for more details about the SLD and about how to configure it.
    are all JCO destinations maintained correctly? Use the preinstalled Web Dynpro Content Admin application to check/edit the destination. Use the Ping and Test functions of the Content Admin to verify that each destination is properly configured.</i>
    I checked JcO connections in the webdynpro content admin. There the status is unknown and create tabs are disabled.
    I checked the SLD connections in content admin , the entries are as below:
    <b>Host name : blank
    Port: -1
    User: blank
    Url: http://.-1/sld</b>
    Where could i configure these SLD settings and what should be the new entries ?
    I dont have permission to view WebDynpro console.
    Please help me out.

    Vinod,
    Claim: "Hello, World" application with WD and RFC is the "Hello, World" application with most complex configuration.
    Prove:
    1. You need to run http://host:port/sld and import CIM context
    2. You need to add technical WebAS ABAP systems to SLD (same URL)
    3. You need to run Visual Administrator and setup SLD connection parameters (host, port, user, password)
    4. You need to (re)deploy your WD application
    5. You need to run web-based WebDynpro Content Administrator and configure JCO connections.
    Fortunately, [1]-[4] is necessary only ones per server, [5] is necessary per every application.
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net
    P.S. After I'd started working with XI I understood that procedure described above is not complex at all

  • Error when opening an RFC connection (CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679

    Hi,
    We update the BW landscape for version 7.4 suppport package 4 (whitout HANA).
    We use a external system connection to extract data from a SQLServer database (Microsoft Connector 1.1 for SAP/BW)
    In the previous version (BW 7.0.1 SP 10) run correctly, but now is in error.
    Below the  BW error log:
    Error: COMMUNICATION_FAILURE with function RSB_API_OHS_3RDPARTY_NOTIFY and target system SQLIS.
    Error when opening an RFC connection (CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679 Transaction program not regist).
    Error log of Integrations Services
    [SAP BI Destination 1 [476]] Error: Microsoft.SqlServer.Dts.SapBw.Connectivity.ERPException: An error occurred during the dispatch of the incoming function. The last return code was "RFC_FAILURE".
    em Microsoft.SqlServer.Dts.SapBw.Components.SapBwSourceBWLoader.ProcessInput(Int32 inputID, PipelineBuffer buffer)
    em Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
    [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "SAP BI Destination 1" (476) failed with error code 0x80131500 while processing input "SAP BI Destination Input" (491). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.  There may be error messages posted before this with more information about the failure.
    I checked the topic and notes below, but without success
    CPIC Return Code 679 - Transaction Program not Registered - ABAP Connectivity - SCN Wiki
    Note 1480644 - gw/acl_mode versus gw/reg_no_conn_info.
    Note 353597 - Registering RFC server programs
    Regards,
    Bruno

    Hi Bruno,
    We were able to resolve the issue. SAP RDS is assisting us with our upgrade and one of their consultants gave us this fix/workaround.
    Edit and add an entry into P:\usr\sap\<SID>\DVEBMGS00\data\reginfo.dat on your BW host server.
    Below is the entry I added.
    P TP=<NAME OF PROGRAM ID> HOST=<remote hostname where you creating the RFC to> CANCEL=<remote hostname> ACCESS=*
    P TP=CTSAPNPSCI_PORTAL_FPS HOST=ctsapnpsci CANCEL=ctsapnpsci ACCESS=*
    Then in BW system goto smgw > goto > Expert Funtions > External Security > ReRead ACL (N) & Globally
    I hope that this works for you.
    Regards
    James 

  • Error message when calling a Business Connector RFC destination from SRM

    Hello all,
    We are facing one problem with data Purchase Order transmission between SRM 5.0 (SRM_SERVER 5.5, extended classic scenario) and Business Connector 4.7.
    We made needed customizing in order to have "XML / XI" output medium available in tab 'Company Data' in "Manage Business Partners" web transaction (by updating BBP_USE_AI table in SM30 transaction).
    Then, we implemented BAdI definition BBP_EBPXML_OUT_BADI with method PURCHASEORDER in order to change XI system type to Business Connector.
    In this way, PO transfer data between SRM and BC is done using BC Module Function BAPI_POEC_XML_SEND (TCP/IP RFC connection was defined for Purchase Order in BBPC_RFCDEST table).
    Nevertheless, even if method BBP_PO_SEND_XML is correctly triggered when PO is created with a vendor with XML output medium, we have in the document output log ("Process Purchase Order" web transaction) an error message:
    ' Error (Unknown Partner and Message Type. Routing Rule created. Sender: SMR Receiver:) when calling RFC destination BC '
    where SRM is the SRM log. sys. and BC the Business Connector log. sys.
    Our EAI team is working on it, but if you have any idea, your are welcome !
    Thank you in advance.
    Regards.
    Laurent

    Hello Christian,
    Thank you for your help. However, we abandoned this solution between SRM and Business Connector.
    So, we followed instructions indicated in OSS note 883693 - "ECS: PO output determination in R/3".
    Nevertheless, in order to restrict this behaviour for specific vendors and purchasing organizations, we added some filters.
    It is working fine.
    However, when the PO is modified in SRM, then order again, PO is modified in R/3 (by the RFC user from SRM) more than once.
    As a consequence, we have as much messages as modifications of the order in R/3 (due to multiple RFC access with the SRM RFC user).
    Does anybody have an idea to have only one R/3 output message when the PO is modified in SRM ?
    One solution could be to check in the NAST table if the time creation of the last output message is lower than, for example, one minute.
    If it is the case, we do not allow R/3 ouput message.
    Any suggestions is welcome.
    Regards.
    Laurent.

Maybe you are looking for