Cl_wd_transparent_container & row_layout

Hi,
I'm just working with one WD4A appl, where I create a view dynamically, but I found one problem when I combine transparent_container and row_layout.
I have a tray which layout is set to row_layout. Under this tray, there are several containers with links, but the problem is, that it doesn't matter if I assigned row or row_head layout data type, because every time container is in the new line.
I also try to change width of containers, but I doesn't help.
Can anyone help me?
thanks
Juraj

OK, I thought, "under the tray" means "underneath (outside) the tray".
If it is inside the tray, this is either a bug, or the transparent containers somehow consume too much space.
Have you ever tried out the keybooard shortcut CTRLALTSHIFT+O ? This will show you the borders of the containers.
Regards,
Daniel

Similar Messages

  • Multiple rows in table popin

    Hi Experts,
    I have a requirement to have multiple rows in the table popin, that is , having a table with multiple rows as the table popin.
    For further information, the exact requirement is , there is a table which will have one of the column containing a button, EXPAND , clicking which a table needs to be displayed below the row, (same as it happens for Table popins) and EXpand button becomes COLLAPSE button after it is clicked. Now clicking the Collapse button should close the table showed in Table popin.
    Kindly help for the above requirement.
    Thanks in Advance for help
    Shilpa.

    LOOP AT wd_this->comp_tab INTO w_comp_tab.
         lv_uielement_id_prefix  = lv_uielement_id_prefix  && iv_col_num.
          IF w_comp_tab-name NE 'SELECTED_POPIN' .
            l_new_col = cl_wd_table_column=>new_table_column(
                          id    = w_comp_tab-name
                          width = '100px' ).
            lr_header = cl_wd_caption=>new_caption( text = w_comp_tab-name ).
            IF w_comp_tab-name EQ 'PRODUCT_ID'.
    **      link to action
              CONCATENATE w_comp_tab-name '_LINK' INTO l_link_id.
              lo_link_to_action = cl_wd_link_to_action=>new_link_to_action(
                                   id   = l_link_id
                                   text = 'PRODUCTID'
                              on_action = 'SET_POPIN'
              l_new_col->set_table_cell_editor( lo_link_to_action ).
              DATA: lr_el_details_cont TYPE REF TO if_wd_view_element.
              lr_container ?= lr_el_details_cont.
             Transparent container
              DATA lr_transparent_container TYPE REF TO cl_wd_transparent_container.
              DATA lr_table_in_table_popin TYPE REF TO cl_wd_table.
              lv_uielement_id = lv_uielement_id_prefix && '_POPIN_CNTR'. "#EC NOTEXT
              lr_transparent_container  = cl_wd_transparent_container=>new_transparent_container(
                  id                       =   lv_uielement_id "'TRANSPARENT_CONTAINER1'
                  height                   = '100%'             "#EC NOTEXT
                  width                    = '100%'
                  accessibility_descr      = 'TRANS_ACC'
                  is_layout_container      = 'X'         "#EC NOTEXT
                  view                     = view
              DATA l_popin_layout TYPE REF TO cl_wd_matrix_layout.
              l_popin_layout = cl_wd_matrix_layout=>new_matrix_layout( container = lr_transparent_container ).
              lr_transparent_container->set_layout( l_popin_layout ).
             lr_container->add_child( the_child = lr_transparent_container ).
              DATA: l_item_node TYPE REF TO if_wd_context_node.
              l_item_node = l_node->get_child_node( 'SUB' ).
              l_popin =  cl_wd_table_popin=>new_table_popin(
              id = 'POPIN'
              on_close = 'CLOSE_POPIN' ).
             DATA: i_the_content  TYPE REF TO cl_wd_uielement.
             i_the_content ?= lr_transparent_container.
              IF l_item_node IS BOUND.
                cl_wd_dynamic_tool=>create_table_from_node(
                       EXPORTING ui_parent = lr_transparent_container
                                 table_id  = 'MULTIV_TAB'
                                 node      = l_item_node
                       RECEIVING table     =  lr_table_in_table_popin ).
              ENDIF.
              "Add the Transparent Container to the Table Popin
              l_popin->set_content( lr_transparent_container ).
              " add popin to column
              l_new_col->set_popin( l_popin ).
            ENDIF.
            l_new_col->set_header( lr_header ).
            " add column to table
            lr_table->add_column( l_new_col ).
          ENDIF.
        ENDLOOP.

  • Short dump while creating transparent container dynamically

    Hi experts!
    I want to create a transparent container dynamically, but I get a Short Dump (
    Note
    The following error text was processed in the system NSP : Access via 'NULL' object reference not possible.
    The error occurred on the application server Datatrain_NSP_00 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: CREATE_BY_VIEW_ELEMENT of program CL_WDR_VIEW_ELEMENT_ADAPTER===CP)
    while doing so. Below my code...
    Can somebody please advise I don't know what I did wrong....
    Thanks in advance!
    Points will be rewarded
    METHOD wddomodifyview .
    DATA: lr_container TYPE REF TO cl_wd_uielement_container,
            lr_matrix_head TYPE REF TO cl_wd_matrix_data,
            lv_hlp_str TYPE string VALUE 'DYNCONT_1',
            lr_trans_cont TYPE REF TO cl_wd_transparent_container.
        lr_container ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
    CALL METHOD cl_wd_transparent_container=>new_transparent_container
      EXPORTING
        enabled                  = ABAP_TRUE
        id                       = lv_hlp_str
        is_layout_container      = ABAP_TRUE
      receiving
        control                  = lr_trans_cont
        lr_matrix_head = cl_wd_matrix_head_data=>new_matrix_head_data(
                            element = lr_trans_cont ).
        lr_trans_cont->set_layout_data( lr_matrix_head ).
        lr_container->add_child( lr_trans_cont ).

    Hi Felix,
    You need to set the layout first and then set the layout data. Use the method cl_wd_matrix_layout=>new_matrix_layout. Do a set_layout on the container and then do set_layout_data. That should solve your problem.
    Regards
    Nithya

  • Create transparent_container dynamically?

    Hi,
    how is it possible to create a transparent_container dynamically? If i try the following piece of code i get always an error message in Browser like: Access 'NULL' Objectreference not possible.
    Data:
       lr_grp_box    TYPE REF TO cl_wd_group,
       lr_transCont  TYPE REF TO cl_wd_transparent_container.
        lr_grp_box ?= view->get_element(  'GRP_Box' ).
        lr_transCont = cl_wd_transparent_container=>new_transparent_container(
            id = 'X'  view = view ).
        lr_grp_box->add_child( lr_transCont ).
    regards,
    Sharam

    Hi Neha,
    i have the following UI structure on my view:
    The following UI hierarchy is just added to my view by design time.
    ->ROOTUIELEMENTCONTAINER->Tabstrip->Tab1->Transparent_Container->GroupBox
    Now i want to add a new transparent_container into my GroupBox by runtime. How can i do that?
    DATA: lr_ui_root           TYPE REF TO cl_wd_transparent_container,
               lr_tab_strip        TYPE REF TO cl_wd_tabstrip,
               lr_tab                TYPE REF TO cl_wd_tab,
               lr_container       TYPE REF TO cl_wd_transparent_container.
               lr_ui_root ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
               lr_tab_strip ?= lr_ui_root->get_child( id = 'TABSTRIP' ).
               What is the next step?
    regards,
    Sharam

  • Add a Transparent Container dynamically in wddomodifyview

    Hi All,
    I have added UI Elements to views before. Now, I am trying to add a Transparent Container to a Group, which does not work. I am using the same procedure as I have used it for other UI Elements before, but I keep receiving the dump:
    The following error text was processed in the system JIL : Access via 'NULL' object reference not possible.
    The error occurred on the application server SV-SAP-2_JIL_01 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: CREATE_NW7_BY_VIEW_ELEMENT of program CL_NW7_VIEW_ELEMENT_ADAPTER===CP
    My code is as follows:
    lo_group ?= view->get_element( 'GROUP' ).
        lo_tc = cl_wd_transparent_container=>new_transparent_container( id = 'TC_SECOND_ELEMENT' ).
        cl_wd_matrix_head_data=>new_matrix_head_data( element = lo_tc ).
        lo_group->add_child( the_child = lo_tc ).
    Why does the coding above not work?? How is the proper coding to add a Transparent Container to my group?
    THANKS, Johannes

    Hi,
    Your coding seems to me fine. Though i am not sure if this line causes the error.
    cl_wd_matrix_head_data=>new_matrix_head_data( element = lo_tc ).
    I normally get this error when the UI element property is not binded correctly. How sure are you that this error is coming  because of this TransparentContainer ?.
    You can comment out the whole and check if this is working.
    Then enable one by one and see if you get it worked.

  • View in View container

    HI,
    I am creating employee form where there are two views created.
    1) First View is showing an employee ID label and input field, with two buttons ADD AND DISPLAY.
    2) After entering the emp ID and clicking on Display >>>will open the second view.
    But I want even the first view should remain active while second view (with all details of First name,last name and rest) is being displayed.
    So i added the view container and embeded the second view in the view container. In other words, the first view with emp ID shows and after click on display below the first view... another view shows with all  First name,last name etc details but the first view remains active as well.
    How should I call the view container. Does this needs to be done in wdmodifyview, or via plugs to be created.
    Regards
    SP
    Edited by: Shakti Parwanda on Aug 24, 2009 7:24 PM
    Edited by: Shakti Parwanda on Aug 24, 2009 7:26 PM

    Hi SP,
    I think in this scenario there is no need of creating two views.In a single view alone on clicking the 'Display' button you set a flag
    and in WDDOMODIFYVIEW method you can make the UI element where you are displaying the other details 'visible' by using the
    syntax below:
    lv_trp->set_visible( CL_WD_TRANSPARENT_CONTAINER=>E_VISIBLE-VISIBLE ).
    Note:Initially the 'visible' property of the UI element should be set to none.
    Regards
    Martina

  • Error in dynamic node creation ..........

    Hi experts,
    I am creating a node dynamically in WDDOINT  and creating an input field in WDDOMODIFYVIEW , but am getting an error "attribute not found". Am pasting below my code...
    Code in WDDOINT of a view :
    data lr_par_node       type ref to IF_WD_CONTEXT_NODE_INFO.
        data lr_node       type ref to IF_WD_CONTEXT_NODE_info.
         data lr_node_info1       type ref to IF_WD_CONTEXT_NODE_INFO.
        data lr_node1       type ref to IF_WD_CONTEXT_NODE.
        data lr_attribute  type        WDR_CONTEXT_ATTRIBUTE_INFO.
        data lt_child_node_map                  type wdr_context_child_info_map.
    *****to get context parent node information
        lr_par_node = wd_context->get_node_info( ).
    *****to get child node of the parent
        lt_child_node_map = lr_par_node->get_child_nodes( ).
    *****check for the existence of node
        read table lt_child_node_map transporting no fields with table key name = `RESULT`.
        if sy-subrc = 0.
          " REMOVE_CHILD_NODE
          lr_par_node->remove_child_node( `RESULT` ).
        endif.
    *****inserting new node in context
        CALL METHOD lr_par_node->ADD_NEW_CHILD_NODE
          EXPORTING
            NAME                         = 'RESULT'
    *       IS_MANDATORY                 = ABAP_FALSE
    *       IS_MANDATORY_SELECTION       = ABAP_FALSE
            IS_MULTIPLE                  = ABAP_TRUE
           IS_MULTIPLE_SELECTION        = ABAP_TRUE
    *       IS_SINGLETON                 = ABAP_FALSE
           IS_INITIALIZE_LEAD_SELECTION = ABAP_false
    *       STATIC_ELEMENT_RTTI          =
            IS_STATIC                    = ABAP_TRUE
    *       ATTRIBUTES                   =
    *       IS_RANGE_NODE                =
          RECEIVING
            CHILD_NODE_INFO              = lr_node.
        lr_node1 = wd_context->get_child_node( name = 'RESULT' ).
        lr_node_info1 = lr_node1->GET_NODE_INFO( ).
    *********Adding attribute
        lr_attribute-NAME = 'TEST_GROUP'.
        lr_attribute-TYPE_NAME = 'PLNNR'.
        lr_attribute-NODE_INFO = lr_node_info1.
        CALL METHOD lr_node_info1->ADD_ATTRIBUTE
          EXPORTING
            ATTRIBUTE_INFO = lr_attribute.
        clear lr_attribute.
    Code in the WDDOMODIFYVIEW :
    method WDDOMODIFYVIEW .
      if first_time = abap_true.
        data : lt_header_block type zcdp_tt_mfte_header.
        lt_header_block = WD_COMP_CONTROLLER->MT_HEADER_BLOCK.
        DATA :lr_container  TYPE REF TO cl_wd_uielement_container,
         lr_input      TYPE REF TO cl_wd_input_field,
         lr_caption    type ref to CL_WD_CAPTION,
         lr_column type ref to CL_WD_TABLE_COLUMN,
         lr_trans_cont TYPE REF TO CL_WD_TRANSPARENT_CONTAINER.
        data lr_lbl type ref to CL_WD_TEXT_VIEW.
    ******to get root element container
        lr_container ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
        lr_trans_cont ?= VIEW->GET_ELEMENT('TRANS_CONT_HEADER_BLOCK').
    * Created one transparent container in the view.......
    CALL METHOD CL_WD_TEXT_VIEW=>NEW_TEXT_VIEW
      EXPORTING
    *    CONTEXT_MENU_BEHAVIOUR = E_CONTEXT_MENU_BEHAVIOUR-INHERIT
    *    CONTEXT_MENU_ID        =
    *    DESIGN                 = E_DESIGN-STANDARD
    *    ENABLED                = 'X'
    *    H_ALIGN                = E_H_ALIGN-AUTO
    *    ID                     =
    *    LAYOUT                 = E_LAYOUT-NATIVE
    *    SEMANTIC_COLOR         = E_SEMANTIC_COLOR-STANDARD
        TEXT                   = 'TEST'
    *    TEXT_DIRECTION         = E_TEXT_DIRECTION-INHERIT
    *    TOOLTIP                =
    *    VIEW                   =
    *    VISIBLE                = E_VISIBLE-VISIBLE
    *    WIDTH                  =
    *    WRAPPING               =
      RECEIVING
        CONTROL                = lr_lbl
    cl_wd_matrix_head_data=>new_matrix_head_data(
                element = lr_lbl ).
    lr_trans_cont->ADD_CHILD( lr_lbl ).
       CALL METHOD CL_WD_INPUT_FIELD=>NEW_INPUT_FIELD
          EXPORTING
            BIND_VALUE             = 'RESULT.TEST_GROUP'
            ENABLED                = 'X'
    *       EXPLANATION            =
           ID                     = 'ABCD'
          RECEIVING
            CONTROL                = lr_input.
      cl_wd_matrix_data=>new_matrix_data(
                element = lr_input ).
    lr_trans_cont->ADD_CHILD( lr_input ).
      endif.
    endmethod.
    Pls help  me in this.....
    Thanks
    Aisurya.

    Hi,
    looking at code it seems that you are adding textview and inputfield. please check in debugging if the correct context node/attribute  is being created and you are providing its reference while adding UI elements.
    Thanks,
    Chandra

  • Dynamic objects in a tabstrip

    Hi,
    I am creating dynamically tabs in my tabstrip and that works fine so for. I found some examples in SDN and here for me to learn. Now I try to add a transparent container and some objects to it, but do not know how. This is so far my code in WDDOMODIFYVIEW:
    some code here
    * Create a new tab:
      CONCATENATE 'TAB' wd_this->tot_tabs INTO aux_text.
      lr_tab = cl_wd_tab=>new_tab( id = aux_text ).
      lr_tabstrip->add_tab( the_tab = lr_tab ).
    * Add a transparent container:
      CONCATENATE 'TABCONT' wd_this->tot_tabs INTO aux_text.
      lr_control = cl_wd_transparent_container=>new_transparent_container( id = aux_text
                                                                           view = view ).
      lr_tab->set_content( lr_control ).
    TOT_TABS has the current number of the tab. System compiles the code correctly and activates it but when running the application I get this error message:
    The following error text was processed in the system NSP : Access via 'NULL' object reference not possible.
    The ABAP call stack was:
    Method: CREATE_NW7_BY_VIEW_ELEMENT of program CL_NW7_VIEW_ELEMENT_ADAPTER===CP
    Could it be maybe because I am not adding objects ?? I don´t know how anyway.

    Hi Guillermo,
    Welcome to SDN.
    You can have dynamic tabs by placing the <htmlb:tabStripItem> in a loop in the layout:
    <% loop at tabstrip_tab. %>
      <htmlb:tabStripItem index="<%=tabstrip_tab-index%>" etc. />
    <% endloop. %>
    Where tabstrip_tab contains the details of the tabstrip items.
    Regards,
    Patrick.

  • How to create a roadmap ui element dynamically in webdynpro abap?

    Dear  team
    iam new for webdynpro my question is how to create the road map programme dynamically using webdynpro
    could you tell me what are the steps i have to take, what are the elements i have to bind?
    and what code & where i have to write the code?
    regards
    sathya

    Hi Sathya,
                  Write the follwing code in WDDOMODIFYVIEW method to create a Dynamic ROADMAP and also create an attribute of
                   type string to control the selection of steps in road map.
    method WDDOMODIFYVIEW .
      data : lr_ele type ref to if_wd_view_element.
      data : lr_rm type ref to cl_wd_road_map.
      data : lr_step type ref to cl_wd_road_map_step.
      data: lr_container type ref to cl_wd_transparent_container.
      data : lr_flowdata type ref to cl_wd_flow_data.
      CALL METHOD view->get_root_element
        receiving
          root_view_element = lr_ele.
      lr_container ?= lr_ele.
    CALL METHOD cl_wd_road_map=>new_road_map
      EXPORTING
        id                       = 'ROADMAP'
      receiving
        control                  = lr_rm.
    CALL METHOD lr_rm->bind_selected_step
      EXPORTING
        path   = 'VALUE'.
    CALL METHOD cl_wd_flow_data=>new_flow_data
      EXPORTING
        element     = lr_rm
      receiving
        control     = lr_flowdata.
    CALL METHOD lr_container->add_child
      EXPORTING
        index     = 1
        the_child = lr_rm.
    CALL METHOD cl_wd_road_map_step=>new_road_map_step
      EXPORTING
        id                  = 'ONE'
        name                = '1'
      receiving
        control             = lr_step.
    CALL METHOD lr_rm->add_step
      EXPORTING
        index    = 1
        the_step = lr_step.
    CALL METHOD cl_wd_road_map_step=>new_road_map_step
      EXPORTING
        id                  = 'TWO'
        name                = '2'
      receiving
        control             = lr_step.
    CALL METHOD lr_rm->add_step
      EXPORTING
        index    = 2
        the_step = lr_step.
    CALL METHOD cl_wd_road_map_step=>new_road_map_step
      EXPORTING
        id                  = 'THREE'
        name                = '3'
      receiving
        control             = lr_step.
    CALL METHOD lr_rm->add_step
      EXPORTING
        index    = 3
        the_step = lr_step.
    endmethod.
    Then you can use the context attribute to navigate between the steps and do respective actions.

  • How to set content of a dynamically created tab in a dynamically created tabstrip

    Hi All,
    I have a requirement where the whole layout is determined in run time according to a ztable values. I have created a tabstrip, inserted tabs to it, created elements (link to action) that has to be inserted into the different tabs created dynamically. BUt I am getting a dump when i try to do so.. the problem is with inserting the container to the tab. I get Null object reference. PFB the code. This has to be done urgently. Help is highly appreciated. TIA.
    method wddomodifyview .
      data lr_uielement_container       type ref to cl_wd_uielement_container.
      data lr_tabstrip          type ref to  cl_wd_tabstrip.
      data lrs_tabstrip  type ref to  cl_wd_tabstrip.
      data lr_matrix_head_data          type ref to cl_wd_matrix_head_data.
      data lr_tab type ref to cl_wd_tab.
      data lv_caption type ref to cl_wd_caption.
      data it_zps_reports_port type standard table of zps_reports_port.
      data wa_zps_reports_port like line of it_zps_reports_port.
      data lv_flag type c.
      data lv_text type string.
      data lv_link_text type string.
      data lr_linktoaction              type ref to cl_wd_link_to_action.
      data lr_lta_element type ref to cl_wd_uielement.
      data lr_scroll_container type ref to cl_wd_scroll_container.
      data lr_trans_cont type ref to cl_wd_transparent_container.
      data lr_id type string value 'LNK'.
      data lr_count type num value 0.
      data lr_id_d type string.
      data lo_nd_link_to_action type ref to if_wd_context_node.
      data lo_el_link_to_action type ref to if_wd_context_element.
      data ls_link_to_action type wd_this->element_link_to_action.
      data lv_textt type string.
      data lo_node type ref to if_wd_context_node.
      data lo_nd_info type ref to if_wd_context_node_info.
      data:lt_valueset type wdr_context_attr_value_list  ,
            l_value type wdr_context_attr_value.
      data ld_tabstrip            type ref to cl_wd_tabstrip.
      data: ld_container         type ref to cl_wd_uielement_container,
                ld_vc                type ref to cl_wd_view_container_uielement.
      if first_time eq abap_true.
        select * from zps_reports_port into corresponding fields of table it_zps_reports_port order by tabx.
        sort it_zps_reports_port.
    ************creation of tabstrip dynamically
        lr_uielement_container ?= view->get_element( id = 'ROOTUIELEMENTCONTAINER'   ).
        call method cl_wd_tabstrip=>new_tabstrip
          exporting
            id                         = 'TBS'
          receiving
            control                    = lr_tabstrip.
        lr_matrix_head_data = cl_wd_matrix_head_data=>new_matrix_head_data(
                  element                = lr_tabstrip
        lr_tabstrip->set_layout_data( the_layout_data = lr_matrix_head_data   ).
        lr_uielement_container->add_child(*       index     = index
            the_child = lr_tabstrip
        lo_node = wd_context->get_child_node( 'LINK_TO_ACTION' ).
        lo_nd_info = lo_node->get_node_info( ).
        lo_nd_link_to_action = wd_context->get_child_node( name = wd_this->wdctx_link_to_action ).
        lo_el_link_to_action = lo_nd_link_to_action->get_element( ).
        loop at it_zps_reports_port into wa_zps_reports_port.
    *****addition of tab for every new tab.
          at new tabx.
            lv_flag = abap_true.
          endat.
          if lv_flag = abap_true.
    if wa_zps_reports_port-tabx = 1.
            lv_text = 'Billing reports'.
          else.
            lv_text = 'Monthly closing reports'.
          endif.******Addition of new tab
            call method cl_wd_caption=>new_caption
              exporting
                text                   = lv_text
              receiving
                control                = lv_caption.
            call method cl_wd_tab=>new_tab
          exporting
             enabled                  = 'X'
         has_content_padding      = 'X'
              receiving
                control                  = lr_tab.
            lr_tab->set_header( lv_caption ).
            lr_tabstrip->add_tab( the_tab = lr_tab ).
            clear lv_flag.
          endif.
          lr_count = lr_count + 1.
          concatenate lr_id lr_count into lr_id_d.
          lv_textt = wa_zps_reports_port-trans_code.
          call method cl_wd_link_to_action=>new_link_to_action
            exporting
              id                          = lr_id_d
              on_action                   = 'ON_ACTION'
              text                        = lv_textt
            receiving
              control                     = lr_linktoaction.
          lr_matrix_head_data = cl_wd_matrix_head_data=>new_matrix_head_data(
    element                = lr_linktoaction
          lr_linktoaction->set_layout_data( the_layout_data = lr_matrix_head_data   ).
       lr_linktoaction->set_layout_data( the_layout_data = lr_matrix_head_data   ).**      lr_uielement_container->add_child(**    index     = lr_ind*          the_child = lr_linktoaction*             ).
             call method cl_wd_scroll_container=>new_scroll_container
            receiving
              control                  = lr_scroll_container
      lr_scroll_container->add_child( lr_linktoaction ).
    lr_tab->set_content( lr_trans_cont ).                 "im getting dump after the looping is done and the end method is executed
        endloop.
      endif.endmethod.

    HI SAYAN,
    this is the dump i am getting.
    Category               ABAP Programming Error
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED
    ABAP Program           CL_NW7_VIEW_ELEMENT_ADAPTER===CP
    Application Component  BC-WD-ABA-REN
    Date and Time          18.05.2012 15:44:42
    |Short text                                                                                        |
    |    Access via 'NULL' object reference not possible.                                              |
    |What happened?                                                                                    |
    |    Error in the ABAP Application Program                                                         |
    |                                                                                                  |
    |    The current ABAP program "CL_NW7_VIEW_ELEMENT_ADAPTER===CP" had to be                         |
    |     terminated because it has                                                                    |
    |    come across a statement that unfortunately cannot be executed.                                |
    |What can you do?                                                                                  |
    |    Note down which actions and inputs caused the error.                                          |
    |                                                                                                  |
    |                                                                                                  |
    |    To process the problem further, contact you SAP system                                        |
    |    administrator.                                                                                |
    |                                                                                                  |
    |    Using Transaction ST22 for ABAP Dump Analysis, you can look                                   |
    |    at and manage termination messages, and you can also                                          |
    |    keep them for a long time.                                                                    |
    |Error analysis                                                                                    |
    |    You attempted to use a 'NULL' object reference (points to 'nothing')                          |
    |    access a component (variable: " ").                                                           |
    |    An object reference must point to an object (an instance of a class)                          |
    |    before it can be used to access components.                                                   |
    |    Either the reference was never set or it was set to 'NULL' using the                          |
    |    CLEAR statement.                                                                              |
    |How to correct the error                                                                          |
    |                                                                                                  |
    |                                                                                                  |
    |    If the error occures in a non-modified SAP program, you may be able to                        |
    |    find an interim solution in an SAP Note.                                                      |
    |    If you have access to SAP Notes, carry out a search with the following                        |
    |    keywords:                                                                                     |
    |                                                                                                  |
    |    "OBJECTS_OBJREF_NOT_ASSIGNED" " "                                                             |
    |    "CL_NW7_VIEW_ELEMENT_ADAPTER===CP" or "CL_NW7_VIEW_ELEMENT_ADAPTER===CM008"                   |
    |    "CREATE_NW7_BY_VIEW_ELEMENT"                                                                  |
    |                                                                                                  |
    |    If you cannot solve the problem yourself and want to send an error                            |
    |    notification to SAP, include the following information:                                       |
    |                                                                                                  |
    |    1. The description of the current problem (short dump)                                        |
    |                                                                                                  |
    |       To save the description, choose "System->List->Save->Local File                            |
    |    (Unconverted)".                                                                               |
    |                                                                                                  |
    |    2. Corresponding system log                                                                   |
    |                                                                                                  |
    |       Display the system log by calling transaction SM21.                                        |
    |       Restrict the time interval to 10 minutes before and five minutes                           |
    |    after the short dump. Then choose "System->List->Save->Local File                             |
    |    (Unconverted)".                                                                               |
    |                                                                                                  |
    |    3. If the problem occurs in a problem of your own or a modified SAP                           |
    |    program: The source code of the program                                                       |
    |       In the editor, choose "Utilities->More                                                     |
    |    Utilities->Upload/Download->Download".                                                        |
    |                                                                                                  |
    |    4. Details about the conditions under which the error occurred or which                       |
    |    actions and input led to the error.                                                           |
    |                                                                                                  |
    |System environment                                                                                |
    |    SAP Release..... 702                                                                          |
    |    SAP Basis Level. 0008                                                                         |
    |                                                                                                  |
    |    Application server... "ISVSAPECCDEV"                                                          |
    |    Network address...... "172.25.105.183"                                                        |
    |    Operating system..... "Windows NT"                                                            |
    |    Release.............. "6.1"                                                                   |
    |    Hardware type........ "4x AMD64 Level"                                                        |
    |    Character length.... 16 Bits                                                                  |
    |    Pointer length....... 64 Bits                                                                 |
    |    Work process number.. 18                                                                      |
    |    Shortdump setting.... "full"                                                                  |
    |                                                                                                  |
    |    Database server... "ISVSAPECCDEV"                                                             |
    |    Database type..... "MSSQL"                                                                    |
    |    Database name..... "ECD"                                                                      |
    |    Database user ID.. "ecd"                                                                      |
    |                                                                                                  |
    |    Terminal.......... "10.66.113.155"                                                            |
    |                                                                                                  |
    |    Char.set.... "C"                                                                              |
    |                                                                                                  |
    |    SAP kernel....... 720                                                                         |
    |    created (date)... "Mar 4 2012 23:19:29"                                                       |
    |    create on........ "NT 5.2 3790 S x86 MS VC++ 14.00"                                           |
    |    Database version. "SQL_Server_9.00 "                                                          |
    |                                                                                                  |
    |    Patch level. 211                                                                              |
    |    Patch text.. " "                                                                              |
    |                                                                                                  |
    |    Database............. "MSSQL 9.00.2047 or higher"                                             |
    |    SAP database version. 720                                                                     |
    |    Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows                |
    |     NT 6.0, Windows NT 6.1, Windows NT 6.2"                                                      |
    |                                                                                                  |
    |    Memory consumption                                                                            |
    |    Roll.... 0                                                                                    |
    |    EM...... 4189792                                                                              |
    |    Heap.... 0                                                                                    |
    |    Page.... 0                                                                                    |
    |    MM Used. 3566480                                                                              |
    |    MM Free. 620640                                                                               |
    |User and Transaction                                                                              |
    |    Client.............. 220                                                                      |
    |    User................ 160072                                                                   |
    |    Language key........ "E"                                                                      |
    |    Transaction......... " "                                                                      |
    |    Transaction ID...... "38D2A0E14277F14BAD090050569F0165"                                       |
    |                                                                                                  |
    |    EPP Whole Context ID.... "0050569F01651EE1A89A470EE848AD09"                                   |
    |    EPP Connection ID....... "0050569F01651EE1A89A47B05E162D09"                                   |
    |    EPP Caller Counter...... 1                                                                    |
    |                                                                                                  |
    |    Program............. "CL_NW7_VIEW_ELEMENT_ADAPTER===CP"                                       |
    |    Screen.............. "SAPMHTTP 0010"                                                          |
    |    Screen Line......... 2                                                                        |
    |    Debugger Active..... "(TPDA)"                                                                 |
    |Server-Side Connection Information                                                                |
    |    Information on Caller of "HTTP" Connection:                                                   |
    |    Plug-in Type.......... "HTTP"                                                                 |
    |    Caller IP............. "10.66.113.155"                                                        |
    |    Caller Port........... 8001                                                                   |
    |    Universal Resource ID. "/sap/bc/webdynpro/sap/z160072_dynamic_view_crea"                      |
    |                                                                                                  |
    |    Program............. "CL_NW7_VIEW_ELEMENT_ADAPTER===CP"                                       |
    |    Screen.............. "SAPMHTTP 0010"                                                          |
    |    Screen Line......... 2                                                                        |
    |                                                                                                  |
    |    Information on Caller ofr "HTTP" Connection:                                                  |
    |    Plug-in Type.......... "HTTP"                                                                 |
    |    Caller IP............. "10.66.113.155"                                                        |
    |    Caller Port........... 8001                                                                   |
    |    Universal Resource Id. "/sap/bc/webdynpro/sap/z160072_dynamic_view_crea"                      |
    |Information on where terminated                                                                   |
    |    Termination occurred in the ABAP program "CL_NW7_VIEW_ELEMENT_ADAPTER===CP" -                 |
    |     in "CREATE_NW7_BY_VIEW_ELEMENT".                                                             |
    |    The main program was "SAPMHTTP ".                                                             |
    |                                                                                                  |
    |    In the source code you have the termination point in line 23                                  |
    |    of the (Include) program "CL_NW7_VIEW_ELEMENT_ADAPTER===CM008".                               |
    |Source Code Extract (Source code has changed)                                                     |
    |Line |SourceCde                                                                                   |
    |    1|METHOD create_nw7_by_view_element.                                                          |
    |    2|                                                                                            |
    |    3|  TYPES c1 TYPE c LENGTH 1.                                                                 |
    |    4|                                                                                            |
    |    5|  DATA: mappings             TYPE STANDARD TABLE OF wdr_elem_apt_map,                       |
    |    6|        mapping              TYPE wdr_elem_apt_map,                                         |
    |    7|        elem_defs            TYPE SORTED TABLE OF wdy_ui_elem_def WITH UNIQUE KEY definition|
    |    8|        elem_def             TYPE wdy_ui_elem_def,                                          |
    |    9|        new_entries          TYPE STANDARD TABLE OF t_nw7_class_registry,                   |
    |   10|        adapters             TYPE SORTED TABLE OF wdr_uiel_adapter WITH UNIQUE KEY library_n|
    |   11|        adapter_def          LIKE LINE OF adapters,                                         |
    |   12|        id_gen_entity        TYPE string,                                                   |
    |   13|        l_adapter_lib_name   TYPE string,                                                   |
    |   14|        lr_adapter_lib       TYPE REF TO if_nw7_adapter_library,                            |
    |   15|        l_current_library    TYPE string,                                                   |
    |   16|        l_current_id_gen_entity TYPE c1,                                                    |
    |   17|        lt_mapping           TYPE if_nw7_adapter_library=>tt_index_map.                     |
    |   18|                                                                                            |
    |   19|                                                                                            |
    |   20|  FIELD-SYMBOLS: <class_registry_entry> TYPE t_nw7_class_registry,                          |
    |   21|  <l_mapping>            TYPE if_nw7_adapter_library=>t_index_map.                          |
    |   22|                                                                                            |
    |>>>>>|  READ TABLE m_nw7_class_registry ASSIGNING <class_registry_entry>                          |
    |   24|    WITH TABLE KEY view_element_cid = view_element->_cid.                                   |
    |   25|  IF sy-subrc <> 0.                                                                         |
    |   26|                                                                                            |
    |   27|*   If not found, maybe we need to load the library first?                                  |
    |   28|    READ TABLE m_nw7_class_registry TRANSPORTING NO FIELDS                                  |
    |   29|      WITH KEY mapping-library_name =  view_element->_library_name.                         |
    |   30|*   No ViewElementAdapter found for ViewElement                                             |
    |   31|    ASSERT FIELDS view_element->_library_name CONDITION sy-subrc <> 0.                      |
    |   32|                                                                                            |
    |   33|    SELECT * FROM wdy_ui_elem_def INTO TABLE elem_defs                                      |
    |   34|      WHERE library_name =  view_element->_library_name                                     |
    |   35|      AND cid          <> ''.                                                               |
    |   36|    SELECT * FROM wdr_elem_apt_map INTO TABLE mappings                                      |
    |   37|      WHERE library_name =  view_element->_library_name.                                    |
    |   38|    SELECT * FROM wdr_uiel_adapter INTO TABLE adapters                                      |
    |   39|      WHERE library_name =  view_element->_library_name.                                    |
    |   40|                                                                                            |
    |   41|    LOOP AT mappings INTO mapping.                                                          |
    |   42|      APPEND INITIAL LINE TO new_entries ASSIGNING <class_registry_entry>.                  |
    |Contents of system fields                                                                         |
    |Name    |Val.                                                                                     |
    |SY-SUBRC|0                                                                                        |
    |SY-INDEX|2                                                                                        |
    |SY-TABIX|0                                                                                        |
    |SY-DBCNT|220                                                                                      |
    |SY-FDPOS|0                                                                                        |
    |SY-LSIND|0                                                                                        |
    |SY-PAGNO|0                                                                                        |
    |SY-LINNO|1                                                                                        |
    |SY-COLNO|1                                                                                        |
    |SY-PFKEY|                                                                                         |
    |SY-UCOMM|                                                                                         |
    |SY-TITLE|HTTP Control                                                                             |
    |SY-MSGTY|                                                                                         |
    |SY-MSGID|                                                                                         |
    |SY-MSGNO|000                                                                                      |
    |SY-MSGV1|                                                                                         |
    |SY-MSGV2|                                                                                         |
    |SY-MSGV3|                                                                                         |
    |SY-MSGV4|                                                                                         |
    |SY-MODNO|0                                                                                        |
    |SY-DATUM|20120518                                                                                 |
    |SY-UZEIT|154425                                                                                   |
    |SY-XPROG|                                                                                         |
    |SY-XFORM|                                                                                         |
    |Active Calls/Events                                                                               |
    |No.   Ty.          Program                             Include                             Line   |
    |      Name                                                                                        |
    |   22 METHOD       CL_NW7_VIEW_ELEMENT_ADAPTER===CP    CL_NW7_VIEW_ELEMENT_ADAPTER===CM008    23  |
    |      CL_NW7_VIEW_ELEMENT_ADAPTER=>CREATE_NW7_BY_VIEW_ELEMENT                                     |
    |   21 METHOD       /1WDA/C7STANDARD==============CP    /1WDA/C7STANDARD==============CCIMP  1096  |
    |      CL_SCROLL_CONTAINER=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                                |
    |   20 METHOD       /1WDA/C9STANDARD==============CP    /1WDA/C9STANDARD==============CCIMP  4583  |
    |      CL_TABSTRIP_ITEM=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                                   |
    |   19 METHOD       /1WDA/C9STANDARD==============CP    /1WDA/C9STANDARD==============CCIMP  3973  |
    |      CL_TABSTRIP=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                                        |
    |   18 METHOD       /1WDA/C8STANDARD==============CP    /1WDA/C8STANDARD==============CCIMP  3165  |
    |      CL_MATRIX_LAYOUT_CELL=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                              |
    |   17 METHOD       /1WDA/C8STANDARD==============CP    /1WDA/C8STANDARD==============CCIMP  3357  |
    |      CL_MATRIX_LAYOUT_ROW=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                               |
    |   16 METHOD       /1WDA/C8STANDARD==============CP    /1WDA/C8STANDARD==============CCIMP  2846  |
    |      CL_MATRIX_LAYOUT=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                                   |
    |   15 METHOD       /1WDA/C7STANDARD==============CP    /1WDA/C7STANDARD==============CCIMP  1865  |
    |      CL_TRANSPARENT_CONTAINER=>IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT                           |
    |   14 METHOD       CL_WDR_VIEW_ADAPTER===========CP    CL_WDR_VIEW_ADAPTER===========CM003    72  |
    |      CL_WDR_VIEW_ADAPTER=>IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT                                |
    |   13 METHOD       CL_WDR_VIEW_ADAPTER===========CP    CL_WDR_VIEW_ADAPTER===========CM007    28  |
    |      CL_WDR_VIEW_ADAPTER=>IF_WDR_NW7_DELTA_RENDERER~CALCULATE_DELTA_BLOCKS                       |
    |   12 METHOD       CL_WDR_WINDOW_CONTENT_ADAPTER2CP    CL_WDR_WINDOW_CONTENT_ADAPTER2CM004     5  |
    |      CL_WDR_WINDOW_CONTENT_ADAPTER2=>PROCESS_DELTA_BLOCKS                                        |
    |   11 METHOD       CL_WDR_WINDOW_CONTENT_ADAPTER2CP    CL_WDR_WINDOW_CONTENT_ADAPTER2CM001    27  |
    |      CL_WDR_WINDOW_CONTENT_ADAPTER2=>IF_WDR_NW7_DELTA_RENDERER~CALCULATE_DELTA_BLOCKS            |
    |   10 METHOD       CL_WDR_NW7_INT_WIN_ADAPTER====CP    CL_WDR_NW7_INT_WIN_ADAPTER====CM005    66  |
    |      CL_WDR_NW7_INT_WIN_ADAPTER=>SET_CONTENT                                                     |
    |    9 METHOD       CL_WDR_NW7_MAIN_WIN_ADAPTER===CP    CL_WDR_NW7_MAIN_WIN_ADAPTER===CM002     6  |
    |      CL_WDR_NW7_MAIN_WIN_ADAPTER=>SET_CONTENT                                                    |
    |    8 METHOD       CL_WDR_CLIENT_SSR_LS==========CP    CL_WDR_CLIENT_SSR_LS==========CM001    29  |
    |      CL_WDR_CLIENT_SSR_LS=>IF_WDR_CLIENT~SEND_RESPONSE                                           |
    |    7 METHOD       CL_WDR_MAIN_TASK==============CP    CL_WDR_MAIN_TASK==============CM00I   118  |
    |      CL_WDR_MAIN_TASK=>EXECUTE                                                                   |
    |    6 METHOD       CL_WDR_MAIN_TASK==============CP    CL_WDR_MAIN_TASK==============CM00U     6  |
    |      CL_WDR_MAIN_TASK=>IF_WDR_RUNTIME~EXECUTE                                                    |
    |    5 METHOD       CL_WDR_CLIENT_ABSTRACT_HTTP===CP    CL_WDR_CLIENT_ABSTRACT_HTTP===CM01A   100  |
    |      CL_WDR_CLIENT_ABSTRACT_HTTP=>HANDLE_REQUEST                                                 |
    |    4 METHOD       CL_WDR_MAIN_TASK==============CP    CL_WDR_MAIN_TASK==============CM00J    89  |
    |      CL_WDR_MAIN_TASK=>IF_HTTP_EXTENSION~HANDLE_REQUEST                                          |
    |    3 METHOD       CL_HTTP_SERVER================CP    CL_HTTP_SERVER================CM017   388  |
    |      CL_HTTP_SERVER=>EXECUTE_REQUEST_FROM_MEMORY                                                 |
    |    2 FUNCTION     SAPLHTTP_RUNTIME                    LHTTP_RUNTIMEU02                     1155  |
    |      HTTP_DISPATCH_REQUEST                                                                       |
    |    1 MODULE (PBO) SAPMHTTP                            SAPMHTTP                               13  |
    |      %_HTTP_START                                                                                |
    |Chosen variables                                                                                  |
    |Name                                                                                              |
    |    Val.                                                                                          |
    |No.      22 Ty.          METHOD                                                                   |
    |Name  CL_NW7_VIEW_ELEMENT_ADAPTER=>CREATE_NW7_BY_VIEW_ELEMENT                                     |
    |VIEW_ELEMENT                                                                                      |
    |    {O:initial}                                                                                   |
    |    F0000000                                                                                      |
    |    F0000000                                                                                      |
    |    FF00000000000000                                                                              |
    |PARENT                                                                                            |
    |    {O:281*\CLASS-POOL=/1WDA/C7STANDARD\CLASS=CL_SCROLL_CONTAINER}                                |
    |    E0001000                                                                                      |
    |    60009100                                                                                      |
    |    E600000019010000                                                                              |
    |IGNORE_LIFETIME_WRAPPER                                                                           |
    |                                                                                                  |
    |    2                                                                                             |
    |    0                                                                                             |
    |    0                                                                                             |
    |    0                                                                                             |
    |    2000                                                                                          |
    |ADAPTER                                                                                           |
    |    {O:initial}                                                                                   |
    |    F0000000                                                                                      |
    |    F0000000                                                                                      |
    |    FF00000000000000                                                                              |
    |%_SPACE                                                                                           |
    |                                                                                                  |
    |    2                                                                                             |
    |    0                                                                                             |
    |    0                                                                                             |
    |    0                                                                                             |
    |    2000                                                                                          |
    |SYST-REPID                                                                                        |
    |    CL_NW7_VIEW_ELEMENT_ADAPTER===CP                                                              |
    |    4454535544554444445544455453334522222222                                                      |
    |    3CFE77F6957F5C5D5E4F1410452DDD3000000000                                                      |
    |    0000000000000000000000000000000000000000                                                      |
    |    0000000000000000000000000000000000000000                                                      |
    |    43004C005F004E00570037005F0056004900450057005F0045004C0045004D0045004E0054005F0041004400410050|
    |CL_NW7_VIEW_ELEMENT_ADAPTER=>M_NW7_CLASS_REGISTRY                                                 |
    |    Table IT_627[112x256]                                                                         |
    |    \CLASS-POOL=CL_NW7_VIEW_ELEMENT_ADAPTER\DATA=CL_NW7_VIEW_ELEMENT_ADAPTER=>M_NW7_CLASS_REGISTRY|
    |    Table reference: 318                                                                          |
    |    TABH+  0(20) = 303E3A00DF070000F03E3A00DF07000000000000                                       |
    |    TABH+ 20(20) = 3E010000730200007000000000010000FFFFFFFF                                       |
    |    TABH+ 40(16) = 04E50000B0D6000010000000A425C000                                               |
    |    store        = 0x303E3A00DF070000                                                             |
    |    ext1         = 0xF03E3A00DF070000                                                             |
    |    shmId        = 0     (0x00000000)                                                             |
    |    id           = 318   (0x3E010000)                                                             |
    |    label        = 627   (0x73020000)                                                             |
    |    fill         = 112   (0x70000000)                                                             |
    |    leng         = 256   (0x00010000)                                                             |
    |    loop         = -1    (0xFFFFFFFF)                                                             |
    |    xtyp         = TYPE#000018                                                                    |
    |    occu         = 16    (0x10000000)                                                             |
    |    accKind      = 4     (ItAccessHashed)                                                         |
    |    idxKind      = 0     (ItIndexNone)                                                            |
    |    uniKind      = 1     (ItUniYes)                                                               |
    |    keyKind      = 3     (user defined)                                                           |
    |    cmpMode      = 2     (cmpSingleMcmpR)                                                         |
    |    occu0        = 1                                                                              |
    |    stMode       = 0                                                                              |
    |    groupCntl    = 0                                                                              |
    |    rfc          = 0                                                                              |
    |    unShareable  = 0                                                                              |
    |    mightBeShared = 0                                                                             |
    |    sharedWithShmTab = 0                                                                          |
    |    isShmLockId  = 0                                                                              |
    |    isUsed       = 1                                                                              |
    |    isCtfyAble   = 1                                                                              |
    |    hasScndKeys  = 0                                                                              |
    |    hasRowId     = 0                                                                              |
    |    scndKeysOutdated = 0                                                                          |
    |    scndUniKeysOutdated = 0                                                                       |
    |    ----- Shareable Table Header Data -----                                                       |
    |    tabi         = 0xA0B53A00DF070000                                                             |
    |    pgHook       = 0xC0343A00DF070000                                                             |
    |    idxPtr       = 0x90323A00DF070000                                                             |
    |    id           = 536   (0x18020000)                                                             |
    |    shmTabhSet   = 0x0000000000000000                                                             |
    |    refCount     = 0     (0x00000000)                                                             |
    |    tstRefCount  = 0     (0x00000000)                                                             |
    |    lineAdmin    = 112   (0x70000000)                                                             |
    |    lineAlloc    = 112   (0x70000000)                                                             |
    |    shmVersId    = 0     (0x00000000)                                                             |
    |    shmRefCount  = 1     (0x01000000)                                                             |
    |    rowId        = 18446744073709551615                                                           |
    |    scndKeyAdmin = 0x0000000000000000                                                             |
    |    ----- 1st level extension part --------                                                       |
    |    regHook      = 0xB0763A00DF070000                                                             |
    |    collHook     = 0x0000000000000000                                                             |
    |    ext2         = 0x0000000000000000                                                             |
    |                                                                                                  |
    |    STANDARD                      RADIOBUTTON_GROUP_BY_IDX                                    RADI|
    |    5544445422222222222222222222225444445554454545554554452222222222222222222222222222222222225444|
    |    341E412400000000000000000000002149F2544FEF72F50F29F9480000000000000000000000000000000000002149|
    |    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
    |    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
    |    5300540041004E00440041005200440020002000200020002000200020002000200020002000200020002000200020|
    |                                                                                                  |
    |    STANDARD                      RADIOBUTTON                                                 RADI|
    |    5544445422222222222222222222225444445554422222222222222222222222222222222222222222222222225444|
    |    341E412400000000000000000000002149F2544FE00000000000000000000000000000000000000000000000002149|
    |    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
    |    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
    |    5300540041004E00440041005200440020002000200020002000200020002000200020002000200020002000200020|
    |         

  • ABAP: Get parent container

    Hello,
    In my action handler method I have an ID of the element that triggered this event, lets call it ELEMENT_A.
    I need to get UI element (let's call it container_element) that contains ELEMENT_A.
    I know that this container_element is type of cl_wd_transparent_container.
    How can this be done?
    Thank you.

    Hi Georgy,
    You could get reference to the UI element and then use GET_PARENT method to get the container. Ofcourse, you should use VIEW for this.
    I have successfully used the following code to get refernce of a dropdown in a table. On similar lines, I guess you could get the container refernce.
    data wd_table_cell_editor type ref to cl_Wd_view_element.
      data wd_table_column      type ref to cl_wd_table_column.
    wd_table_cell_editor ?= wd_this->m_view->get_element( ID ).
      wd_table_column ?= wd_table_cell_editor->get__parent( ).
    DATA: THE_TABLE_CELL_EDITOR type ref to CL_WD_DROPDOWN_BY_KEY,
    dropdown_value type string.
    THE_TABLE_CELL_EDITOR ?= wd_table_column->GET_TABLE_CELL_EDITOR( ).
    CALL METHOD THE_TABLE_CELL_EDITOR->GET_SELECTED_KEY
    EXPORTING
       CONTEXT_ELEMENT        =
       CONTEXT_NODE_PATH_NAME =
      RECEIVING
        VALUE                  = dropdown_value.
    I have declared M_VIEW as an attribute(TYPE REF TO IF_WD_VIEW) in my view and used the following code in WDDOMODIFYVIEW method.
    if first_time = abap_true.
        wd_this->m_view = view.
      endif.
    Regards,
    Srini.

  • Problem in extension of a controller class

    Hi all,
    I have to make a radio button read only in a standard page. I am not able to set this property using personalisation, because, this bean is being created dynamically. So, I am extending the controller to perform the required function.
    Also , there are 2 radioButton beans being created by the same id in the controller using the createWebBean method.
    Because of the use of same id's, I am not able to use the findChildRecursive ()method, as this method fetches the 1st bean, while I want to set the property of the second bean.
    Kindly help me in resolving this issue.
    Thanks.

    Hi all,
    This is that part of the code of processRequest() in which they have created all the items dynamically . This is the class which I plan to extend to set the property of the radiobutton.
    The part of the code is as follows:
    OATableLayoutBean oatablelayoutbean = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    oatablelayoutbean.setCellSpacing(3);
    oawebbean.addIndexedChild(oatablelayoutbean);
    OARowLayoutBean oarowlayoutbean = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean);
    OACellFormatBean oacellformatbean = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean.addIndexedChild(oacellformatbean);
    oacellformatbean.addIndexedChild(createWebBean(oapagecontext, oawebbean, "ViewLabel"));
    OACellFormatBean oacellformatbean1 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean.addIndexedChild(oacellformatbean1);
    OARadioButtonBean oaradiobuttonbean = (OARadioButtonBean)createWebBean(oapagecontext, "RADIO_BUTTON", "VARCHAR2", "costRevSelect");
    oacellformatbean1.addIndexedChild(oaradiobuttonbean);
    oaradiobuttonbean.setAttributeValue(UIConstants.VALUE_ATTR, "Cost");
    oaradiobuttonbean.setText(oapagecontext, oawebbean.findIndexedChildRecursive("CostLabel").getLabel().toString());
    OACellFormatBean oacellformatbean2 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean.addIndexedChild(oacellformatbean2);
    OARadioButtonBean oaradiobuttonbean1 = (OARadioButtonBean)createWebBean(oapagecontext, "RADIO_BUTTON", "VARCHAR2", "costRevSelect");
    oaradiobuttonbean1.setAttributeValue(UIConstants.VALUE_ATTR, "Revenue");
    oaradiobuttonbean1.setText(oapagecontext, oawebbean.findIndexedChildRecursive("RevenueLabel").getLabel().toString());
    oacellformatbean2.addIndexedChild(oaradiobuttonbean1);
    OACellFormatBean oacellformatbean3 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oacellformatbean3.setHAlign("center");
    oarowlayoutbean.addIndexedChild(oacellformatbean3);
    oacellformatbean3.addIndexedChild(createWebBean(oapagecontext, oawebbean, "PaFinPlanMvSelectGo"));
    Kindly go through this code and suggest me way by which I can access the radio button with value 'Revenue'.
    Thanks

  • Create Radio button dynamically in Table column.

    HI All
       I have used following code to create radio button dynamically. but it's getting dump saying that Could not find attribute STATUS. 
    Here STATUS is the attribute of the node in View context. But why this dump is coming. 
    Please correct me if any thing worng.
      DATA: lr_radio TYPE REF TO cl_wd_radiobutton.
      DATA: lr_containr TYPE REF TO cl_wd_transparent_container.
      DATA: lr_data TYPE REF TO cl_wd_flow_data.
      IF first_time = abap_true.
        lr_containr ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
        lr_radio = cl_wd_radiobutton=>new_radiobutton(
        view = view
        id = 'RADIO'
        text = 'Enroll'
        bind_selected_key = 'STATUS'
        key_to_select = 'STATUS' ).
        lr_data = cl_wd_flow_data=>new_flow_data( element = lr_radio ).
        lr_radio->set_layout_data( lr_data ).
        lr_containr->add_child( lr_radio ).
      ENDIF.
    Thank you very much
    Ram

    Hi Rama,
    I solved it.check this code.
    i think u did mistake in creating radio button you are not passing the 
    BIND_KEY_TO_SELECT
      instead you are passing KEY_TO_SELECT.
    data:lr_column2 type ref to cl_wd_table_column,
         lr_radio type ref to cl_wd_radiobutton.
       lr_column2 = obj_table->get_column(
                   id         = 'TABLE1_PLANETYPE'
    *              INDEX      = INDEX
    lr_radio = cl_wd_radiobutton=>new_radiobutton(
    *      BIND_ENABLED        = BIND_ENABLED
           BIND_KEY_TO_SELECT  = 'STATUS'
    *      BIND_KEY_VISIBLE    = BIND_KEY_VISIBLE
    *      BIND_READ_ONLY      = BIND_READ_ONLY
           bind_selected_key   = 'STATUS'
    *      BIND_STATE          = BIND_STATE
    *      BIND_TEXT           = BIND_TEXT
    *      BIND_TEXT_DIRECTION = BIND_TEXT_DIRECTION
    *      BIND_TOOLTIP        = BIND_TOOLTIP
    *      BIND_VISIBLE        = BIND_VISIBLE
    *      ENABLED             = ABAP_TRUE
    *      EXPLANATION         = EXPLANATION
           ID                  = 'RAD1'
    *      KEY_TO_SELECT       = KEY_TO_SELECT
    *      KEY_VISIBLE         = KEY_VISIBLE
    *      ON_SELECT           = ON_SELECT
    *      READ_ONLY           = READ_ONLY
    *      STATE               = E_STATE-NORMAL
           TEXT                = 'Test'
    *      TEXT_DIRECTION      = E_TEXT_DIRECTION-INHERIT
    *      TOOLTIP             = TOOLTIP
    *      VIEW                = VIEW
    *      VISIBLE             = E_VISIBLE-VISIBLE
    lr_column2->set_table_cell_editor( the_table_cell_editor = lr_radio  ).
    Thanks,
    Suman

  • Issue with Java Decompiler, please help

    I'm using Mocha to decompile a *.class file from the standard OAF. I'd like to reuse some logic which Oracle has previously developed. I'd like to decompile DetailDataInputCO.class but Mocha errors out with "Ignoring field attribute Synthetic".
    If anyone has a good decompiler, could you please decompile a class file for me. Please contact me at [email protected] and I can send you the file. It would be greatly appreciated.
    Thanks,
    -Scott

    // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
    // Jad home page: http://www.kpdus.com/jad.html
    // Decompiler options: packimports(3)
    // Source File Name: DetailDataInputCO.java
    package oracle.apps.ap.oie.webui;
    import com.sun.java.util.collections.HashMap;
    import java.io.Serializable;
    import java.util.Vector;
    import oracle.apps.ap.oie.entry.AttendeeRuleUI;
    import oracle.apps.ap.oie.server.DetailAMImpl;
    import oracle.apps.ap.oie.utility.OIEConstants;
    import oracle.apps.ap.oie.utility.OIEUtil;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.flexj.*;
    import oracle.apps.fnd.framework.*;
    import oracle.apps.fnd.framework.webui.*;
    import oracle.apps.fnd.framework.webui.beans.*;
    import oracle.apps.fnd.framework.webui.beans.form.OAChoiceBean;
    import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
    import oracle.apps.fnd.framework.webui.beans.layout.*;
    import oracle.apps.fnd.framework.webui.beans.message.*;
    import oracle.apps.fnd.framework.webui.beans.nav.OANavigationBarBean;
    import oracle.apps.fnd.framework.webui.beans.nav.OAPageButtonBarBean;
    import oracle.apps.fnd.framework.webui.beans.table.*;
    import oracle.cabo.ui.*;
    import oracle.cabo.ui.beans.*;
    import oracle.cabo.ui.beans.form.*;
    import oracle.cabo.ui.beans.layout.*;
    import oracle.cabo.ui.beans.message.MessageStyledTextBean;
    import oracle.cabo.ui.beans.message.MessageTextInputBean;
    import oracle.cabo.ui.beans.nav.NavigationBarBean;
    import oracle.cabo.ui.beans.table.ColumnBean;
    import oracle.cabo.ui.beans.table.TableBean;
    import oracle.jbo.domain.Number;
    // Referenced classes of package oracle.apps.ap.oie.webui:
    // ExpensesCO, NavigationUtility
    public class DetailDataInputCO extends OAControllerImpl
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    if(oapagecontext.isLoggingEnabled(2))
    oapagecontext.writeDiagnostics(this, "start processRequest", 2);
    boolean flag = false;
    super.processRequest(oapagecontext, oawebbean);
    OAApplicationModule oaapplicationmodule = oapagecontext.getRootApplicationModule();
    OAApplicationModule oaapplicationmodule1 = oapagecontext.getApplicationModule(oawebbean);
    String s = (String)oaapplicationmodule.invokeMethod("getMultipleCurrenciesFlag");
    String s1 = (String)oapagecontext.getTransactionValue("ApWebTaxEnable");
    String s2 = (String)oapagecontext.getTransactionValue("PaymentCurrencyCode");
    String s3 = (String)oapagecontext.getTransactionValue("ApWebDescFlexName");
    String s4 = (String)oapagecontext.getTransactionValue("CCPage");
    boolean flag2 = s4 == null || s4.equals("Y");
    boolean flag3 = ((String)oapagecontext.getTransactionValue("IsProjectEnabled")).equals("Y") || ((String)oapagecontext.getTransactionValue("IsProjectEnabled")).equals("R");
    String s5 = (String)oapagecontext.getTransactionValue("ApWebEnableGrantsAccounting");
    boolean flag4 = flag3 && s5 != null && s5.equals("Y");
    boolean flag5 = ((Boolean)oaapplicationmodule.invokeMethod("isVATEnabled")).booleanValue();
    String _tmp = (String)oapagecontext.getTransactionValue("ApWebEnableLineLevelAccounting");
    oapagecontext.getParameter("ButtonLink");
    String s6 = "N";
    oracle.apps.ap.oie.setup.OIESetup.Setup setup = (oracle.apps.ap.oie.setup.OIESetup.Setup)oaapplicationmodule.invokeMethod("getSetup");
    OADescriptiveFlexBean oadescriptiveflexbean = null;
    OAStackLayoutBean oastacklayoutbean = (OAStackLayoutBean)createWebBean(oapagecontext, "STACK_LAYOUT");
    oawebbean.addIndexedChild(oastacklayoutbean);
    OATableLayoutBean oatablelayoutbean = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    oastacklayoutbean.addIndexedChild(oatablelayoutbean);
    oatablelayoutbean.setWidth("100%");
    OASpacerRowBean oaspacerrowbean = (OASpacerRowBean)createWebBean(oapagecontext, "SPACER_ROW");
    if(flag5)
    OARowLayoutBean oarowlayoutbean = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean);
    OACellFormatBean oacellformatbean = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean.addIndexedChild(oacellformatbean);
    OARawTextBean oarawtextbean = (OARawTextBean)createWebBean(oapagecontext, "RAW_TEXT");
    oacellformatbean.addIndexedChild(oarawtextbean);
    oacellformatbean.setHAlign("start");
    oacellformatbean.setColumnSpan(2);
    oarawtextbean.setText(oapagecontext.getMessage("SQLAP", "OIE_MERCHANT_HEADING", new MessageToken[0]));
    oarawtextbean.setStyleClass("OraInstructionText");
    oatablelayoutbean.addIndexedChild(oaspacerrowbean);
    OARowLayoutBean oarowlayoutbean1 = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean1);
    OACellFormatBean oacellformatbean1 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean1.addIndexedChild(oacellformatbean1);
    OATableLayoutBean oatablelayoutbean1 = (OATableLayoutBean)createWebBean(oapagecontext, oawebbean, "DRRequiredIconText");
    oacellformatbean1.addIndexedChild(oatablelayoutbean1);
    oatablelayoutbean.addIndexedChild(oaspacerrowbean);
    OARowLayoutBean oarowlayoutbean2 = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean2);
    OACellFormatBean oacellformatbean2 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    OACellFormatBean oacellformatbean3 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean2.addIndexedChild(oacellformatbean2);
    oarowlayoutbean2.addIndexedChild(oacellformatbean3);
    OATableLayoutBean oatablelayoutbean2 = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    OATableLayoutBean oatablelayoutbean3 = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    oacellformatbean2.addIndexedChild(oatablelayoutbean2);
    oacellformatbean2.setVAlign("top");
    oacellformatbean3.addIndexedChild(oatablelayoutbean3);
    oacellformatbean3.setVAlign("top");
    oatablelayoutbean2.addIndexedChild(createWebBean(oapagecontext, oawebbean, "DetailStartDate"));
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean2.addIndexedChild(createWebBean(oapagecontext, oawebbean, "DetailDailyRate"));
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean2.addIndexedChild(createWebBean(oapagecontext, oawebbean, "DetailDays"));
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    if(flag2)
    OAMessageStyledTextBean oamessagestyledtextbean = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailDisplayReceiptAmount");
    oatablelayoutbean2.addIndexedChild(oamessagestyledtextbean);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oamessagestyledtextbean.setText(oamessagestyledtextbean.getText(oapagecontext) != null ? oamessagestyledtextbean.getText(oapagecontext) + " " : "");
    if(oamessagestyledtextbean.getText(oapagecontext) != null && !oamessagestyledtextbean.getText(oapagecontext).equals(""))
    OAStyledTextBean oastyledtextbean = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oastyledtextbean.setViewUsageName("OneReceiptBasedVO");
    oastyledtextbean.setViewAttributeName("ReceiptCurrencyCode");
    oastyledtextbean.setCSSClass("OraDataText");
    oamessagestyledtextbean.setEnd(oastyledtextbean);
    } else
    OAMessageTextInputBean oamessagetextinputbean = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "DetailReceiptAmount");
    oatablelayoutbean2.addIndexedChild(oamessagetextinputbean);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    if(s.equals("N"))
    OAStyledTextBean oastyledtextbean1 = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oastyledtextbean1.setViewUsageName("OneReceiptBasedVO");
    oastyledtextbean1.setViewAttributeName("ReceiptCurrencyCode");
    oastyledtextbean1.setCSSClass("OraDataText");
    oamessagetextinputbean.setEnd(oastyledtextbean1);
    } else
    OAChoiceBean oachoicebean = (OAChoiceBean)createWebBean(oapagecontext, "POPLIST", null, "CurrencyPopList");
    oachoicebean.setViewUsageName("OneReceiptBasedVO");
    oachoicebean.setViewAttributeName("ReceiptCurrencyCode");
    oachoicebean.setPickListViewObjectDefinitionName("oracle.apps.ap.oie.server.CurrenciesVO");
    oachoicebean.setListValueAttribute("CurrencyCode");
    oachoicebean.setListDisplayAttribute("CurrencyCodeName");
    OAStaticStyledTextBean oastaticstyledtextbean = (OAStaticStyledTextBean)createWebBean(oapagecontext, oawebbean, "Currency");
    oachoicebean.setShortDesc(oastaticstyledtextbean.getLabel());
    oamessagetextinputbean.setEnd(oachoicebean);
    if(flag2 || s.equals("N"))
    OAMessageStyledTextBean oamessagestyledtextbean1 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailDisplayExchRate");
    oatablelayoutbean2.addIndexedChild(oamessagestyledtextbean1);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    } else
    OAMessageTextInputBean oamessagetextinputbean1 = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "DetailExchRate");
    oatablelayoutbean2.addIndexedChild(oamessagetextinputbean1);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oamessagetextinputbean1.setRequired("yes");
    OAMessageStyledTextBean oamessagestyledtextbean2 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailReimbursAmt");
    oatablelayoutbean2.addIndexedChild(oamessagestyledtextbean2);
    if(oamessagestyledtextbean2.getText(oapagecontext) != null)
    oamessagestyledtextbean2.setText(oamessagestyledtextbean2.getText(oapagecontext) + " " + s2);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    OAMessageCheckBoxBean oamessagecheckboxbean = (OAMessageCheckBoxBean)createWebBean(oapagecontext, oawebbean, "DetailReceiptMissing");
    oatablelayoutbean2.addIndexedChild(oamessagecheckboxbean);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    Integer integer = (Integer)oaapplicationmodule.invokeMethod("getNumberOfTaxCodes");
    String s7 = (String)oaapplicationmodule1.invokeMethod("getTaxCodeUpdateable");
    OAWebBeanDataAttribute oawebbeandataattribute;
    if(s7 == null || s7.equals("Y"))
    oawebbeandataattribute = (OAWebBeanDataAttribute)createWebBean(oapagecontext, oawebbean, "DetailTaxCode");
    else
    oawebbeandataattribute = (OAWebBeanDataAttribute)createWebBean(oapagecontext, oawebbean, "DetailTaxCodeDisplay");
    OAMessageCheckBoxBean oamessagecheckboxbean1 = (OAMessageCheckBoxBean)createWebBean(oapagecontext, oawebbean, "DetailAmtInclTax");
    if(s1 != null && s1.equals("Y") && integer.intValue() > 0)
    oatablelayoutbean2.addIndexedChild(oamessagecheckboxbean1);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean2.addIndexedChild(oawebbeandataattribute);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    String s8 = (String)oaapplicationmodule1.invokeMethod("getExpTypeWebPrompt");
    Object obj = null;
    Object obj1 = null;
    Boolean boolean1 = (Boolean)oaapplicationmodule1.invokeMethod("isExpTypeInPoplist");
    if(flag4 && !boolean1.booleanValue())
    oaapplicationmodule1.invokeMethod("resetWebParameterId");
    String s11 = (String)oaapplicationmodule1.invokeMethod("getAwardNumber");
    MessageToken amessagetoken[] = {
    new MessageToken("EXP_TYPE", s8), new MessageToken("AWARD_NUM", s11 != null ? s11 : "")
    OAException oaexception = new OAException("SQLAP", "OIE_DEFAULT_EXPENDITURE_TYPE", amessagetoken, (byte)1, null);
    oaexception.setApplicationModule(oaapplicationmodule1);
    oapagecontext.putDialogMessage(oaexception);
    OAMessageLovInputBean oamessagelovinputbean = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "DetailProjectNumber");
    OAMessageLovInputBean oamessagelovinputbean1 = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "DetailTaskNumber");
    if(flag3)
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean1);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    String s12 = (String)oaapplicationmodule1.invokeMethod("getProjectNumber");
    if(s12 != null)
    oamessagelovinputbean1.setRequired("yes");
    else
    oamessagelovinputbean1.setRequired("no");
    if(flag4)
    OAMessageLovInputBean oamessagelovinputbean2 = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "DetailAwardNumber");
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean2);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean3.addIndexedChild(createWebBean(oapagecontext, oawebbean, "RBWebParam"));
    if(s3 != null && ("Y".equals(s3) || "B".equals(s3)))
    oadescriptiveflexbean = (OADescriptiveFlexBean)createWebBean(oapagecontext, oawebbean, "DetailFlex");
    oatablelayoutbean3.addIndexedChild(oadescriptiveflexbean);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    if(flag4)
    OAStyledTextBean oastyledtextbean2 = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oatablelayoutbean3.addIndexedChild(oastyledtextbean2);
    String s9 = oapagecontext.getMessage("SQLAP", "OIE_EXPENDITURE_TYPE_TIP", null);
    oastyledtextbean2.setText(oapagecontext, s9);
    oastyledtextbean2.setStyleClass("OraInlineInfoText");
    OAWebBeanDataAttribute oawebbeandataattribute1 = null;
    if(oapagecontext.getParameter("_FORMEVENT") == null || !oapagecontext.getParameter("_FORMEVENT").startsWith("FLEX_CONTEXT_CHANGED"))
    if(!boolean1.booleanValue() && s8 != null)
    oadescriptiveflexbean.setFlexContext(oapagecontext, null);
    Serializable aserializable[] = {
    null
    oapagecontext.getApplicationModule(oawebbean).invokeMethod("onChangeExpenseDFFContext", aserializable);
    } else
    oadescriptiveflexbean.setFlexContext(oapagecontext, s8);
    oadescriptiveflexbean.processFlex(oapagecontext);
    oawebbeandataattribute1 = (OAWebBeanDataAttribute)oadescriptiveflexbean.getIndexedChild(null, 0);
    oadescriptiveflexbean.setFlexTableRendered(false);
    oatablelayoutbean3.addIndexedChild(oawebbeandataattribute1);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    if(!boolean1.booleanValue() && s8 != null)
    oawebbeandataattribute1.setRequired("no");
    else
    oawebbeandataattribute1.setRequired("yes");
    DescriptiveFlexfield descriptiveflexfield = (DescriptiveFlexfield)oadescriptiveflexbean.getAttributeValue(OAWebBeanConstants.FLEXFIELD_REFERENCE);
    int i = descriptiveflexfield.indexOfContextSegment();
    if(oapagecontext.getParameter("_FORMEVENT") != null && oapagecontext.getParameter("_FORMEVENT").startsWith("FLEX_CONTEXT_CHANGED"))
    String s14 = descriptiveflexfield.getSegment(i).getValue().getDisplay();
    Serializable aserializable2[] = {
    s14
    oapagecontext.getApplicationModule(oawebbean).invokeMethod("onChangeExpenseDFFContext", aserializable2);
    } else
    OAMessageChoiceBean oamessagechoicebean = (OAMessageChoiceBean)createWebBean(oapagecontext, oawebbean, "DetailExpType");
    oatablelayoutbean3.addIndexedChild(oamessagechoicebean);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    oamessagechoicebean.setPickListViewUsageName("DetailExpenseTypesVO");
    if(flag4)
    OAStyledTextBean oastyledtextbean3 = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oatablelayoutbean3.addIndexedChild(oastyledtextbean3);
    String s10 = oapagecontext.getMessage("SQLAP", "OIE_EXPENDITURE_TYPE_TIP", null);
    oastyledtextbean3.setText(oapagecontext, s10);
    oastyledtextbean3.setStyleClass("OraInlineInfoText");
    if(flag3)
    String s13 = (String)oaapplicationmodule1.invokeMethod("getExpenditureType");
    boolean flag7 = ((String)oapagecontext.getTransactionValue("IsProjectEnabled")).equals("R") && s13 != null;
    if(flag7)
    oamessagelovinputbean.setRequired("yes");
    oamessagelovinputbean1.setRequired("yes");
    boolean flag6 = ((Boolean)oaapplicationmodule1.invokeMethod("isLocationSchedule")).booleanValue();
    boolean flag8 = flag5 || flag6;
    if(setup.getReceiptBasedLocation() != null)
    flag8 = setup.getReceiptBasedLocation().booleanValue() || flag8;
    if(flag8)
    if(flag6 || flag5)
    OAMessageLovInputBean oamessagelovinputbean3 = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "LocationName");
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean3);
    oamessagelovinputbean3.setRequired("yes");
    oatablelayoutbean3.addIndexedChild(createWebBean(oapagecontext, oawebbean, "LocationId"));
    } else
    OAMessageTextInputBean oamessagetextinputbean2 = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "RBLocation");
    oatablelayoutbean3.addIndexedChild(oamessagetextinputbean2);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    if(flag2)
    OAMessageStyledTextBean oamessagestyledtextbean3 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "TransactionLocation");
    oatablelayoutbean3.addIndexedChild(oamessagestyledtextbean3);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    Object obj2 = null;
    Object obj3 = null;
    String s17 = null;
    if((OAMessageTextInputBean)oawebbean.findIndexedChildRecursive("RBLocation") != null)
    OAMessageTextInputBean oamessagetextinputbean5 = (OAMessageTextInputBean)oawebbean.findIndexedChildRecursive("RBLocation");
    s17 = (String)oamessagetextinputbean5.getValue(oapagecontext);
    } else
    if((OAMessageLovInputBean)oawebbean.findIndexedChildRecursive("LocationName") != null)
    OAMessageLovInputBean oamessagelovinputbean4 = (OAMessageLovInputBean)oawebbean.findIndexedChildRecursive("LocationName");
    s17 = (String)oamessagelovinputbean4.getValue(oapagecontext);
    OAMessageStyledTextBean oamessagestyledtextbean5 = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("TransactionLocation");
    String s19 = (String)oaapplicationmodule1.invokeMethod("getTransactionLocation");
    if(s19 != null && !s19.equalsIgnoreCase(s17))
    oamessagestyledtextbean5.setValue(oapagecontext, s19);
    oamessagestyledtextbean3.setRendered(true);
    boolean flag1 = true;
    } else
    oamessagestyledtextbean3.setRendered(false);
    if(flag2)
    OAMessageStyledTextBean oamessagestyledtextbean4 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailDisplayMerchantName");
    oatablelayoutbean3.addIndexedChild(oamessagestyledtextbean4);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    } else
    OAMessageTextInputBean oamessagetextinputbean3 = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "DetailMerchantName");
    Serializable aserializable1[] = {
    getLocationId(oapagecontext, oawebbean)
    Class aclass[] = {
    oracle.jbo.domain.Number.class
    if(((Boolean)oaapplicationmodule1.invokeMethod("isMerchantRequired", aserializable1, aclass)).booleanValue())
    oamessagetextinputbean3.setRequired("yes");
    oatablelayoutbean3.addIndexedChild(oamessagetextinputbean3);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    }

  • How to bind chart type at run time

    Hi,
    I want to select chart type at run time using a drop down , i know the class name (CL_WD_BUSINESS_GRAPHICS) which
    has to be bind. but iam unable to bind the class.
    can any one help me.

    Hi,
    **... check view exists
    check me->if_salv_wd_view~r_view is bound.
    *... get wd root uie for adding graphic control uie
      data:
        lr_wd_root type ref to cl_wd_transparent_container.
      lr_wd_root ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_root ).
      check lr_wd_root is bound.
    *... use a group container
      data:
        lr_wd_group type ref to cl_wd_group.
      lr_wd_group ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_graphic_container ).
    *... if wd uie group container does not exist create group container
      if lr_wd_group is not bound.
        lr_wd_group = me->if_salv_wd_comp_table_ui~create_graphic_container( ).
      endif.
    *... get wd uie graphic
      value ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_graphic ).
    *... if wd uie graphic does not exist create graphic
      if value is not bound.
        data:
          l_source_category type string,
          l_source_series   type string,
          l_source_point    type string.
        concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_category
                    into l_source_category.
        concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_series
                    into l_source_series.
        concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_series '.'
                    if_salv_wd_comp_table_data=>c_name_node_graphic_point
                   into l_source_point.
        value = cl_wd_business_graphics=>new_business_graphics(
                  view                 = me->if_salv_wd_view~r_view
                  id                   = if_salv_wd_comp_table_ui=>c_uie_graphic
                  bind_category_source = l_source_category
                  bind_series_source   = l_source_series ).
        data:
          l_bind_value type string.
        data:
          lr_wd_category type ref to cl_wd_category.
        concatenate l_source_category '.' 'LABEL' into l_bind_value.
        lr_wd_category = cl_wd_category=>new_category(
                           view             = me->if_salv_wd_view~r_view
                           bind_description = l_bind_value
                           bind_tooltip     = l_bind_value ).
        value->set_category( lr_wd_category ).
        data:
          lr_wd_series type ref to cl_wd_series.
        concatenate l_source_series '.' 'LABEL' into l_bind_value.
        lr_wd_series = cl_wd_series=>new_series(
                         view              = me->if_salv_wd_view~r_view
                         bind_point_source = l_source_point
                         bind_label        = l_bind_value
                         bind_tooltip      = l_bind_value ).
        value->add_series( lr_wd_series ).
        data:
          lr_wd_point type ref to cl_wd_point.
        concatenate l_source_point '.' 'LABEL' into l_bind_value.
        lr_wd_point = cl_wd_point=>new_point(
                        view              = me->if_salv_wd_view~r_view
                        bind_value_source = l_source_point
                        bind_label        = l_bind_value
                        bind_tooltip      = l_bind_value ).
        lr_wd_series->set_point( lr_wd_point ).
        data:
          lr_wd_value type ref to cl_wd_numeric_value.
        concatenate l_source_point '.' 'VALUE' into l_bind_value.
        lr_wd_value = cl_wd_numeric_value=>new_numeric_value(
                        view       = me->if_salv_wd_view~r_view
                        bind_value = l_bind_value ).
        lr_wd_point->add_value( lr_wd_value ).
        me->if_salv_wd_comp_table_ui~add_child_to_container(
          r_container = lr_wd_group
          r_child     = value ).
      endif.

Maybe you are looking for