| Home • Tips • Tutorials • Forums • Certification Q's • Interview Q's • Jobs • Testimonials • Contact Us | ||
Document Categories:
What's New?
Contribute?Sample SpecsWhat's Hot? |
ALV with user defined menu on toolbarBy Swarna S, Tata Consultancy Services REPORT ZALV_INTMENUTOOL. *Author : Swarna.S. *AS : Simple ALV with user defined menu in toolbar * Published at SAPTechnical.COM *Class declarations CLASS lcl_event_receiver DEFINITION DEFERRED. *type pool declarations TYPE-POOLS : icon. *Internal table and work area declarations for dd02l
DATA: it_dd02l TYPE TABLE OF dd02l,
wa_dd02l TYPE dd02l.
*Data declaration for alv.
DATA :it_layout TYPE lvc_s_layo,
it_toolbar TYPE stb_button,
c_alv TYPE REF TO cl_gui_alv_grid,
custom_container TYPE REF TO cl_gui_custom_container,
event_receiver TYPE REF TO lcl_event_receiver.
*Select options multiple values no ranges SELECT-OPTIONS : s_table FOR wa_dd02l-tabname NO INTERVALS. *Initialization event INITIALIZATION. *Start of selection event START-OF-SELECTION. *sUBROUTINE FOR ALV DISPLAY PERFORM alvdisplay. *Class definition CLASS lcl_event_receiver DEFINITION. PUBLIC SECTION. CLASS-METHODS: *handling toolbar for interactive
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
*handling menu button
handle_menu_button
FOR EVENT menu_button OF cl_gui_alv_grid
IMPORTING e_object e_ucomm,
*On click of the menu button
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
PRIVATE SECTION. ENDCLASS. "lcl_event_receiver DEFINITION *Class implementation CLASS lcl_event_receiver IMPLEMENTATION. METHOD handle_toolbar. * handle toolbar CLEAR it_toolbar. MOVE 'DETAIL' TO it_toolbar-function.
MOVE icon_detail TO it_toolbar-icon.
MOVE 2 TO it_toolbar-butn_type.
APPEND it_toolbar TO e_object->mt_toolbar.
ENDMETHOD. "handle_toolbar METHOD handle_menu_button. * handle own menubuttons
IF e_ucomm = 'DETAIL'.
CALL METHOD e_object->add_function
EXPORTING
fcode = 'DISPLAY'
text = 'DISPLAY'.
ENDIF.
ENDMETHOD. "handle_menu_button
METHOD handle_user_command. *On click
CASE e_ucomm.
WHEN 'DISPLAY'.
MESSAGE 'Menu Clicked' TYPE 'I'.
ENDCASE. ENDMETHOD. "handle_user_command ENDCLASS. "lcl_event_receiver IMPLEMENTATION *&-----------------------------------------------------------------* *& Module PBO OUTPUT *&-----------------------------------------------------------------* * text *------------------------------------------------------------------* MODULE pbo OUTPUT. IF custom_container IS INITIAL.
* select data from table dd02l
PERFORM fetch_dd02l.
* create a custom container control for our ALV Control
CREATE OBJECT custom_container
EXPORTING
container_name = 'CCONT'.
* create an instance of alv control
CREATE OBJECT c_alv
EXPORTING i_parent = custom_container.
* Set a titlebar for the grid control it_layout-grid_title = 'TABLE DETAILS'. *ALV display
CALL METHOD c_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'dd02l'
is_layout = it_layout
CHANGING
it_outtab = it_dd02l.
*Handlers for the events
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command
event_receiver->handle_menu_button
event_receiver->handle_toolbar FOR ALL INSTANCES.
*Calling the interactive toolbar method of ALV
CALL METHOD c_alv->set_toolbar_interactive.
ENDIF.
ENDMODULE. " PBO OUTPUT *&-----------------------------------------------------------------* *& Module PAI INPUT *&-----------------------------------------------------------------* * text *-----------------------------------------------------------------* MODULE pai INPUT. ENDMODULE. " PAI INPUT *&----------------------------------------------------------------* *& form fetch_dd02l *&----------------------------------------------------------------* * text *-----------------------------------------------------------------* *Subroutine to fetch data FORM fetch_dd02l. SELECT * FROM dd02l INTO CORRESPONDING FIELDS OF TABLE it_dd02l WHERE tabname IN s_table. ENDFORM. " SELECT_TABLE_dd02l *&-----------------------------------------------------------------* *& Form ALVDISPLAY *&-----------------------------------------------------------------* * text *------------------------------------------------------------------* * --> p1 text * <-- p2 text *------------------------------------------------------------------* FORM alvdisplay . * ALV output SET SCREEN 600. ENDFORM. " ALVDISPLAY Selection screen
On F8,
On clicking the DISPLAY
|
|
|
Please send us your feedback/suggestions at webmaster@SAPTechnical.COM Home • Contribute • About Us • Privacy • Terms Of Use • Disclaimer • Safe • Companies: Advertise on SAPTechnical.COM | Post Job • Contact Us ©2006-2007 SAPTechnical.COM. All rights reserved. All
product names are trademarks of their respective companies. SAPTechnical.COM
is in no way affiliated with SAP AG. Graphic Design by Round the Bend Wizards |
||