‎2008 May 23 12:21 PM
HI abap experts ,
my requirement is in ocx dat ,
in my progm is had created one container with nodes tree like,
FIRST NODE :MATERIAL
M1
M11
M111
M112
SECOND NODE: M2
M21
M211
if i click any of the node like (M1, M11 OR M21) after clicking any one of the node the event has to generate and (on the second screen there is table control) dat has to dispaly
with the data inside dat ?
now i am stuck dat , how to create the event to get the data in table control after clicking node ... i hope understand what is mean , if not than plz get back to me .
answer vl be rewarded ...
regard s ,
wasim
‎2008 May 24 12:22 PM
how are you building the tree? are you using the classes like cl_gui_column_tree ? if yes they have events like
node_double_click
item_double_click
link_click etc
Raja
‎2008 May 24 12:22 PM
how are you building the tree? are you using the classes like cl_gui_column_tree ? if yes they have events like
node_double_click
item_double_click
link_click etc
Raja
‎2008 May 27 6:06 AM
hi raja ,
plz have a look 2 my progm...
1) top parts. PROGRAM SAPMZWAS_ALEXE .
************ INITIALIZATION *****************************
DATA: OK_CODE LIKE SY-UCOMM ,
SAVE_OK LIKE SY-UCOMM ,
REPID LIKE SY-REPID ,
DYNNR LIKE SY-DYNNR .
DATA: NUM LIKE SY-DYNNR VALUE '102' .
******************* CONTROL ****************************
CONTROLS TC_100 TYPE TABLEVIEW USING SCREEN '101' .
******************** CONTAINER **************************
DATA CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
********************* CLASS *****************************
DATA: TREE TYPE REF TO CL_GUI_SIMPLE_TREE .
DATA: CONT1 TYPE REF TO CL_GUI_CONTAINER .
*********************** INTERNAL TABLE ******************
DATA: I_NODE LIKE MTREESNODE OCCURS 0 WITH HEADER LINE .
DATA: WA_EVENT TYPE CNTL_SIMPLE_EVENTS WITH HEADER LINE,
T_EVENTS TYPE CNTL_SIMPLE_EVENTS.
DATA: BEGIN OF IT_VAL OCCURS 0 ,
MANT TYPE I ,
QUNT TYPE I ,
END OF IT_VAL .
******************** CLASS lcl_class DEFINITION ************************
CLASS LCL_CLASS DEFINITION.
PUBLIC SECTION.
CLASS-METHODS :
METHOD_DOUBLE_CLICK1 FOR EVENT NODE_DOUBLE_CLICK OF CL_GUI_SIMPLE_TREE
IMPORTING NODE_KEY.
ENDCLASS. "LCL_CLASS DEFINITION
******************** CLASS lcl_class IMPLEMENTATION*********************
CLASS LCL_CLASS IMPLEMENTATION.
METHOD METHOD_DOUBLE_CLICK1.
ENDMETHOD. "METHOD_DOUBLE_CLICK1
ENDCLASS. "LCL_CLASS IMPLEMENTATION
2) PBO PARTS.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ABC'.
* SET TITLEBAR 'xxx'.
REPID = SY-REPID .
DYNNR = SY-DYNNR .
CREATE OBJECT CONTAINER
EXPORTING
* PARENT =
CONTAINER_NAME = 'MYCONT'
* STYLE =
* LIFETIME = lifetime_default
* REPID =
* DYNNR =
* NO_AUTODEF_PROGID_DYNNR =
* EXCEPTIONS
* CNTL_ERROR = 1
* CNTL_SYSTEM_ERROR = 2
* CREATE_ERROR = 3
* LIFETIME_ERROR = 4
* LIFETIME_DYNPRO_DYNPRO_LINK = 5
* OTHERS = 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
****************** CREATE TREE OBJECT **********************
CREATE OBJECT TREE
EXPORTING
* LIFETIME =
PARENT = CONTAINER
* SHELLSTYLE =
NODE_SELECTION_MODE =
cl_gui_simple_tree=>node_sel_mode_single .
* HIDE_SELECTION =
* NAME =
* EXCEPTIONS
* LIFETIME_ERROR = 1
* CNTL_SYSTEM_ERROR = 2
* CREATE_ERROR = 3
* FAILED = 4
* ILLEGAL_NODE_SELECTION_MODE = 5
* others = 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
***************** MATERIAL I_NODE ******************
I_NODE-NODE_KEY = 'MATERIAL' .
I_NODE-TEXT = 'MATERIAL' .
I_NODE-EXPANDER = 'x'.
*i_node-isfolder = 'x' .
I_NODE-DRAGDROPID = ' ' .
APPEND I_NODE .
CLEAR I_NODE .
****************** CHILD1 NODE *****************************
*M1 NODE
I_NODE-NODE_KEY = 'CHILD1' .
I_NODE-TEXT = 'M1' .
I_NODE-EXPANDER = 'x'.
I_NODE-RELATKEY = 'MATERIAL' .
APPEND I_NODE .
CLEAR I_NODE .
*M11 NODE
I_NODE-NODE_KEY = 'SUB-CHILD1' .
I_NODE-TEXT = 'M11' .
I_NODE-RELATKEY = 'CHILD1' .
* i_node-isfolder = 'x' .
I_NODE-EXPANDER = 'x'.
APPEND I_NODE .
CLEAR I_NODE .
*M111 NODE
I_NODE-NODE_KEY = 'SUB1-CHILD12' .
I_NODE-TEXT = 'M111' .
I_NODE-RELATKEY = 'CHILD1' .
I_NODE-RELATSHIP = CL_GUI_LIST_TREE=>RELAT_LAST_CHILD .
APPEND I_NODE .
CLEAR I_NODE .
*M112
I_NODE-NODE_KEY = 'SUB2-CHILD13' .
I_NODE-TEXT = 'M112' .
I_NODE-RELATKEY = 'CHILD1' .
I_NODE-RELATSHIP = CL_GUI_LIST_TREE=>RELAT_LAST_CHILD .
APPEND I_NODE .
CLEAR I_NODE .
*M12 NODE
I_NODE-NODE_KEY = 'SUB-CHILD2' .
I_NODE-TEXT = 'M12' .
I_NODE-RELATKEY = 'CHILD1' .
* i_node-isfolder = 'x' .
I_NODE-EXPANDER = 'x'.
APPEND I_NODE .
CLEAR I_NODE .
*M121
I_NODE-NODE_KEY = 'SUB2-CHILD21' .
I_NODE-TEXT = 'M121' .
I_NODE-RELATKEY = 'CHILD1' .
I_NODE-RELATSHIP = CL_GUI_LIST_TREE=>RELAT_LAST_CHILD .
APPEND I_NODE .
CLEAR I_NODE .
*M1211
I_NODE-NODE_KEY = 'SUB2-CHILD22' .
I_NODE-TEXT = 'M1211' .
I_NODE-RELATKEY = 'CHILD1' .
I_NODE-RELATSHIP = CL_GUI_LIST_TREE=>RELAT_LAST_CHILD .
APPEND I_NODE .
CLEAR I_NODE .
********************* CAL METHOD TREE *****************
CALL METHOD tree->add_nodes
EXPORTING
table_structure_name = 'MTREESNODE'
node_table = i_node[].
ENDMODULE. " STATUS_0100 OUTPUT
3) PAI PARTS .
*----------------------------------------------------------------------*
***INCLUDE MZWAS_OCX_ALEXE_USER_COMMANI01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE .
WHEN 'EXIT' .
LEAVE PROGRAM .
WHEN OTHERS.
CALL METHOD CL_GUI_CFW=>DISPATCH.
IF CONTAINER IS NOT INITIAL .
CALL METHOD CONTAINER->FREE
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
OTHERS = 3.
ENDIF.
CLEAR CONTAINER .
CALL METHOD TREE->FREE
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
OTHERS = 3.
CLEAR TREE.
CLEAR : I_NODE,I_NODE[].
ENDCASE .
ENDMODULE. " USER_COMMAND_0100 INPUT
now tell me wht modification i hv 2 do plz .....
regards ,
wasim.
Edited for formatting by: Durairaj Athavan Raja on May 27, 2008 8:44 AM
‎2008 May 27 6:48 AM
you have not written any code in the implementation of method_double_click
METHOD METHOD_DOUBLE_CLICK1.
ENDMETHOD. thats where you have to write code to react to double click.
for sample code look at transaction DWDM
Raja
‎2008 May 27 7:55 AM
hi raja ,
thx u v much i got it ......and i hav gvn point also 2 u
once again thx.
regards ,
wasim