Simple Requirement in Tree UI element
Hi All
I have the following requirement which is very simple in webdynpro java but the same changes are not reflecting in Tree UI element.
I have created the context struture as follows and i added this context node to the dataSource property of the Tree UI element.
but at the runtime the tree elements are not displayed as i added the context structure to the dataSource property.
i am getting the blank tree at runtime there is no elements at all.
Can you let us know if any settings are required to change the Tree UI properties.
Context Node Structure
A
A1
A2
B
B1
B2
C
C1
C2
Any pointers on this then it would be great help to me
Thanks
Trisha Rani
Edited by: Trisha Rani198 on May 21, 2009 6:25 PM
I gave you a complete example in your other thread.
Armin
Similar Messages
-
Tutorials and Documentation on Tree UI Element for ABAP
Hi Everyone,
I am having trouble finding documentation or tutorials on creating Tree structures in web dynpro for ABAP.
Basically, I need some tutorials on using the "Tree" UI Element. Also, how would I go about adding Check Boxes to such a control? For example, someone would like to select the lowest item in a Tree using a check box.
Tank you.
Christiaan.Hi
>a) How to check or how to write the code to check whether the current selected node is first level or second level or third level etc from the above example tree structure
In the context node you have to have attribute level (integer). When you populate context nodes for the tree you have to set correct value 0, 1, 2, ... for the attribute. Then it'll be easy for you to read the value and understand what is the level.
>b) How to insert a node only at the first level , second level and third level i etc from the above example
It slightly depends on whether you use recursive nodes or not. But in general it's simple - just create a new element in the corresponding node
>c) How to delete only leaf node . i have a requirement which says that i can delete only leaf nodes , if i delete a node which having children then it should not allow to me. i can delete a node which is not having any child
IWDNode node;
if (node.getChild("<child node name>").size() <= 0) {
// leaf node
>4) How to rename any node, once user selects any node then on click of any button then popup opens which retrieves the current textvalue of a node and user have an inputfield where he enters then on click of save then that new textvalue needs to be updated to the selected tree element
Just bind the text property of a tree item to some node attribute (let say NAME). The just update a value of the attribute.
BR, Siarhei -
hi all,
i want to know from which tables can i pick the skill group and skills related to each skill group. And after getting these details i want to display them in the tree structure in my iView .
it is very urgent can any body help me regarding this issue.
Thanks & Regards,
Sreelatha Gullapalli.Hi,
for tree UI element look into the below PDF...
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0ec6622-8da5-2a10-349b-868b6a553efa
and for binding data to a table... simple way to do it is just right click on your container in LayOut tab and then click on Apply template, from there select Table and then select the corrosponding Context node from which you want to display data into the table....
hope it will be helpful....
Reward points if useful...
Regards,
Srini. -
Drag and Drop in feature in Tree UI element
Hello All,
The requirement is as following. The webdynpro screen should show two nodes Node1 and Node2. Each node would have some attributes.
Node1
__AAA
__BBB
Node2
|__XXX
|__YYY
It should be possible to drag and drop attributes from node to another node(Example , cut YYY from Node2 and add it to Node1).
Now can we achieve this using Tree UI element? Please let me know your inputs?
Regards,
Raghu.it should be possible according to sap help[http://help.sap.com/saphelp_nw70ehp1/helpdata/en/a5/bf47414eca430794189fbb5919cc2f/content.htm|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/a5/bf47414eca430794189fbb5919cc2f/content.htm]
Edited by: Baskaran Senthivel on Jan 16, 2012 8:41 PM -
Dynamic tree UI element in the view
Dear All,
Can anyone provide me with the code snippet for Dynamic Tree UI element in the view. I need to show the tree which should be generated dynamically.
Thanks alot in advance!
Points will be rewarded, Please its urgent!
Cheers,
Darshna.Hi ,
sorry for the late reply... here is the code for onActionLoadchildren .. i am sure you wont understand this.. but lets try...
DATA:
element_parent TYPE REF TO if_wd_context_element,
lv_object_key1 type string,
lv_object_type type string.
DATA:
node_root_entry TYPE REF TO if_wd_context_node,
elem_root_entry TYPE REF TO if_wd_context_element,
stru_root_entry TYPE if_structure_view_new=>element_root_entry ,
item_valid_from LIKE stru_root_entry-valid_from,
item_plant LIKE stru_root_entry-plant,
item_equi_key LIKE stru_root_entry-equi_key,
item_object_key LIKE stru_root_entry-object_key,
item_object_type TYPE string,
item_path TYPE string,
item_parent_path TYPE string,
context_node TYPE REF TO if_wd_context_node,
root_entry TYPE if_structure_view_new=>element_selected_entry.
l_ref_componentcontroller TYPE REF TO ig_componentcontroller.
DATA:
node_root_info TYPE REF TO if_wd_context_node,
elem_root_info TYPE REF TO if_wd_context_element,
stru_root_info TYPE if_structure_view_new=>element_root_info .
DATA:
element TYPE REF TO if_wd_context_element,
node_selected_entry TYPE REF TO if_wd_context_node,
elem_selected_entry TYPE REF TO if_wd_context_element.
DATA:
ls_hier_return TYPE rplm_ts_struc_elements,
lt_hier_return TYPE TABLE OF rplm_ts_struc_elements,
ls_hier_return_temp TYPE rplm_ts_struc_elements,
lt_hier_return_temp TYPE TABLE OF rplm_ts_struc_elements,
ls_hier_level TYPE rplm_ts_hier_level,
lt_hier_level TYPE TABLE OF rplm_ts_hier_level,
ls_hier_return_sort TYPE rplm_mt_ts_hier,
lt_hier_return_sort TYPE TABLE OF rplm_mt_ts_hier.
DATA:
temp_hier_level TYPE if_structure_view_new=>element_hier_level,
lt_hier_temp TYPE TABLE OF if_structure_view_new=>element_hier_level,
lt_temp TYPE TABLE OF if_structure_view_new=>element_hier_level.
DATA:
lc_path TYPE string,
lv_object_key TYPE string.
DATA:
lv_hier_lines TYPE i.
DATA:
node_entries TYPE REF TO if_wd_context_node,
node_sub_entries TYPE REF TO if_wd_context_node,
elem_sub_entries TYPE REF TO if_wd_context_element,
stru_sub_entries TYPE if_structure_view_new=>element_sub_entries .
TYPES: BEGIN OF ls_hier_type, "structure for Hierarchy table
object(31) TYPE c, "Objectkey
predecessor(31) TYPE c, "Objectkey Predecessor
data(2000) TYPE c, "Data container
level TYPE i, "level of object in tree
successors(1) TYPE c, "Object has successors: YES/NO/U
display(1) TYPE c, "Object is displayed: YES/NO
selected(1) TYPE c, "Object is selected/marked: YES/NO
index_predec LIKE sy-tabix, "Index predecessor
strno TYPE ilom_strno,"External number for func. loc.
"in BOMs used for top object
END OF ls_hier_type.
DATA:
ls_hier TYPE ls_hier_type,
lt_hier TYPE TABLE OF ls_hier_type WITH DEFAULT KEY,
lt_mat_hier TYPE TABLE OF ls_hier_type WITH DEFAULT KEY.
" For retrieving Material Data Heirarchy
DATA:
lh_stpo_tab TYPE TABLE OF rihstpx ,
lwa_stpo_tab LIKE LINE OF lh_stpo_tab,
check_menge TYPE string ,
check_meins TYPE string ,
lwa_mat_hier LIKE LINE OF lt_mat_hier ,
lt_dup_mat_hier LIKE lt_mat_hier,
lv_len TYPE i,
lv_len_temp TYPE i .
DATA:
lv_equnr TYPE equi-equnr,
lv_tplnr TYPE iflo-tplnr,
lv_matnr TYPE mast-matnr.
DATA:
lv_cnt TYPE i,
lv_index TYPE i.
DATA:
lv_path TYPE string,
lv_parent_path TYPE string,
pos TYPE string,
separator TYPE c VALUE '.',
max_level TYPE i,
temp_level TYPE i,
counter TYPE i VALUE 1.
TYPES: BEGIN OF ls_pred_type, "structure for Hierarchy table
parent(31) TYPE c, "Objectkey Predecessor
path(2000) TYPE c, "Data container
index_predec LIKE sy-tabix, "Index predecessor
END OF ls_pred_type.
DATA:
ls_pred TYPE ls_pred_type,
lt_pred TYPE TABLE OF ls_pred_type WITH DEFAULT KEY.
DATA:
lv_int_obj_key TYPE string,
obj_len TYPE i,
lv_funcloc_ext TYPE ilom_strno,
lv_funcloc TYPE itob-tplnr.
DATA:
lv_level TYPE i,
lv_temp TYPE i,
lt_path_entries TYPE string_table.
DATA:
node_general TYPE REF TO if_wd_context_node,
elem_general TYPE REF TO if_wd_context_element,
stru_general TYPE if_structure_view_new=>element_general ,
item_collapse_visibility LIKE stru_general-collapse_visibility.
DATA:
elem_context TYPE REF TO if_wd_context_element,
stru_context TYPE if_structure_view_new=>element_context ,
item_expand_all LIKE stru_context-expand_all.
lv_path = path.
Get Element whose children shall be loaded
element_parent = wd_context->path_get_element( lv_path ).
element_parent->get_attribute(
EXPORTING
name = `OBJECT_KEY`
IMPORTING
value = LV_object_key ).
element_parent->get_attribute(
EXPORTING
name = `OBJECT_TYPE`
IMPORTING
value = lv_object_type ).
node_root_entry = wd_context->get_child_node( name = wd_this->wdctx_root_entry ).
get element via lead selection
elem_root_entry = node_root_entry->get_element( ).
get single attribute
elem_root_entry->get_attribute(
EXPORTING
name = `VALID_FROM`
IMPORTING
value = item_valid_from ).
elem_root_entry->get_attribute(
EXPORTING
name = `PLANT`
IMPORTING
value = item_plant ).
item_object_type = lv_object_type.
if lv_object_type eq 'EQUI'.
item_object_key = ''.
item_equi_key = lv_object_key.
elseif lv_object_type eq 'FUNCLOC'.
item_object_key = lv_object_key.
item_equi_key = ''.
ELSE.
lv_matnr = lv_object_key.
For BOM, material and Assembly
endif.
IF item_object_type EQ 'EQUI'.
lv_equnr = lv_object_key.
ELSEif item_object_type eq 'FUNCLOC'.
lv_tplnr = lv_object_key.
ELSE.
LV_MATNR = lv_object_key.
exit.
ENDIF.
CALL FUNCTION 'PM_HIERARCHY_CALL'
EXPORTING
datum = item_valid_from
equnr = lv_equnr
tplnr = lv_tplnr
matnr = lv_matnr
levdo = '99'
levup = '00'
sanin = 'X'
select_equi = 'X'
select_iflo = 'X'
select_stpo = 'X'
selmod = 'D'
stkkz = ''
werks = item_plant
with_equi = 'X'
with_equi_hier = 'X'
with_iflo_hier = 'X'
with_btyp = 'X'
with_mara = 'X'
with_ibase_hier = ''
capid = ''
emeng = 0
IMPORTING
et_hier = lt_hier
EXCEPTIONS
no_hierarchy = 1
no_object_defined = 2
no_selection = 3
no_valid_equnr = 4
no_valid_matnr = 5
no_valid_selmod = 6
no_valid_tplnr = 7
OTHERS = 8.
LOOP AT lt_hier INTO ls_hier.
ls_hier_return-object_key = ls_hier-object.
ls_hier_level-object_key = ls_hier-object.
ls_hier_level-predecessor = ls_hier-predecessor.
lv_len = strlen( ls_hier-object ).
IF lv_len GT 1.
lv_len_temp = lv_len - 1.
ELSEIF
lv_len_temp = lv_len.
ENDIF.
ls_hier_level-level = ls_hier-level.
IF ls_hier-object(1) = 'T'.
ls_hier_return-icon = 'ICON_TECHNICAL_PLACE'.
ls_hier_return-object_type = 'FUNCLOC'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_true.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object(1) = 'E'.
ls_hier_return-icon = 'ICON_EQUIPMENT'.
ls_hier_return-object_type = 'EQUI'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_true.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object+lv_len_temp(1) = 'M'.
ls_hier_return-icon = 'ICON_MATERIAL'.
ls_hier_return-object_type = 'MATERIAL'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_false.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object+lv_len_temp(1) = 'X'.
ls_hier_return-icon = 'ICON_SUPPLY_AREA'.
ls_hier_return-object_type = 'MATBOM'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_false.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object+lv_len_temp(1) = 'A'.
ls_hier_return-icon = 'ICON_MATERIAL_REVISION'.
ls_hier_return-object_type = 'MATERIAL'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_false.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ENDIF.
*IF ls_hier-predecessor EQ item_object_key OR ls_hier-object EQ item_object_key.
APPEND ls_hier_return TO lt_hier_return.
APPEND ls_hier_level TO lt_hier_level.
*ENDIF.
CLEAR lv_len.
CLEAR lv_len_temp.
ENDLOOP.
lt_hier_return_temp = lt_hier_return.
DESCRIBE TABLE lt_hier LINES lv_hier_lines.
IF lv_hier_lines EQ 0.
elem_selected_entry = wd_context->path_get_element( '1.ENTRIES.1' ).
Get children node
elem_selected_entry->set_attribute(
value = abap_true
name = 'IS_LEAF' ).
ENDIF.
*************************************Deleting Now***********
SORT lt_hier_level BY level DESCENDING.
LOOP AT lt_hier_level INTO ls_hier_level.
max_level = ls_hier_level-level.
EXIT.
ENDLOOP.
SORT lt_hier_level BY level ASCENDING.
LOOP AT lt_hier_level INTO ls_hier_level WHERE level EQ 0.
ls_hier_level-path = '1.ENTRIES.1'.
ls_hier_level-parent_path = '1.ENTRIES.1'.
MODIFY lt_hier_level FROM ls_hier_level.
ENDLOOP.
************************New design to Generate Path and Parent path
lv_cnt = 0.
temp_level = 1.
SORT lt_hier_level BY object_key ASCENDING.
LOOP AT lt_hier_level INTO ls_hier_level WHERE level EQ 1.
lv_cnt = lv_cnt + 1.
lv_parent_path = '1.ENTRIES.1'.
ls_hier_level-parent_path = lv_parent_path.
pos = lv_cnt.
CONCATENATE lv_parent_path separator 'SUB_ENTRIES' separator pos INTO lv_path.
ls_hier_level-path = lv_path.
MODIFY lt_hier_level FROM ls_hier_level.
ENDLOOP.
temp_level = 1.
lv_cnt = 0.
*********************Need to call this for each level ***************************
WHILE temp_level LT max_level.
CLEAR lt_pred.
CLEAR ls_pred.
LOOP AT lt_hier_level INTO ls_hier_level WHERE level EQ temp_level.
ls_pred-parent = ls_hier_level-object_key.
ls_pred-path = ls_hier_level-path.
APPEND ls_pred TO lt_pred.
ENDLOOP.
SORT lt_pred BY parent.
DELETE ADJACENT DUPLICATES FROM lt_pred.
LOOP AT lt_pred INTO ls_pred.
lv_cnt = 0.
LOOP AT lt_hier_level INTO ls_hier_level WHERE predecessor EQ ls_pred-parent.
lv_cnt = lv_cnt + 1.
lv_parent_path = ls_pred-path.
ls_hier_level-parent_path = lv_parent_path.
lv_path = ''.
pos = lv_cnt.
CONCATENATE lv_parent_path separator 'SUB_ENTRIES' separator pos INTO lv_path.
ls_hier_level-path = lv_path.
MODIFY lt_hier_level FROM ls_hier_level.
ENDLOOP.
ENDLOOP.
temp_level = temp_level + 1.
ENDWHILE.
LOOP AT lt_hier_level INTO ls_hier_level.
LOOP AT lt_hier_return INTO ls_hier_return.
IF ls_hier_level-object_key = ls_hier_return-object_key.
MOVE-CORRESPONDING ls_hier_level TO ls_hier_return.
MODIFY lt_hier_return FROM ls_hier_return.
ENDIF.
ENDLOOP.
ENDLOOP.
SORT lt_hier_return BY path ASCENDING.
**************************Delete the extra first character returned by PM_HIERARCHY_CALL******
LOOP AT lt_hier_return INTO ls_hier_return.
IF ls_hier_return-object_key(1) = 'T'.
SHIFT ls_hier_return-object_key BY 1 PLACES.
lv_object_key = ls_hier_return-object_key.
lv_funcloc_ext = lv_object_key.
CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT'
EXPORTING
input = lv_funcloc_ext
IMPORTING
output = lv_funcloc.
lv_int_obj_key = lv_funcloc.
ls_hier_return-object_key = lv_int_obj_key.
ELSEIF ls_hier_return-object_key(1) = 'E'.
SHIFT ls_hier_return-object_key BY 1 PLACES.
lv_object_key = ls_hier_return-object_key.
obj_len = strlen( lv_object_key ).
IF obj_len GE 18.
lv_object_key = lv_object_key+0(18).
ENDIF.
wd_comp_controller->conv_ext_2_int(
EXPORTING
iv_object_key_ext = lv_object_key " String
iv_object_type = 'EQUI' " String
IMPORTING
ev_object_key = lv_int_obj_key " String
SHIFT lv_int_obj_key LEFT DELETING LEADING '0'.
ls_hier_return-object_key = lv_int_obj_key.
ELSE.
SHIFT ls_hier_return-object_key BY 1 PLACES.
lv_object_key = ls_hier_return-object_key.
obj_len = strlen( lv_object_key ).
IF obj_len GE 18.
lv_object_key = lv_object_key+0(18).
ENDIF.
SHIFT lv_object_key LEFT DELETING LEADING '0'.
ls_hier_return-object_key = lv_object_key.
ENDIF.
MODIFY lt_hier_return FROM ls_hier_return TRANSPORTING object_key object_key.
ENDLOOP.
LOOP AT lt_hier_level INTO ls_hier_level.
IF ls_hier_level-object_key(1) = 'T'.
SHIFT ls_hier_level-object_key BY 1 PLACES.
lv_object_key = ls_hier_level-object_key.
lv_funcloc_ext = lv_object_key.
CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT'
EXPORTING
input = lv_funcloc_ext
IMPORTING
output = lv_funcloc.
lv_int_obj_key = lv_funcloc.
ls_hier_level-object_key = lv_int_obj_key.
ELSEIF ls_hier_level-object_key(1) = 'E'.
SHIFT ls_hier_level-object_key BY 1 PLACES.
lv_int_obj_key = ls_hier_level-object_key.
obj_len = strlen( lv_int_obj_key ).
IF obj_len GE 18.
lv_int_obj_key = lv_int_obj_key+0(18).
ENDIF.
wd_comp_controller->conv_ext_2_int(
EXPORTING
iv_object_key_ext = lv_int_obj_key " String
iv_object_type = 'EQUI' " String
IMPORTING
ev_object_key = lv_int_obj_key " String
SHIFT lv_int_obj_key LEFT DELETING LEADING '0'.
ls_hier_level-object_key = lv_int_obj_key.
ELSE.
SHIFT ls_hier_level-object_key BY 1 PLACES.
lv_int_obj_key = ls_hier_level-object_key.
obj_len = strlen( lv_int_obj_key ).
IF obj_len GE 18.
lv_int_obj_key = lv_int_obj_key+0(18).
ENDIF.
SHIFT lv_int_obj_key LEFT DELETING LEADING '0'.
ls_hier_level-object_key = lv_int_obj_key.
ENDIF.
MODIFY lt_hier_level FROM ls_hier_level TRANSPORTING object_key object_key.
ENDLOOP.
*********************Getinfo if root node else call Get_Children_Info to generate the structure as well*******
IF lv_path EQ '1.ENTRIES.1'.
element = wd_context->path_get_element( lv_path ).
navigate from <ENTRIES> to <SUB_ENTRIES> via lead selection
node_sub_entries = element->get_child_node( name = 'SUB_ENTRIES' ).
element->get_attribute( EXPORTING name = 'OBJECT_KEY'
IMPORTING value = item_object_key ).
element->get_attribute( EXPORTING name = `OBJECT_TYPE`
IMPORTING value = item_object_type ).
****************Get Info of Technical Objects*************
wd_comp_controller->get_children_info(
EXPORTING
iv_lt_list = lt_hier_return " Rplm_Tt_Mt_Struc
iv_path = ''
iv_hier_level = lt_hier_level
IMPORTING
ev_lt_full = lt_hier_return " Rplm_Tt_Mt_Struc
Create the strcuture by binding the entries to Node which is bound to the table
element = wd_context->path_get_element( lc_path ).
Get children node
node_sub_entries = element->get_child_node( 'SUB_ENTRIES' ).
CALL METHOD node_sub_entries->bind_table
EXPORTING
new_items = lt_hier_return
set_initial_elements = abap_true.
@TODO handle not set lead selection
IF ( node_entries IS INITIAL ).
ENDIF.
lv_temp = 1.
***************Sort the LT_HIER_TABLE appropriately ******
LOOP AT lt_hier_return INTO ls_hier_return .
MOVE-CORRESPONDING ls_hier_return TO ls_hier_return_sort.
ls_hier_return_sort-path_length = strlen( ls_hier_return_sort-path ).
APPEND ls_hier_return_sort TO lt_hier_return_sort.
ENDLOOP.
SORT lt_hier_return_sort BY path_length ASCENDING path ASCENDING.
CLEAR lt_hier_return.
LOOP AT lt_hier_return_sort INTO ls_hier_return_sort.
MOVE-CORRESPONDING ls_hier_return_sort TO ls_hier_return.
APPEND ls_hier_return TO lt_hier_return.
ENDLOOP.
*wd_comp_controller->gv_master_data = lt_hier_return.
LOOP AT lt_hier_return INTO ls_hier_return.
lv_path = ls_hier_return-path.
lc_path = ls_hier_return-parent_path.
IF lv_path NE '1.ENTRIES.1'.
element = wd_context->path_get_element( lc_path ).
Get children node
node_sub_entries = element->get_child_node( 'SUB_ENTRIES' ).
Now, create the children elements
element->get_attribute( EXPORTING name = 'OBJECT_KEY'
IMPORTING value = ls_hier_level-predecessor ).
Create the strcuture by binding the entries to Node which is bound to the table
CALL METHOD node_sub_entries->bind_structure
EXPORTING
new_item = ls_hier_return
set_initial_elements = abap_false.
ENDIF.
ENDLOOP.
Only when a new level is reached we create one more child node
else we attach our elements to same child node
element = wd_context->path_get_element( item_path ).
Get children node
element->set_attribute(
value = abap_false
name = 'IS_EXPANDED' ).
ENDIF.
navigate from <CONTEXT> to <GENERAL> via lead selection
node_general = wd_context->get_child_node( name = wd_this->wdctx_general ).
get element via lead selection
elem_general = node_general->get_element( ).
get single attribute
elem_general->set_attribute(
name = `COLLAPSE_VISIBILITY`
value = abap_false ).
node_selected_entry = wd_context->get_child_node( name = if_structure_view_new=>wdctx_selected_entry ).
get element via lead selection
elem_selected_entry = node_selected_entry->get_element( ).
get single attribute
elem_selected_entry->set_attribute(
name = `OBJECT_KEY`
value = '' ).
elem_selected_entry->set_attribute(
name = `OBJECT_TYPE`
value = '' ).
get element via lead selection
elem_context = wd_context->get_element( ).
get single attribute
elem_context->set_attribute(
name = `EXPAND_ALL`
value = abap_false ).
wd_this->enable_buttons(
endmethod. -
In tree UI element inserting values from database
hai all,
Iam using tree UI element where I need to load the elements from database in tree.when the root node is selected the selected root node should be given as input to database and the subelements should be loaded to that particular root node.I ha ve alraedy gone thru the links in sdn where only static values are inserted in tree so plz help me to do that dynamically.Any suggesstions and guidance provided with this regard will be greatly appreciated.Its very urgent so plz help me in this .
Thanks n Regards
Sharanya.Rhai armin ,
how to get the selected value and give that as input and get the child nodes of tree loaded.iam not able to get that.also the user selected values need to be stored in database at last.how can this be done?
Thanks n Regards
Sharanya.R -
My code to "select" an element in the Tree UI element is not consistently working
Hi,
I created a Web Dynpro component that does many things. One feature is do display information in a Tree UI element. I use the TreeNodeType and recursive context node to build a nice tree representing what the customer wants. Since this tree could get very large, I implemented a search feature to help users locate items in the tree. When found, I expand the tree, and call call set_lead_selection passing in the element where found. This seems to generally work fine (and highlights the highlights the desired TreeNodeType), but only when going farther down in the tree. If I change the search so that it should find something "higher up" in the tree, the search still works, and it finds the data, but calling the set_lead_selection does not seem to unhighlight a previously located TreeNodeType. I have added code to loop through all elements in the tree and call set_selected( ABAP_FALSE). This didn't seem to help. If I use the mouse and manually click on the root of the tree, it seems deselect previously highlight TreeNodeTypes, and the highlighting works again (but still just going forward).
I implemented a Find Next feature that starts where the last search left off, and looks farther down the tree. This works more consistent, but still occassionaly seems to "forget" to unhighlight a previously located TreeNodeType/element.
What am I doing wrong?
I am attaching a screen shot.Hi Perry,
Before setting the lead selection of found result, try to clear all the selected elements from context node.
Sample:
data lo_node type ref to if_wd_context_node.
lo_node = wd_context->get_child_node ( name = 'MY_NODE' ).
"Clear the current selection
lo_node->clear_selection( ).
" now, set the lead selection
lo_node->set_lead_selection( .... )
Hope this helps you.
Regards,
Rama -
Accessing BAPI through Tree UI Element
Hi,
I have one Tree Structure where i have to populate one BAPI and display the data on the browser .I have created two tree node elements and finished the binding .The tree is getting diaplayed in the browser.
But i am facing difficulty in populating data from the BAPI into the tree .
I tried to search in web dynpro tutorials regarding this but the exmples for tree are not much useful .
They are populating manually created data and not the data from BAPI .
Can anybody suggest me how to do this.If anybody can suggest some other tutorials for this then it will be very much useful for me .
Thanks.Hi,
take a look at this:
http://help.sap.com/saphelp_nw04/helpdata/en/13/4cde139306304480e89d815ffcf891/content.htm
here you will find links to create recursive as well as non-recursive tree.
Though the example is of value node, you can extend that to be done from BAPI node. Simply replace the loop of value node by loop which iterate through the BAPI model class' output node.
regards -
Expand/Collapse All functionality in TREE UI Element
Hi All,
I'm using Tree UI Element in which Collapse All button is coming defaultly in that Tree Application . But i need to know how the function is taking place behind . Because i need to refer to do it for Expand All scenario for the same tree . Is that collapse is refering to any method in class ? . Can anyone brief out the coding of that . Or if anyone knows the coding of Expand all pls refer to me,Hello Ramesh Vinay,
*Create a node which has attributes (EXPANDED, IS_LEAF,ROW_KEY and PARENT_ROW_KEY) to build a tree.
Following code will be executed when COLLAPSE ALL button is clicked.
DATA: lo_nd_tree TYPE REF TO if_wd_context_node,
lt_elements TYPE wdr_context_element_set.
FIELD-SYMBOLS:
<lo_element> TYPE REF TO if_wd_context_element.
lo_nd_tree = wd_context->get_child_node( name = wd_this->wdctx_tree).
lt_elements = lo_nd_tree ->get_elements( ).
LOOP AT lt_elements ASSIGNING <lo_element>.
<lo_element>->set_attribute(
EXPORTING value = abap_false
name = u2018EXAPNDEDu2019 ).
ENDLOOP.
Following code will be executed when EXPAND ALL button is clicked.
DATA: lo_nd_tree TYPE REF TO if_wd_context_node,
lt_elements TYPE wdr_context_element_set.
FIELD-SYMBOLS:
<lo_element> TYPE REF TO if_wd_context_element.
lo_nd_tree = wd_context->get_child_node( name = wd_this->wdctx_tree).
lt_elements = lo_nd_tree ->get_elements( ).
LOOP AT lt_elements ASSIGNING <lo_element>.
<lo_element>->set_attribute(
EXPORTING value = abap_true
name = u2018EXAPNDEDu2019 ).
ENDLOOP.
Reply me if you have any questions.
Thanks,
Bharath.K -
Urgent support by two simple requirements
Hello,
i need support by two simple requirements.
Can someone tell me, whether it is possible to realize these in context of SAP XI /SAP Web AS
Graph showing relationships between Tables, DB Spaces & OS File system?
(Yes/No)
Can all jobs and/or scripts be re-run after failure without risk to production data (i.e. stepwise recovery)?
(Yes/No)
Thank you very much!
Regards
A. HenkeHi Axel,
As far as your first requirement is concerned we can do that in SAP WAS very well with the help of WebDynpro. You need to use Business Graphics for that purpose, see the following link for details,
/people/sap.user72/blog/2005/03/23/business-graphics-in-webdynpro
Well for the other one you need to use job scheduling in JAVA with the help of say Quartz or something like that so that you can run timely jobs.
I hope it helps you.
Best regards,
Guru. -
How to highlight/indicate particular tree Node in Tree UI element
Hi All
Can anybody let us know how to highlight/indicate specific node in a tree struture.
currently i am able to display the tree struture with all the nodes & elements but it is always tasking firstnode as highlighted one or indicated one.
if i want to highlight specific node in a tree struture...what was the procedure or any sample code then it would be great help to us.
Thanks
Trisha raniHi Krishna
Thanks for your reply
I displayed the tree structure and i want to highlight specific parent node/child element , what was the sample code??
for example my tree was displayed in the below struture and at the runtime specific child node i wanted to be highlighted i want to make selectable particular nodeType......
Can you pls send sample codee code??
my requirement
A
A1
A2
A3
B
B1
B2
B3
B4
B5
now i want to make selectable or highlighted B4,B5 etc or A2,A3 at runtime.
The other guy who replied for this thread it is working for Parent nodes to make highlighted like it is working for parent nodes which is have child nodes. i am able to hightlight at runtime for Nodes A,B etc .
Now i want to highlight or make selected one for B4,A3 etc, pls provide sample code??
it would be great help to us
Thanks
Trisha Rani -
Renaming of node in Tree UI Element
Hi All
I have populated the Tree Structure as shown below
A
A1
A2
A3
B
B1
B11
B12
B13
B2
B3
C
C1
C2
C21
C22
C23
C3
C4
Can you please let me know How to rename of nodes A,A1,B,B1,B11, and C21??
my requirement is once i select any node either parent or child node or any node then popup opens where current value of a node can be retrieved and user can enter new name where he/she enters new name then that new name could be renamed to the selected node on click of an action.
If any body helps for sample code on this requirement then it would be great help to me.
Thanks
Kalki ReddyIn release >= 7.1 I would do that using a context menu. In earlier releases you could use a static menu at the TreeNodeType or TreeItemType. But I would not open the renaming dialog on selection of a tree node.
How to do that with a static menu?
- Add menus to the TreeNodeType/TreeItemType instances of your tree.
- Create an action "RenameTreeNode" with a parameter "treeNodeContextElement" of type IWDNodeElement.
- Add MenuActionItem to the menu, assign above action and define event parameter mapping "nodeElement" -> "treeNodeContextElement"
Then you will know the context element that represents the tree node where the menu is opened in the action handler of the menu item. In the action handler, open a popup window with an input field to enter the new name for the tree node. Use context mapping to pass the inout field value to the view controller that opens the popup. In the close action of the dialog, assign the edited value to the context element representing the tree node.
Armin -
Unable to set state to 'required' for RadioButtonGroupByKey UI element
Hi all,
I'm using RadioButtonGroupByKey UI element that is bounded to a simple type.
Simple type looks like this:
0 -- Sunday
1 -- Monday
2 -- ...
The selectedKey property is bounded to the simple type.
The state property is set to 'required'
Although I'm using a radio button I don't want to set default selection.
I cannot set label for RadioButtonGroupByKey (unlike inputField).
I'm expecting to see a red asterisk near the radio button but I don't.
What else do I need to set in order to see the red asterisk?
I'm using 7.00.14
Regards,
OmriHi
We need to initialise the value before using it In validation case :
First go through this [thread|How to highlight checkbox group UI element upon validation error.;
for code sample refer [this|How to highlight checkbox group UI element upon validation error.;
Best Regards
Satish Kumar -
Is There A Way To Create A Simple File/Folder Tree...
Hi,
Please forgive me if this has already been covered but I have searched and found no answer...
I am trying to create a web page to run on my local network, through iweb and apache, and have got everything I need working except this. I aim to be able to access my work files (masses of word documents and power-points) through the website but I can see no obvious way of doing this through iweb (short of adding individual hyperlinks to each file). Is there a tool or process I can use to create a simple folder tree in html that I can add to my site that lists all my files and allows my to "save target as" in windows (our college techie is still devoted to windows) ?
Thanks in advance for any help...
KPIf you wanted to send a video as an mms from a mobile phone, the best option for exporting would be 3G in the quicktime export menu ( File > Export and it's in the drop down list).
Keep it short and small and you shouldn't have any probs. There are some miserly operators out there who block MMSs bigger than 100K -
Check box in Tree ui element.
Hi All
I am using org.eclipse.swt.widgets.TreeItem for creating tree structure. Now I am trying to incorporate check box for last tree element. For example if I am preparing tree structure for files the check box should appear only for text file not for directory. User would select the file by checking the box. Here is my code..
for (int i = 0; i < files.length; i++) {
TreeItem item2 = new TreeItem(item1, 0);
item2.setText(files.getName());
item2.setData(files[i]);
if (!files[i].isDirectory())
//here i have to do some thing so that i can select the file in check box
if (files[i].isDirectory()) {
new TreeItem(item2, 0);
I cant use java script here. So pls help me out without using js.
Thanks a lot.
Sunitin oninputprocessing use the following code to read all the form field values
data: fields type tihttpnvp,
field type ihttpnvp.
call method request->get_form_fields
changing
fields = fields.
Maybe you are looking for
-
Optmizing use of function in a query
select a1.*, test_pkg.test_function(section_id) record_id from ( select project_id, student_id, max(se.section_id) section_id from college c, students s, sections se, zone z where c.college_id in (121, 123, 124) and s.student_id = c.student_id and s.
-
Laserjet 3050 with MacBook Pro
I saw another support message say that the HP laserjet 3050 is no longer supported on the Mac. Is this true? After a recent Mac update I have been unable to print. The printer dialog just says "Waiting for printer to become available." And it never b
-
No verification e-mail for Icloud
I can open up the ICloud page on my Windows PC but when I put my Icloud details in, it tells me that I will receive a verification e-mail on what to do next to set up my account. However, it seems as if this mail doesn't get sent to me. I tried numer
-
How do I download pictures from a disk to iPhotos on my MacBook Pro?
I am working on an album for a friend whom sent me a disk of photos. How do I download pictures from the disk to my iPhotos so I can then pick and choose which ones to print? Thanks! Cyndy
-
Just discovered an issue regarding a form using a CAPTCHA. When I formerly submitted other forms on sites with CAPTCHA's in the forms I created, when one did not fill out the form, a pop-up window would appear allerting the customer to "Fill in the f