Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

OCX EVENT

Former Member
0 Likes
1,079

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

1 ACCEPTED SOLUTION
Read only

athavanraja
Active Contributor
0 Likes
884

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

4 REPLIES 4
Read only

athavanraja
Active Contributor
0 Likes
885

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

Read only

0 Likes
884

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

Read only

0 Likes
884

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

Read only

0 Likes
884

hi raja ,

thx u v much i got it ......and i hav gvn point also 2 u

once again thx.

regards ,

wasim