| Home • Tips • Tutorials • Forums • Certification Q's • Interview Q's • Jobs • Testimonials • Contact Us | ||
Document Categories:
What's New?
Contribute?Sample SpecsWhat's Hot? |
Adding custom context menu in classical listBy Joyjit Ghosh, IBM India *&---------------------------------------------------------------* *& Report Z_CONTEXT_MENU_DEMO *& *&---------------------------------------------------------------* *& published at SAPTechnical.COM *& *&---------------------------------------------------------------* REPORT z_context_menu_demo. * Table declaration
DATA: i_vbak TYPE STANDARD TABLE OF vbak INITIAL SIZE 0,
i_vbap TYPE STANDARD TABLE OF vbap INITIAL SIZE 0.
* Workarea declaration
DATA: w_vbak TYPE vbak,
w_vbap TYPE vbap.
START-OF-SELECTION. * Set custom status SET PF-STATUS 'BASIC'. * Fetch header data SELECT * FROM vbak INTO TABLE i_vbak UP TO 50 ROWS. IF sy-subrc = 0. * Fetch line item data
SELECT * FROM vbap
INTO TABLE i_vbap
FOR ALL ENTRIES IN i_vbap
WHERE vbeln = i_vbap-vbeln.
CHECK sy-subrc = 0. * Display basic list
LOOP AT i_vbak INTO w_vbak.
FORMAT COLOR COL_HEADING.
WRITE : /10 w_vbak-vbeln,
20 w_vbak-erdat,
35 w_vbak-erzet,
55 w_vbak-ernam.
HIDE: w_vbak-vbeln.
ENDLOOP.
ENDIF. AT USER-COMMAND. * Handle user command CASE sy-ucomm. WHEN 'DETAIL'.
CHECK NOT w_vbak IS INITIAL.
* Display detail list
LOOP AT i_vbap INTO w_vbap WHERE vbeln =
w_vbak-vbeln.
FORMAT COLOR COL_HEADING.
WRITE : /10 w_vbap-vbeln,
25 w_vbap-posnr,
35 w_vbap-matnr,
55 w_vbap-matwa.
ENDLOOP.
WINDOW STARTING AT 20 20
ENDING AT 120 110.
ENDCASE. *&---------------------------------------------------------------* *& Form on_ctmenu_request *&---------------------------------------------------------------* * Creation of custom context menu- It is called dynamically * by ABAP runtime *----------------------------------------------------------------* * -->L_MENU Handle for context menu *----------------------------------------------------------------* FORM on_ctmenu_request USING l_menu TYPE REF TO cl_ctmenu. DATA lin TYPE i. GET CURSOR LINE lin. IF lin > 2 AND sy-lsind = 0. * Add menu
CALL METHOD l_menu->add_function
EXPORTING
fcode = 'DETAIL'
text = text-001.
ENDIF.
* Add menu
CALL METHOD l_menu->add_function
EXPORTING
fcode = 'BACK'
text = text-002.
ENDFORM. "on_ctmenu_request How
SAP calls the routine ON_CTMENU_REQUEST: Whenever user presses
right mouse button or shift + F10 key combinations sap triggers system event and
calls the method DISPATCH_SYSTEM_EVENTS of class CL_GUI_CFW. Within it, it calls
the method DISPATCH of class LCL_DYNPRO_PROXY (defined within the class pool of
CL_GUI_CFW).
From this method
(DISPATCH) it calls the routine ON_CTMENU_REQUEST which is defined in our
program.
Output:
Basic
list:
Detail
list:
|
|
|
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 |
||