Dynamic Programming (Web Dynpro)

Hi All,
I have been successful to create UI elements, group them and render them dynamically only within the wdDoModifyView  method of the view.  I want to create the UI elements based on certain selection of the design time specified UI elements. For e.g. based on product category, I want to generate the UI elements such as its attributes. I want to regenerate them whenever the product category changes.  Is there a way of specifyin view (IWDView) parameter for the method wdDoModifyView programmatically?
Any hint, tips will be very valuable for my project.
Thanks in advance.
Regards,
Hemanth

Hi Hemanth,
we didn't really overlook your question, this little side-step was necessary anyway.
Ok, back to your question:
1. The only place where you should change the view contents programatically is the wdDoModifyView method.
2. Of course you could "grab" the view instance in this method on the first call and store it somewhere in the context for example, but this is also discouraged.
3. There's nothing to say against it to create/modify all the necessary UI elements inside the wdDoModifyView method. This is not really a "bottleneck" anyway.
4. You can remove (and destroy) all children in the corresponding view by calling view.resetView(), this resets the view to the state you specified at design time. There's no need to use an alternative view for this.
Hope that helps.
Regards,
Stefan

Similar Messages

  • Create a Table Dynamically in WEB Dynpro Java with diferent type of column

    Hi everyone, I have a question if is possible to create a table dynamically in Web Dynpro Java?, depending of the RFC consults create the rows dynamically, ,this table must have diferent type of columns, for example link column (when the user click this link execute an action and show a adobe interactive form in another view), image column (show an image depending of the information)
    Thank you everyone
    Atte Israel

    Hello,Israel.
    Yes , it is possible through dynamic programming in wdModify of the View.
    You can do this ,for example, using cell variants.
    IWDTable tab = (IWDTable) view.getElement("TABLE_NAME");               
    IWDTableStandardCell cellV= (IWDTableStandardCell) view.createElement(IWDTableStandardCell.class,"TableStandardCell"+i); 
    cellV.setVariantKey("NotEditableVariant");
    cellV.setCellDesign((WDTableCellDesign)wdContext.nodeTableDaysTitle().currentTableDaysTitleElement().getAttributeValue("CellDesign"+i));
    IWDTextView textViewi= (IWDTextView) view.createElement(IWDTextView.class,"TextView"+i);  // -- here you control the type of the object that is displayed in the cell
    textViewi.bindText(dayAttrib);
    cellV.setEditor(textViewi);          
    tabColumn.addCellVariant(cellV);
    tab.addGroupedColumn(tabColumn,tab.numberOfGroupedColumns());     
    Using this code you can control even specific cells in the table and not only columns.
    Hope this helps you,
    Constantine

  • How to trigger action dynamically in Web Dynpro ABAP?

    Hi,
    I need to trigger an action dynamically. How do I do that?
    Eg. I have Search Tab where I input Purchase Order Number and press Find button to get the PO details.
    Now I have an Overview Tab where I have listed all the Purchase Orders, after selecting a purchase order I click the Transfer button on the Overview Tab, on clicking on transfer button I navigate to the Search Tab and the PO number selected in Overview Tab is binded and appears in the Search Tab.
    In the same flow I also want to trigger the action without clicking on Find button of Search Tab so that I get the search results.
    Please let me know how to go about doing this.
    Thanks
    Samekshaa

    fire plugs in Search Tab as it has multiple UI view containers which displays different views in the Search tab.
    can you elaborate on that ...  a clear explaination of what u intend to do will be of great help.
    Outbound Plugs can have Parameters. so you can still decide what plug to fire , further when in the details view.
    i dont think there is option of raising ONACTION automatically because framework create an EVENT object for each action, at the most you can transfer this EVENT as Parameter to other methods.
    Greetings
    Prashant

  • Creating context node dynamically in web dynpro for java

    Hi
    I am having requirement where user can ask for 3 tables . I have created tables dynamically. But now  i want that context node should also be created dynamically.
    Thanks and Regards,
    Saurabh

    Hello Saurabh,
    Refer the below link:
    http://wiki.sdn.sap.com/wiki/display/WDJava/DynamicUIGeneration.
    There is a section Dynamically Building the Context. Please refer to that.
    There are lots of things available in SDN for the same.
    Regards
    Nizamudeen SM

  • Generate URL to Portal Objects in Web Dynpro

    Hi All,
    I have a requirement where in I have to generate a URL to portal objects such as iviews/pages from the PCD. I am able to retrieve the PCD contents but I am not able to generate the URL dynamically.
    I cannot use WDPortalNavigation.absoluteNavigate method, since I need the URL of the object.
    IUrlGenerator can be used, but it is asking for the IPortalComponentRequest object. Now where can I get this object in web dynpro.
    Or is there a way to generate the URL of the iview/page dynamically in Web Dynpro. I have to use standard API only.
    Please provide inputs on this.
    Thanks in advance.

    Use the below url
    /irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2f<yourfolder ID>!2f<if any subfolder id>
    !2fcom.abc.xyz
    where com.abc.xyz is the ID of the xyz iview/page
    Use that url in your webdynrpo
    Raghu

  • Logical database in web dynpro program

    Hi all,
    I want to add LDB (PNP) into my web dynpro program.by which i can get the data from database to the Application server.After Authrization check.
    I also want to use Infotypes 0082 in my program.
    Points will be sured.
    Thanks.

    Sanket,
    Can you explain "add LDB"? Webdynpro gets data and displays data from R/3. So any LDB has to be part of the RFC/BAPI you call.
    Same with infotype. If you want to "use" the structure of an infotype in Webdynpro, this structure needs to be part of the import/export of RFC/BAPI's signature.
    Thanks,
    Rajit

  • Error Your browser/program is not supported by Web Dynpro

    Hi,
    1. I am getting error "Your browser/program is not supported by Web Dynpro" while executing Web dynpro java application
    2. Portal is EP 7.0 with SP15
    3. Browser is IE 8.0
    4. Which browser(s) (& sp level)  are supported by web dynpro?
    5. Is it possible to customize this error message?
    6. If so, from where (Web dynpro java application or Visual Admin) 
    7. My web dynpro application supports multiple languages.
    8. Is it possible to maintain this message in messagecomponent.xlf file
    Thanks & regards,
    Nilesh

    Hi Nilesh
    IE8 and IE7 is not supported.
    For browser/program is not supported by Web Dynpro----
    check this forums link
    /message/6416540#6416540 [original link is broken]
    /message/2842083#2842083 [original link is broken]
    Re: browser/program is not supported by Web Dynpro!
    Hope this link information will help you
    Regards
    Ruturaj

  • Open PO in SRM 7.0 through program or web dynpro . Is it possible ?

    Hello All ,
    I have a PO number with me in SRM 7.0 . I have to open it as it opens in Portal .
    Can we do it through a program , or via custom web dynpro application using the link to action UI element or in any other way ?
    Regards,
    Ambar Patil.

    Any answers please ?

  • Error when Deploying Web Dynpro program

    Hello,
    I am new to Web Dynpro. Today I have written my first program and when I tried to deploy it, I got the following error
    "Deployment aborted
    Deployment exception : Cannot determine sdm host (is empty). Please configure your engine/sdm correctly !"
    Can anybody please tell me how to catch or resolve this exception or problem.
    Priya

    HI
    GOOD
    GO THROUGH THE FOLLOWING LINKS, WHICH WILL HELP YOU TO GIVE THE IDEA ABOUT THE CATCHING EXCEPTION IN WEBDYNPRO.
    http://help.sap.com/saphelp_nw04/helpdata/en/59/e8e95d1eba48dfa86ae91ad8816f5d/content.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/e085d6421a4d9de10000000a155369/content.htm
    /people/balaramnaidu.bankuru/blog/2006/04/23/importing-complex-javabean-model-into-webdynpro-by-creating-relationships-for-the-model-classes
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3795 [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]
    THANKS
    MRUTYUN

  • Create dynamic table in web dynpro abap

    Hi Friends,
    I want to create several tables in a web dynpro. For this reason I have created a View, a group1 and a context node.
    Now I want create a table for each characteristic group from cabn in the ui group1.
    For this reason I want to use create_table_from_node and I have to craete dynamicly attributes in the node.
    Is it the propper way  or is there a different approach.
    So in this case
    1. I read the node
    2. craete attribute for each characteristic group in this node
    3. create a UI Table with create_table_from_node for each attribute
    4. bind the data to the UI Table
    Can I do the same without to craete attributes?
    Thank in advance.
    RG. Jimbob

    Hi Jimbob,
    Have you looked at using the row-repeater UI element? You could then have as many tables as per your characteristic groups.
    Although this would be more difficult if the attributes of each table were to also be only known at run-time. (I'm not sure that this is the case though from your description of the issue.)
    so have a context of the form:
    Context Root
    --->node_characteristic_group (0..n)
    >node_char_group_details(0...n) (non-singleton child node)
    then bind your row repeater to node "node_characteristic_group " and bind the table inside the row repeater to node "node_char_group_details".
    Each time you had a new element in the node_characteristic_group you would get a new table...
    Much easier to support that anything dynamically created.
    Cheers,
    Chris

  • Error while compiling Web Dynpro program due to missing JAR files

    Hi Experts,
    I am getting error message while compiling Web Dynpro program. The erring lines are as below:
              Message message = new MimeMessage(session);
              try {
                   message.setFrom(new InternetAddress(fromMailId));
                   message.addRecipient(
                        Message.RecipientType.TO,
                        new InternetAddress(toMailId));
                   message.setSubject(mailSubject);
                   message.setText(mailBody);
                   message.setHeader("X-Mailer", "E-Mail");
                   message.setSentDate(new Date());
                   Transport.send(message);
    The error messages are:
    Message.ReceipientType can not be resolved
    The method send(Message) is undefined for the type Transport
    The method setFrom(InternetAddress) is undefined for the type Message
    The method setHeader(String, String) is undefined for the type MessageThe method setSentDate(Date) is undefined for the type Message
    The method setSubject(String) is undefined for the type Message
    The method setText(String) is undefined for the type Message
    Type mismatch: cannot convert from MimeMessage to Message
    Can you please help me in resolving the issue. It seems that some API is missing. I believe if some one can tell me the name of JAR file / API then I will be able to sort out the issue. I will add these JAR file in my program.
    Thanks,
    S

    HI Stuart,
    you are missing the jar files required for sending mail in java
    Installing JavaMail
    You will need the latest version of JavaMail (Version 1.2) available here:
    http://java.sun.com/products/javamail/
    Download and unzip the file, in the newly created top level JavaMail directory you will find a number of jar files,
    these need adding to your classpath.
    To do this in Eclipse, right click on your project in the tree view, select properties, select the libraries tab.
    Now click the 'Add external jars' button, navigate to your JavaMail directory and click on the jars.
    The tutorial also makes use of the Java Activation Framework, which is available here:
    http://java.sun.com/products/javabeans/glasgow/jaf.html
    Instalation of JAF is identical to JavaMail
    activation.jar / mail.jar are 2 distinct names i remember rest you will get above
    P.S: close the question to assist other users narrow the search and find solutions
    Message was edited by:
            Armin Reichert

  • Java error while compiling Web Dynpro program

    Hi Experts,
    I am getting following error message while compiling Web Dynpro program. The erring lines are as below:
              Message message = new MimeMessage(session);
              try {
                   message.setFrom(new InternetAddress(fromMailId));
                   message.addRecipient(
                        Message.RecipientType.TO,
                        new InternetAddress(toMailId));
                   message.setSubject(mailSubject);
                   message.setText(mailBody);
                   message.setHeader("X-Mailer", "E-Mail");
                   message.setSentDate(new Date());
                   Transport.send(message);
    The error messages are:
    Message.ReceipientType can not be resolved
    The method send(Message) is undefined for the type Transport
    The method setFrom(InternetAddress) is undefined for the type Message
    The method setHeader(String, String) is undefined for the type MessageThe method setSentDate(Date) is undefined for the type Message
    The method setSubject(String) is undefined for the type Message
    The method setText(String) is undefined for the type Message
    Type mismatch: cannot convert from MimeMessage to Message
    Can you please help me in resolving the issue. It seems that some API is missing. I believe if some one can tell me the name of JAR file / API then I will be able to sort out the issue. I will add these JAR file in my program.
    Thanks,
    S

    Hi,
    Have you imported the required JavaMail jar?
    Please tell me what API you are using for the same.
    Also check Barcode Printing from EP --using barcode4J (Gurus kindly help me) forum to check how to add external jar files into WebDynpro project
    Let me know if you need more help on it.
    Regards,
    Ashutosh

  • Calling one Web-Dynpro program into Another

    Hi All,
    I'm currently working on a Web-Dynpro program in which I am display 3 tabs(Using TabStrip) and in each tab I have a ViewContainer.  
    I want to be able to execute other Web-Dynpro programs within the Viewcontainers of the Tabs. 
    If the End-User goes from tab to tab, I want to pass a select number of parameters between tabs.   
    Is this possible to do and if so, how can I set this up?
    Thanking you in advance.

    Hello Lisa,
    I'm not sure what you really want...
    If you want to share data between several views of one webdynpro component, you should use the [context|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/444941db42f423e10000000a155106/frameset.htm] of your [component controller|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/e2/434941db42f423e10000000a155106/frameset.htm].
    If you mean by "execute other Web-Dynpro programs within the Viewcontainers" to embed another webdynpro component you should have a look at [Cross-Component Programming|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/a7/1d8b412bb5b35fe10000000a1550b0/frameset.htm].
    Regards,
    Alej

  • How to use the catalog in our own Web Dynpro program?

    Hi Expert,
    How to access MDM catalog and bring the product data back to a our own Web Dynpro program?

    Hi  Masa,
    The Catalog Search UI of SRM that is referred to as UI as aforementioned is a page which is capable of the selection of catalog items is linked from the shopping cart creation.
    Our biz requirement content two scenarioes to processing the purchase requirement.
    A.  Create shopping cart via the catalog (PR) --> SRM PO Process --> SUS(PO and Invoice) 
    This is the standard SRM purchase scenario and we have already implemented that.
    B. Create a requirement document via the catalog (This document is same with the SC but very simple, and we create this function by the own web dynpro program) --> transfer the requirement document to other purchasing system(none SAP)  in our intranet.
    So the key problems we faced are below:
    1. How to connect to the catalog search UI from our own web dynpro program.
    ( If we connect the catalog via the MDM ABAP API, that will make the catalog serach UI could not be used;
    Also  it has been failed to simulate the function of SC's connection to the catalog;
    So we decide to link the catalog serach UI via the URL, the linkage is "http://<J2EEserver:J2EEport>/SRM-MDM/SRM_MDM?sap-locale=EN&HOOK_URL=&mask=&namedSearch=General&username=&password=&catalog=<Repository Name>&server=&datalanguage=EN". )
    2. How to transfer the catalog item data to our own web dynpro program.
    If we link the catalog search UI by URL, we can not find any good method to transfer the catalog item data to our own program.

  • Problem in calling abap editor with the program name in Web Dynpro ABAP

    Hi,
    I have to caal ABAP Editor screen with the display of program after clicking a button from web dynpro abap application.
    I am able to call the ABAP Editor initial screen, but i want the editor display screen with a program.
    How to do that?
    Please find my code below:
      DATA : FINAL_URL TYPE STRING,
             URL TYPE STRING.
      DATA: LV_HOST TYPE STRING,
            LV_PORT TYPE STRING.
    DATA V_TCODE TYPE TCODE.
      DATA:  LO_WINDOW_MANAGER TYPE REF TO IF_WD_WINDOW_MANAGER.
      DATA:  LO_API_COMPONENT  TYPE REF TO IF_WD_COMPONENT.
      DATA:  LO_WINDOW         TYPE REF TO IF_WD_WINDOW.
      DATA:  LD_URL TYPE STRING.
    V_TCODE = 'SE38'.
    *Call below method to get host and port
      CL_HTTP_SERVER=>IF_HTTP_SERVER~GET_LOCATION(
         IMPORTING
           HOST = LV_HOST
           PORT = LV_PORT ).
      CONCATENATE 'http'
      '://' LV_HOST ':' LV_PORT '/sap/bc/gui/sap/its/webgui/?sap-client=&transaction=' V_TCODE '&OKCODE=SHOW'
      INTO URL.
      LO_API_COMPONENT  = WD_COMP_CONTROLLER->WD_GET_API( ).
      LO_WINDOW_MANAGER = LO_API_COMPONENT->GET_WINDOW_MANAGER( ).
      LD_URL = URL.
      CALL METHOD LO_WINDOW_MANAGER->CREATE_EXTERNAL_WINDOW
        EXPORTING
          URL    = LD_URL
        RECEIVING
          WINDOW = LO_WINDOW.
      LO_WINDOW->OPEN( ).
    Now, how to pass my Zprogram name into the URL.
    I need to get the editor screen with the display of the program.
    Thanks,
    Radhika

    Hi Kiran,
    Please find my code below:
    DATA :   URL TYPE STRING.
      DATA: LV_HOST TYPE STRING,
            LV_PORT TYPE STRING.
      DATA:  LO_WINDOW_MANAGER TYPE REF TO IF_WD_WINDOW_MANAGER.
      DATA:  LO_API_COMPONENT  TYPE REF TO IF_WD_COMPONENT.
      DATA:  LO_WINDOW         TYPE REF TO IF_WD_WINDOW.
      DATA:  LD_URL TYPE STRING.
    *Call below method to get host and port
      CL_HTTP_SERVER=>IF_HTTP_SERVER~GET_LOCATION(
         IMPORTING
           HOST = LV_HOST
           PORT = LV_PORT ).
      CONCATENATE 'http'
    '://' LV_HOST ':' LV_PORT '/sap/bc/gui/sap/its/webgui/?&transaction=se38&RS38M-PROGRAMM=Y2PSOLTREE&~okcode=shop'
      INTO URL.
      LO_API_COMPONENT  = WD_COMP_CONTROLLER->WD_GET_API( ).
      LO_WINDOW_MANAGER = LO_API_COMPONENT->GET_WINDOW_MANAGER( ).
      LD_URL = URL.
      CALL METHOD LO_WINDOW_MANAGER->CREATE_EXTERNAL_WINDOW
        EXPORTING
          URL    = LD_URL
        RECEIVING
          WINDOW = LO_WINDOW.
      LO_WINDOW->OPEN( ).
    Here,, Y2PSOLTREE is the program, that should show in SE38 screen.
    I used the above code, but still it is showing the SE38 initial screen.
    Thanks,
    Radhika

Maybe you are looking for