Skip to Content
author's profile photo Former Member
Former Member

how to populate values in dropdownbykey in webdynpro

I have a scenario where I have to populte data in the dropdownbykey element, select and then submit .

How do you first insert data from database into the dropdown list ?

Kindly help me out by providing the steps.I am new to webdynpro.

Thanks n regards

Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • Best Answer
    Posted on Sep 12, 2007 at 05:42 AM

    Hi Saju,

    There are 2 types of dropdown ui elemts:

    1. For DropDownByIndex UI element we need to bind the text property to an attribute within a context node, which contains several elements (cardinality = 0..n). The number of elements defines the possible entries in the list. In the WDDOINIT method we can prepare an internal table with the values and bind it to the node and the lead selection defines the selected element.

    For example if u have defined a node 'TEXT' with cardinality '0..n' with attribute TEXT. Bind the text property of DropDownbyIndex UI element to attribute Text of context node Text.

    In the WDDOINIT method you can prepare an internal table with the values and bind it to the node and the lead selection defines the selected element.

    The below code sample may help.

    method WDDOINIT .
    data:
    node_text type ref to if_wd_context_node,
    stru_text type if_componentcontroller=>element_text,
    tab_text type if_componentcontroller=>elements_text .
    
    node_text = wd_context->get_child_node( name = if_componentcontroller=>wdctx_text ).
    
    * Set/fill your values
    stru_text-text = 'Value1'.
    append stru_text to tab_text.
    
    stru_text-text = 'Value2'.
    append stru_text to tab_text.
    
    
    * set values to the node
    call method node_ddi_also_text->bind_table
    exporting
    new_items = tab_text.
    
    
    endmethod.
    

    2. For DropDownByKey UI element bind the SelectedKey property to an attribute within a context node. Then you must provide the fixed values (table with key value combination) in a different way and store them in the node info. We can use the elements get_attribute method to get the attribute value which user has selected.

    For this we need to use the interface IF_WD_CONTEXT_NODE which has a method GET_NODE_INFO, which returns meta information on the respective node. This information is of type IF_WD_CONTEXT_NODE_INFO.

    Kindly refer the following code:

    method WDDOINIT .
    
    data: NODE_INFO type ref to IF_WD_CONTEXT_NODE_INFO,
    NODE type ref to IF_WD_CONTEXT_NODE.
    NODE = WD_CONTEXT->GET_CHILD_NODE( 'NODE1' ).
    NODE_INFO = NODE->GET_NODE_INFO( ).
    
    
    * To be able to store the fixed values for the attribute in the node info, two 
    *additional variables are necessary: 
    
    data: LT_VALUESET type WDR_CONTEXT_ATTR_VALUE_LIST ,
    L_VALUE type WDR_CONTEXT_ATTR_VALUE.
    
    *WDR_CONTEXT_ATTR_VALUE is a data type defined in the DDIC. It contains *two components KEY and VALUE, both of type STRING.
    
    *WDR_CONTEXT_ATTR_VALUE_LIST is a table type stored in the DDIC, whose *rows are of type WDR_CONTEXT_ATTR_VALUE.
    
    *The two variables created in the source text example are used to accept the value *pairs that will later be passed to the node info.
    
    L_VALUE-VALUE = 'V1'.
    L_VALUE-TEXT = 'yesterday'.
    INSERT L_VALUE into table LT_VALUESET.
    
    L_VALUE-VALUE = 'V2'.
    L_VALUE-TEXT = 'today'.
    INSERT L_VALUE into table LT_VALUESET.
    
    L_VALUE-VALUE = 'V3'.
    L_VALUE-TEXT = 'tomorrow'.
    INSERT L_VALUE into table LT_VALUESET.
    
    
    NODE_INFO->SET_ATTRIBUTE_VALUE_SET (
    NAME = 'ATTRIBUTE1'
    VALUE_SET = LT_VALUESET ).
    
    endmethod.
    

    Hope this helps.

    Best regards,

    Suresh

    Message was edited by:

    Suresh Honnappanavar

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 12, 2007 at 04:58 AM

    Hello!

    In case of a DropDownByKey you need to first create a value set and then add that to your node info.

    You can find examples in the system in the Web Dynpro application WDR_TEST_UI_ELEMENTS, and in the component WDR_TEST_EVENTS in the views DropDownByKey and DropDownByIdx.

    Also take a look at http://help.sap.com/saphelp_nw70/helpdata/en/c5/e4884180951809e10000000a155106/frameset.htm

    Regards,

    Neha

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.