Calling WDDOINIT

Hi,
I got a simple question.
How to call WDDOINIT inside a method/action.
Normally to call a method we use wd_this->methoname( ).
But in WDDOINIT how do we call?
Thanks,

Hi Suba,
WDDOINIT is a predefined hook method and is called automatically by the webdynpro framework.
It is not meant to be called by an application developer. If some part of the code in this method is to be used somewhere else, create another method to incorporate that reusable code and call that method wherever required.
Regards,
Chitrali

Similar Messages

  • Move at the beginning of a view in each postback

    How to move at the beginning of a view in each postback ??

    Hi Nancy,
                  I don't get you clearly. If you are asking to move beginning of (initialize) a view whenever you are coming back, just you can call wdDoInit() method in onPlugFromXXX() method.
    regards,
    Siva

  • WdDoInit() is not called

    Hi,
    I am running an example from SAP WebDynpro tutorial (A Simple Input form) and I got a null value error from the checkMandatory method.
    The method throws the null exception beacuse a field value is NOT initialized. The initialization should have been set in the wdDoInit() method but The wdDoInit() method is not executed.
    I thought wdDoInit is called automatically before a form is rendered. Pls help me trouble shoot this error. Do I miss a setting a flag or variable ?
    Thanks in Advance
    -Viliandy

    Right, when you change the name of the attribute, you must re-bind the layout field to the context.  Glad that it worked out for ya.
    Regards,
    Rich Heilman

  • Calling on the wdDoInit

    Is there a way to be calling on the wdDoInit in the context controller from a linked view?

    Hi kristoffer,
    wdDoInit in ComponentController or in ViewController would be called only one time automatically by the WAS.
    If you want to call some code which is used in wdDoInit then seperate them in another method and call them from wdDoInit and from another view as well.
    wdThis.initialize();
    From another view if you want to call this initialize method then you might do that like this.
    wdThis.wdGet<herecomesyourcomponentname>().initialize();
    Hope this helps.If you need more info please do elaborate your situation.
    Also you are posting webDynpro related postings in Portal development.I would do that in webdynpro forums so that you get more specific answers from many experts in that Area.

  • Hiding a subview called in a main view in WEBDYNPRO Application

    Hello Experts,
    I have a scenario in which i am calling a subview inside a main view. I have created a main view in which:-
    1. List of reportee to the manager logged in is getting displayed in the form of a table.
    2. When we select any row of this table ( means selection of any reportee row) and click on a button 'Get Details', then it  should display the detailed personal data of that reportee.
    I have successfully called an already created personal data view inside this main view to display the detailed personal data of any selected reportee. But the issue is in the main view:-
    1. This view has table containing the list of reportee getting displayed.
    2. This view simultaneously also displays the default first row detailed data of the table of reportee.
    Our requirement is:-
    1. To display only table containing the list of reportee in the first load of main view.
    2. Then when any row of this table is selected, then only the detailed data specific to that row should be displayed.
    My approach till now is:-
    1. I have removed the default first row lead selection for the table of reportee.
    2. I have created a node VISIBILITY_DET_DATA and then an attribute IS_VISI BLE under that node of type WDUI_VISIBILITY.
    3. In the layout section i have created a group GROUP_DETAIL_DATA and a view container UI element under that to call the detailed data view when any row of table containing the list of reportee is selected.
    4. I have created a binding for the VISIBLE  property of the group GROUP_DETAIL_DATA to the attribute IS_VISI BLE created in the context of the component contoller.
    5. I have then used the method WDDOINIT of the main view to write code to hide the detailed data view by setting the IS_VISIBLE flag to '02' i.e. NONE.
    But this is causing the entire view to be coming as blank view.
    I am not sure why this is happening, Can any of you suggest if i am missing anything important which is cauing this analomy.
    Rupesh

    Hi ,
    This is a Webdynpro related question. you would have got many repsonses if you posted in webdynpro forum.
    i) I would want to know how to hide Image object or the transparent container which holds the IMAGE object, dynamically through the code inside the MODIFYVIEW method of the view
    You can do a post_exit enhancement in the  MODIFYVIEW method. Get the UI element object  from view and There are methods to set the visibility at runtime.
    Is there an option to dynamically specify diffent image based on the login language with the IMage container?
    i think yes, same procedure as first question's answer. Based on condition you can change the source path of the mime object .

  • Fields appear as "Read Only" in an Int.Form called from a WD

    Hi Experts!
    I am having a doubt in an Adobe Int.Form, that is called from a WD application.
    The fields that are in my Form, always appear as a "read only". It is not possible to modify anything there.
    Here, I describe the steps that I follow.
    I create a very simple WD application. In its WD View, exist an unique Object (Adobe Interactive Form).
    In that object, I set the properties:
    "Data source": a context variable type "my structure". "My structure", is a simple structure with a couple or three fields, let´s say PERNR, BUKRS, WERKS... It is linked to the Form Interface (ABAP DICTIONARY-BASED INTERFACE). So in this way, the link between my WD and the AdobeInt.Form is working.
    "PDF Source": a context variable type XSTRING.
    "Template Source": here I have set my Int.Form. Currently, it only contains a couple of fields
    "Enabled": True.
    "Read Only": False.
    In the AdobeForm, I have drag & droped those 2 or 3 fields, save it, and activate it. I guess nothing more is needed, for my test.
    And at last, in the View´s method WDDOINIT, I am reading one of those fields, let´s say the employee number (PERNR), and I set by hardcoding its number (let´s say -> 00000001).
    Until here, everything seems to work fine. When I launch the WD test, the Adobeform appears, at the moment, with only one of my fields (Employee - PERNR), and its value is filled in with '00000001'.
    But now, I would like to write something by myself. And when I try to do it, it is not possible! Field PERNR, is displayed as a "READ ONLY".
    Someone knows what is happening here? I guess it should be possible, to activate as a "EDITABLE" that field in my Form.
    So here is my doubt.
    Am I doing anything wrong? Or am I doing any mistake?
    Thank you very much in advance!

    Finally I think I have found the problem.
    In the View where I am printing the ADOBEFORM, it is needed this code under the method WDDOMODIFYVIEW.
    method WDDOMODIFYVIEW .
      DATA: LV_INTERACTIVE_FORM   TYPE REF TO CL_WD_INTERACTIVE_FORM,
                 LV_METHOD_HANDLER     TYPE REF TO IF_WD_IACTIVE_FORM_METHOD_HNDL.
      LV_INTERACTIVE_FORM ?= VIEW->GET_ELEMENT( 'INT_FORM' ). "   adobeform object in view
      IF LV_INTERACTIVE_FORM IS NOT INITIAL.
          LV_METHOD_HANDLER ?= LV_INTERACTIVE_FORM->_METHOD_HANDLER.
          LV_METHOD_HANDLER->SET_LEGACY_EDITING_ENABLED( ABAP_TRUE ).
          LV_METHOD_HANDLER->SET_HIDE_NAVIGATION_PANEL( ABAP_TRUE ).
          LV_METHOD_HANDLER->SET_DISABLE_PRINT_BUTTON( ABAP_TRUE ).
          WD_THIS->M_METHOD_HANDLER ?= LV_INTERACTIVE_FORM->_METHOD_HANDLER.
          WD_THIS->M_METHOD_HANDLER->SET_HIDE_TOOLBARS( ABAP_TRUE ).
        ENDIF.
    endmethod.
    Regards,
    Carles

  • 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

  • Connection reset error while calling web service deployed on tomcat

    Hello Friends,
    I am trying to invoke a web service from web dynpro application. The web service is deployed on tomcat 5.5 server.
    I am creating an adaptive web service model using wsdl file. The model gets created without any error.
    But when application is deployed and run it is giving following exception:
    java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
        ... 102 more
    I tried to call the service from a simple java application. There the service works fine.
    Also, in the web services navigator, if I specify the wsdl url for testing it gives the same error of "Connection reset".
    I don't think this is a proxy server issue as the tomcat is within the local network.
    Can someone please help me with this?
    Thanks and regards,
    Mayuresh
    Edited by: Mayuresh Kanvinde on Mar 27, 2008 7:03 PM

    Hi Sumit,
    Thanks for the reply.
    Here is the stack trace:
    com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for WSDL URL 'http://<host>:<port>/WebServicesTest/DummyWebService?wsdl' and service factory configuration 'null'
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:422)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.readOperationsFromWSDL(WSModelInfo.java:372)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadataInternal(WSModelInfo.java:342)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:326)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo$Cache.getModelInfo(WSModelInfo.java:199)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getModelInfoFromCacheOrCreate(WSModelInfo.java:1035)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getModelInfoFromCacheOrCreate(WSModelInfo.java:248)
         at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModel.<init>(WSTypedModel.java:41)
         at com.tcs.vis.Vishy.<init>(Vishy.java:73)
         at com.tcs.app.AppView.wdDoInit(AppView.java:101)
         at com.tcs.app.wdp.InternalAppView.wdDoInit(InternalAppView.java:143)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
         at com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:445)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:709)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:579)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:155)
         at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.doOpen(WebDynproWindow.java:295)
         at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.show(ApplicationWindow.java:183)
         at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.open(ApplicationWindow.java:178)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:364)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:748)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:283)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.webservices.jaxrpc.exceptions.WebserviceClientException: GenericServiceFactory initialization problem. Could not load web service model. See nested exception for details.
         at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DGenericServiceImpl.generateProxyFiles(DGenericServiceImpl.java:150)
         at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DGenericServiceImpl.<init>(DGenericServiceImpl.java:50)
         at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:71)
         at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:91)
         at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:420)
         ... 45 more
    Caused by: com.sap.engine.services.webservices.jaxrpc.exceptions.ProxyGeneratorException: Proxy Generator Error. Problem with WSDL file parsing. See nested message.
         at com.sap.engine.services.webservices.jaxrpc.wsdl2java.ProxyGenerator.generateProxy(ProxyGenerator.java:182)
         at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DGenericServiceImpl.generateProxyFiles(DGenericServiceImpl.java:147)
         ... 49 more
    Caused by: com.sap.engine.lib.xml.util.NestedException: IO Exception occurred while parsing file:Connection reset -> java.net.SocketException: Connection reset
         at com.sap.engine.services.webservices.wsdl.WSDLDOMLoader.loadDOMDocument(WSDLDOMLoader.java:1039)
         at com.sap.engine.services.webservices.wsdl.WSDLDOMLoader.loadWSDLDocument(WSDLDOMLoader.java:1126)
         at com.sap.engine.services.webservices.jaxrpc.wsdl2java.ProxyGenerator.generateProxy(ProxyGenerator.java:178)
         ... 50 more
    Caused by: java.net.SocketException: Connection reset
         at java.net.SocketInputStream.read(SocketInputStream.java:168)
         at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
         at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
         at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
         at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
         at com.sap.engine.services.webservices.jaxm.soap.LimitedInputStream.read(LimitedInputStream.java:61)
         at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.readData(EncodedDataReader.java:269)
         at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.fetchData(EncodedDataReader.java:332)
         at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:165)
         at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.read(AdvancedXMLStreamReader.java:143)
         at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.addInputFromInputStream(AdvancedXMLStreamReader.java:292)
         at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:220)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
         at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
         at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
         at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:101)
         at com.sap.engine.lib.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:127)
         at com.sap.engine.services.webservices.wsdl.WSDLDOMLoader.loadDOMDocument(WSDLDOMLoader.java:1023)
         ... 52 more
    Thanks and regards,
    Mayuresh
    Edited by: Mayuresh Kanvinde on Mar 28, 2008 1:10 PM

  • Calling a method in the view controller from the component controller

    Hi
    Is there anyway to call a method in the view implementation from the component controller??
    Thanks
    jack

    Thanks for all your replies. I want this kind of a functionality because Im trying to invove a DC (Child DC) from a Parent DC such that the Child DC's view is displayed onto the view container of the Parent DC. I have embedded using 'interface view of a component instance' in the Parent Window and am able to create the component and set usage though the onPlugDefault of the Child View.
    But I observe that when i make a call from the parent, the flow is like this:
    1. The wdDoInit of the Child Component Controller gets triggered first.
    2. Then the wdDoInit of the Child's <b>VIEW</b> gets triggered
    3. and <b>THEN</b> the onPlugDefault of the Child Component Interface View
    What I had actually wanted was to Fire onPlugDefault where Im calling a method LoadData(), after which the Child DC's view must be triggered so it can display the fetched data.
    What is actually happening is the view gets displayed, but no data is displayed in the view.
    Right now I have just given a work around where Im triggering <b>LoadData()</b> of the <b>COmponent COntroller</b> from the <b>wdDoInit</b> of the <b>VIEW</b>.
    Is there a better way to do this? I find it strange that I have to load the Data from the view.
    Thanks
    Jack

  • Error Data no longer available when SALV_WD_TABLE GET_MODEL called

    Hello ,
    I have dynpro component on ECC6.0  POWL_UI_COMP which displayes service oders.
    This dynpro component has one more component usage component POWL_TABLE_COMP.
    This POWL_TABLE_COMP has used a SALV_WD_TABLE which is for ALV display.
    I have to create a on ALV toolbar one button,I know that I have to do this using self defined functions in wddoinit method of
    view which uses SALV_WD_TABLE and i could generate a button using self defined fucntions for another dynpro component.
    Now I am trying same method for this POWL_TABLE_COMP dynpro which is using SALV_WD_TABle , but its giving error as this
    Data no longer available when SALV_WD_TABLE GET_MODEL called .
    pl  can you suggest on this urgently.
    Attching a code to geenrated s self defined function.
    DATA: L_REF_CMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE.
    L_REF_CMP_USAGE =   WD_THIS->WD_CPUSE_ALV( ).
    IF L_REF_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
      L_REF_CMP_USAGE->CREATE_COMPONENT( ).
    ENDIF.
    DATA: L_REF_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
    L_REF_INTERFACECONTROLLER =   WD_THIS->WD_CPIFC_ALV( ).
      DATA:
        L_VALUE TYPE REF TO CL_SALV_WD_CONFIG_TABLE.
      L_VALUE = L_REF_INTERFACECONTROLLER->GET_MODEL(
    lr_config_table ?= lr_interface_salv_wd_table->get_model( ).
       DATA :lr_buttonui type REF TO CL_SALV_WD_FE_BUTTON.
      CREATE OBJECT lr_buttonui.
      lr_buttonui->SET_TEXT( 'ACCEPT' ).
      DATA button1 TYPE REF TO CL_SALV_WD_FUNCTION.
      button1 = lr_config_table->IF_SALV_WD_FUNCTION_SETTINGS~create_function( id = 'LBUTTON' ).
      button1->SET_EDITOR( lr_buttonui )
    thanks,
    Sharada

    Hi Sharada ,
    I had the same error message.
    To resolve the problem I had to bind the context again to the interface controller of the used component.
    Alex van Hacht.

  • Service call issue WD ABAP

    Hi,
    I have a FM "HRCA_GETEMPLOYEEDATA_FROMUSER" which retrieves the employee master details for the user whoever logged in ECC. This User id is attached to pernr in HR.
    I have copied this FM to "Z" and made changes to import paratemer (USERNAME) as default value to SY-UNAME.
    I run this FM in se37, it is picks the logged in user id by default as import parameters and retrives the employee details from Infotype.
    However, I have created WD ABAP component using service call with Import and export parameters. Created the context mapping with the view controller via Input fields, submit button (with Actions to execute FM) and table element with data binding to display output details.
    However, it throws error message as "No active nametab exists for SY". When I run this application in IE it says USER_NOT_FOUND.
    Does the import parameter SY-UNAME of logged user is not allowed to pass in WD ABAP ? Then how to proceed with this one to implement ESS applications using WD ABAP. How the FM should be designed for ESS to used for WD ABAP applications.
    Please share your inputs.
    Regards,
    Anil Kumar

    Hi Thomas,
    Problem has been resolved. It was only warning message while activation of WD ABAP component (No active nametab exists for SY)
    Coding is not much from WD ABAP side. Once service call has been created to WD ABAP component, context mapping is done via component controller to View controller with necessary export parameter.
    And the FM is executed in "WDDOINIT" method of view at runtime.
    DATA lo_COMPONENTCONTROLLER TYPE REF TO IG_COMPONENTCONTROLLER .
    lo_COMPONENTCONTROLLER =   wd_this->get_componentcontroller_ctr( ).
      lo_componentcontroller->execute_zhrca_getemployeedata_(
    Output is displayed via a Table element throug data binding.
    User ids are same in ECC and Portal as well. SSO is also implemented successfully in the landscape.
    WD ABAP execute fine in Portal via WD ABAP iview.
    Thank you very much for your inputs.
    Regards,
    Anil kumar

  • Calling KM navigation iview from ABAP

    Hi All,
    I am trying to call the KM Navigation iview from ABAP webdynpro view. it is like implement the same functionality as currently available for Repository filters through ABAP coding. I have to create a new Folder in the KM and call the KM Navigation iview for that specific folder. I know KM has provided few new webservices which I can use to create a new folder in the KM repository but I am unable to open the KM navigation iview with the newly created folder through coding.
    I am using the navigate_absolute Portal Navigation method to call the KM Navigation iview from ABAP code. Currently it is opening iview with the folder set as root folder in the iview property but I need to open it with the newly created folder through the code. The same sort of functionality is implemented from java code by passing the Business parameter with navigate_absolute method. The problem with ABAP code is that I don't know what is the exact format of the Business parameter to be passed.
    In the java code the Business parameter is passed as
    Uri=/documents/cprxrpm/46A73F1FEED21B0DE10000000A4241A8:DFM_450_MIT3_SAURABH/RIH/47B44774254208CCE10000000A4241A8:wonder-item-01 :WONDER-ITEM-01
    Does anybody have idea how can i implement the same scenario in ABAP and what should be the format of the to be passed as Business Parameter from ABAP code ?
    Regards,
    Vikash

    In the abap web dynpro view create an exit out bound plug with url as parameter.
    In your wddoinit call the the url. The url can be accessed by previewing the km iview in content management. Hope this helps.

  • How to Call BAPI From the Custom Controller

    Hi
    I developed frist WD Application Using RFC Adapter.
    i did the following steps
    1. created the project
    2. created the model.
    3. created the customer controller and mapped the model of the controller to the model.
    4. mapped controller context to the views
    5. created one action in the start view
    6. created one method in the customer controller.
    so please let me know the lines of code to call BAPI using RFC.
    and  how to pass input valus to the bapi and how to execute the BAPI
    plese send the reply ASAP
    regards
    mmukesh

    Hi
    i did like this
    In  Start View OnActionSearch () method code
    public void onActionsearch (com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
           wdThis.wdGetTestCustControllerController().executeGetlistBapi();
    in CustomController Init method
    public void wdDoInit()
        Bapi_Flight_Getlist_Input input = new Bapi_Flight_Getlist_Input();
        wdContext.nodeBapi_FlightGetlist_Input().bind(input);
        input.setDestination_From(new Bapisfldst());
        input.setDestination_To(new Bapisfldst());
    In CUSTOMECONTROLLER executeGetlistBapi();
    METHOD
    public void executeGetlistBapi( )
        //@@begin executeGetlistBapi()
        try{
           wdContext.currentBapi_FlightGetlist_InputElement().modelObject().execute();
           wdContext.nodeOutput().invalidate();
        }catch(Exception ex){
           ex.printStackTrace();
    Then let me know what is wrong in this
    i did as per pdf
    please correct if there is any worng in this code.
    this is flight example .
    regards
    mmukesh

  • How to call View of Component A from Compoenent B

    Hi Friends,
             I have a requirment like:
    There are four views in component A and i want to use view2 of Component A in Component B. Can some one tell me how to work out.
    Note: All four views are assigned to one window only.
    Thanks in Advance
    Regards
    Sankar

    Yeah view cannot be called independently.
    Here in the above post i am just saying call the interface view.
    which will call the window and first view will be called.
    in the wddoinit of the first view . we will check the interface node and if a particular attribute is set.
    that means call is coming from the comp B then you can fire the plug to next view.
    this will take the user directly to second view.
    but the flow logic then will be as per by comp A only.
    means after view 2 it will go to view 3 like that as you have defined in comp A.
    so you cannot use it as an independent reusable entity.
    thanks
    sarbjeet singh

  • How to call view of one application from another application in SAP UI5?

    Hi,
    I have a main shell application. inside the shell i have called a application project using iframe.
    Now from this project i have to access the view from the shell application. I tried getParent() but it returns null.
    How do i access view which is not in my project and in a different project?

    Yeah view cannot be called independently.
    Here in the above post i am just saying call the interface view.
    which will call the window and first view will be called.
    in the wddoinit of the first view . we will check the interface node and if a particular attribute is set.
    that means call is coming from the comp B then you can fire the plug to next view.
    this will take the user directly to second view.
    but the flow logic then will be as per by comp A only.
    means after view 2 it will go to view 3 like that as you have defined in comp A.
    so you cannot use it as an independent reusable entity.
    thanks
    sarbjeet singh

Maybe you are looking for

  • Xtreme Gamer is "not Supported by the Application" Problem. He

    My SoundBlaster XFi Xtreme Gamer has suddenly stopping being detected by my creative software, such as Volume Panel. The drivers are installed, and when I hover my mouse pointer over the volume panel is still shows "SB X-Fi Audo [E000]" which is the

  • Intracompany sale and purchase of material

    Hi All I would like to know how can intracompany sale and purchase be carried out in SAP? Details of problem: There are 2 LOBs under one company code which are represented  by 2 diff plants, valaution area and profit centre. When 1 LOB requires compo

  • Stretch part of 1 character in a word

    hi everyone, I'm looking for the best way to stretch the P in the word Postgraduate for a project. The font is News705 BT. I need to make the P much longer and then extend it under the word - as in the image below. Many thanks from this novice for an

  • Is it possible to use any constraint to do this ?

    Hi, I've got this table: nr val 1 r 1 r 1 r 2 r 2 r 3 p 3 p Value of 'val' has to be the same for all rows where nr is the same. so, in this situation I can insert row(nr=1, val=r), but I can't insert (nr=1, val=p). can you take me any tip how can I

  • Pass cluster through DLL to Teststand

    I have to pass  Time Stamp & number thr'  a cluster in a DLL to Teststand thts  generating error  System Level Exception.[Error Code: -17502]  the Cluster ProdOrder(in pic ) is generating Issues Attachments: clustertoDLLpass Error.PNG ‏149 KB