<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: pushbuttom in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092600#M733600</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;b&amp;gt;refer following template for Object Oriented approach to add a push button on ALV toolbar&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DATA DECLARTION FOR ALV GRID CONTROL                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data gr_alvgrid type ref to cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;data gc_custom_control_name  type scrfname value 'CC_CTRL'."Custom container&lt;/P&gt;&lt;P&gt;data gr_ccontainer type ref to cl_gui_custom_container.&lt;/P&gt;&lt;P&gt;data gt_fieldcat type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;data gs_layout type lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOCAL CLASSES: Definition For ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*Create local class which will define methods for events u wanna use&lt;/P&gt;&lt;P&gt;class &lt;/P&gt;&lt;P&gt;cl_event_receiver1 definition.	&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;    data: ucomm type sy-ucomm.&lt;/P&gt;&lt;P&gt;    data: selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;    data: ls_it_trans like line of it_trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Double click method (ALV)&lt;/P&gt;&lt;P&gt;    methods:&lt;/P&gt;&lt;P&gt;    handle_double_click                        "Double click event&lt;/P&gt;&lt;P&gt;    for event double_click of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    importing e_row e_column,&lt;/P&gt;&lt;P&gt;*Display button (ALV)&lt;/P&gt;&lt;P&gt;    handle_toolbar                             "Display button on toolbar&lt;/P&gt;&lt;P&gt;        for event toolbar of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_object,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    handle_user_command                        "Handle button click&lt;/P&gt;&lt;P&gt;        for event user_command of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  private section.&lt;/P&gt;&lt;P&gt;endclass.                    "cl_event_receiver1 DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CLASS CL_EVENT_RECEIVER1 IMPLEMENTATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Class implementation that will contain method implementation of events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class cl_event_receiver1 implementation. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;handle double_click&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  method handle_double_click.&lt;/P&gt;&lt;P&gt;    data: g_repid like sy-repid.&lt;/P&gt;&lt;P&gt;    g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call method cl_gui_cfw=&amp;gt;flush."Sends buffered data to front end(Precautionary)&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          titel = g_repid&lt;/P&gt;&lt;P&gt;          txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;          txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    perform pick_object using e_row e_column.&lt;/P&gt;&lt;P&gt;  endmethod.                                    "handle_double_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Button Click Handler (ALV)&lt;/P&gt;&lt;P&gt;  method handle_toolbar.			&amp;#147;toolbar method&lt;/P&gt;&lt;P&gt;    data: ls_toolbar  type stb_button.&lt;/P&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move 3 to ls_toolbar-butn_type.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;    move 'DISP' to ls_toolbar-function. &amp;#147;OK-CODE of Button&lt;/P&gt;&lt;P&gt;    move icon_display to ls_toolbar-icon. &amp;#147;icon of Button&lt;/P&gt;&lt;P&gt;    move 'Transaction Details' to ls_toolbar-quickinfo. &amp;#147;Quick info&lt;/P&gt;&lt;P&gt;    move 'Details' to ls_toolbar-text. &amp;#147;Button text&lt;/P&gt;&lt;P&gt;    move ' ' to ls_toolbar-disabled.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;  endmethod.                    "handle_toolbar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_user_command.    &amp;#147;Button click method&lt;/P&gt;&lt;P&gt;    data: lt_rows type lvc_t_row.&lt;/P&gt;&lt;P&gt;    data : ls_rows type line of lvc_t_row.&lt;/P&gt;&lt;P&gt;    data: gs_rows like line of lt_rows.&lt;/P&gt;&lt;P&gt;    data: g_repid like sy-repid.&lt;/P&gt;&lt;P&gt;    g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get selected row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method gr_alvgrid-&amp;gt;get_selected_rows&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        et_index_rows = lt_rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case e_ucomm.&lt;/P&gt;&lt;P&gt;      when 'DISP'.&lt;/P&gt;&lt;P&gt;        read table lt_rows into ls_rows index 1 transporting index.&lt;/P&gt;&lt;P&gt;        read table it_trans into ls_it_trans index ls_rows-index.&lt;/P&gt;&lt;P&gt;        call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;          call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              titel = g_repid&lt;/P&gt;&lt;P&gt;              txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;              txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          perform show_relevant_details  using ls_it_trans-prod_typ.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endmethod.                           "handle_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.                    "cl_event_receiver1 IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : gcl_receiver type ref to cl_event_receiver1. "Reference for the local event receiver class&lt;/P&gt;&lt;P&gt;data : event_receiver type ref to cl_event_receiver1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;DATA COLLECTION IN Internal Table FOR DISPLAY ON GRID&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*Call to Custom control screen&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  call screen 9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                PREPARE ALV LAYOUT AND CATALOG                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;  perform prepare_layout changing gs_layout.              "Grid Layout&lt;/P&gt;&lt;P&gt;  perform prepare_field_catalog changing gt_fieldcat.     "Field Catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  alv_display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form alv_display tables p_itab structure it_trans.  &amp;#147;Reuse ALV Grid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method gr_alvgrid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      is_layout                     = gs_layout&lt;/P&gt;&lt;P&gt;    changing&lt;/P&gt;&lt;P&gt;      it_outtab                     = p_itab[]&lt;/P&gt;&lt;P&gt;      it_fieldcatalog               = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;      program_error                 = 2&lt;/P&gt;&lt;P&gt;      too_many_lines                = 3&lt;/P&gt;&lt;P&gt;      others                        = 4.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Exception handling&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    "alv_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prepare_field_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form prepare_field_catalog changing p_gt_fieldcat type lvc_t_fcat.  "Define Grid's Field Catalog&lt;/P&gt;&lt;P&gt;  data ls_fcat type lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Transaction Number&lt;/P&gt;&lt;P&gt;  ls_fcat-fieldname = 'TRANS_NO'.&lt;/P&gt;&lt;P&gt;  ls_fcat-ref_table = 'IT_TRANS'.&lt;/P&gt;&lt;P&gt;  ls_fcat-coltext   = 'Transaction Number'.&lt;/P&gt;&lt;P&gt;  ls_fcat-seltext   = 'Transaction Number'.&lt;/P&gt;&lt;P&gt;  ls_fcat-just      = 'C'.&lt;/P&gt;&lt;P&gt;  ls_fcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  append ls_fcat to p_gt_fieldcat.&lt;/P&gt;&lt;P&gt;  clear ls_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " prepare_field_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prepare_layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GS_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form prepare_layout changing p_gs_layout type lvc_s_layo.      "Define grid layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-grid_title = 'Transaction Details Report'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-smalltitle = ''.&lt;/P&gt;&lt;P&gt;  p_gs_layout-excp_conds = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-sel_mode = 'D'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-sgl_clk_hd = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-cwidth_opt = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " prepare_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  clear_grid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form clear_grid.          "Free memory reserved for ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method gr_ccontainer-&amp;gt;free&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      cntl_error        = 1&lt;/P&gt;&lt;P&gt;      cntl_system_error = 2&lt;/P&gt;&lt;P&gt;      others            = 3.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;               with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      cntl_system_error = 1&lt;/P&gt;&lt;P&gt;      cntl_error        = 2&lt;/P&gt;&lt;P&gt;      others            = 3.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;               with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " clear_grid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_9000  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Initialise container in PBO of custom container screen&lt;/P&gt;&lt;P&gt;module status_9000 output.&lt;/P&gt;&lt;P&gt;  set pf-status 'PF9000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if gr_ccontainer is initial.&lt;/P&gt;&lt;P&gt;*----Creating custom container instance&lt;/P&gt;&lt;P&gt;    create object gr_ccontainer    "  container initialization&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;         container_name              = gc_custom_control_name&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;         cntl_error                  = 1&lt;/P&gt;&lt;P&gt;         cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;         create_error                = 3&lt;/P&gt;&lt;P&gt;         lifetime_error              = 4&lt;/P&gt;&lt;P&gt;         lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;         others                      = 6 .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Exception handling&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Creating ALV Grid instance&lt;/P&gt;&lt;P&gt;    create object gr_alvgrid    "grid initialization&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_parent          = gr_ccontainer&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      error_cntl_create = 1&lt;/P&gt;&lt;P&gt;      error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;      error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;      error_dp_create   = 4&lt;/P&gt;&lt;P&gt;      others            = 5 .&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      create object gcl_receiver.                                   "Instantiating event class &amp;lt;b&amp;gt;(for double click)&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;      create object event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      set handler gcl_receiver-&amp;gt;handle_double_click for gr_alvgrid. "Activating event handler&amp;lt;b&amp;gt;(double click)&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;      set handler event_receiver-&amp;gt;handle_user_command for gr_alvgrid. "Activating event of &amp;lt;b&amp;gt;Display button&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;      set handler event_receiver-&amp;gt;handle_toolbar for gr_alvgrid.      "Activating event of toolbar for &amp;lt;b&amp;gt;Display button&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform alv_display  tables it_trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To display btn&lt;/P&gt;&lt;P&gt;      call method gr_alvgrid-&amp;gt;set_toolbar_interactive.&lt;/P&gt;&lt;P&gt;      call method cl_gui_control=&amp;gt;set_focus&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          control = gr_alvgrid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_9000  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_9000  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;module user_command_9000 input. &amp;#147;Check OK-CODE of PF Status buttons&lt;/P&gt;&lt;P&gt;  ok_code = sy-ucomm.&lt;/P&gt;&lt;P&gt;  case ok_code.&lt;/P&gt;&lt;P&gt;    when 'BACK' or 'EXIT'.&lt;/P&gt;&lt;P&gt;      leave to screen 0.&lt;/P&gt;&lt;P&gt;    when 'CANCEL'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endmodule.                 " USER_COMMAND_9000  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PICK_OBJECT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E_ROW      Row number, which is double clicked by user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E_COLUMN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form pick_object using    p_e_row            "Double click navigation&lt;/P&gt;&lt;P&gt;                          p_e_column.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*	Code to be executed after double click&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;endform.                    "pick_object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show_relevant_details&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form show_relevant_details using p_prod_typ.        "Button click navigation&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*	Code to be executed after button click&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;endform.                    " show_relevant_details&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 26 Nov 2007 10:57:25 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-26T10:57:25Z</dc:date>
    <item>
      <title>pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092597#M733597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi experts,&lt;/P&gt;&lt;P&gt;How to keep button in alv  toolbar?,explanin me with example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 10:52:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092597#M733597</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-26T10:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092598#M733598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;copy the standard alv pf_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;se80-&amp;gt;pf_status-&amp;gt;editmode-&amp;gt; application tool bar -&amp;gt;add button.set sy-ucomm.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 10:54:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092598#M733598</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-26T10:54:47Z</dc:date>
    </item>
    <item>
      <title>Re: pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092599#M733599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Visit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="237473"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;  /thread/429513 &lt;B&gt;[original link is broken]&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 10:56:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092599#M733599</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-26T10:56:46Z</dc:date>
    </item>
    <item>
      <title>Re: pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092600#M733600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;b&amp;gt;refer following template for Object Oriented approach to add a push button on ALV toolbar&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DATA DECLARTION FOR ALV GRID CONTROL                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data gr_alvgrid type ref to cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;data gc_custom_control_name  type scrfname value 'CC_CTRL'."Custom container&lt;/P&gt;&lt;P&gt;data gr_ccontainer type ref to cl_gui_custom_container.&lt;/P&gt;&lt;P&gt;data gt_fieldcat type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;data gs_layout type lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOCAL CLASSES: Definition For ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*Create local class which will define methods for events u wanna use&lt;/P&gt;&lt;P&gt;class &lt;/P&gt;&lt;P&gt;cl_event_receiver1 definition.	&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;    data: ucomm type sy-ucomm.&lt;/P&gt;&lt;P&gt;    data: selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;    data: ls_it_trans like line of it_trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Double click method (ALV)&lt;/P&gt;&lt;P&gt;    methods:&lt;/P&gt;&lt;P&gt;    handle_double_click                        "Double click event&lt;/P&gt;&lt;P&gt;    for event double_click of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    importing e_row e_column,&lt;/P&gt;&lt;P&gt;*Display button (ALV)&lt;/P&gt;&lt;P&gt;    handle_toolbar                             "Display button on toolbar&lt;/P&gt;&lt;P&gt;        for event toolbar of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_object,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    handle_user_command                        "Handle button click&lt;/P&gt;&lt;P&gt;        for event user_command of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  private section.&lt;/P&gt;&lt;P&gt;endclass.                    "cl_event_receiver1 DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CLASS CL_EVENT_RECEIVER1 IMPLEMENTATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Class implementation that will contain method implementation of events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class cl_event_receiver1 implementation. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;handle double_click&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  method handle_double_click.&lt;/P&gt;&lt;P&gt;    data: g_repid like sy-repid.&lt;/P&gt;&lt;P&gt;    g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call method cl_gui_cfw=&amp;gt;flush."Sends buffered data to front end(Precautionary)&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          titel = g_repid&lt;/P&gt;&lt;P&gt;          txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;          txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    perform pick_object using e_row e_column.&lt;/P&gt;&lt;P&gt;  endmethod.                                    "handle_double_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Button Click Handler (ALV)&lt;/P&gt;&lt;P&gt;  method handle_toolbar.			&amp;#147;toolbar method&lt;/P&gt;&lt;P&gt;    data: ls_toolbar  type stb_button.&lt;/P&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move 3 to ls_toolbar-butn_type.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;    move 'DISP' to ls_toolbar-function. &amp;#147;OK-CODE of Button&lt;/P&gt;&lt;P&gt;    move icon_display to ls_toolbar-icon. &amp;#147;icon of Button&lt;/P&gt;&lt;P&gt;    move 'Transaction Details' to ls_toolbar-quickinfo. &amp;#147;Quick info&lt;/P&gt;&lt;P&gt;    move 'Details' to ls_toolbar-text. &amp;#147;Button text&lt;/P&gt;&lt;P&gt;    move ' ' to ls_toolbar-disabled.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;  endmethod.                    "handle_toolbar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_user_command.    &amp;#147;Button click method&lt;/P&gt;&lt;P&gt;    data: lt_rows type lvc_t_row.&lt;/P&gt;&lt;P&gt;    data : ls_rows type line of lvc_t_row.&lt;/P&gt;&lt;P&gt;    data: gs_rows like line of lt_rows.&lt;/P&gt;&lt;P&gt;    data: g_repid like sy-repid.&lt;/P&gt;&lt;P&gt;    g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get selected row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method gr_alvgrid-&amp;gt;get_selected_rows&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        et_index_rows = lt_rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case e_ucomm.&lt;/P&gt;&lt;P&gt;      when 'DISP'.&lt;/P&gt;&lt;P&gt;        read table lt_rows into ls_rows index 1 transporting index.&lt;/P&gt;&lt;P&gt;        read table it_trans into ls_it_trans index ls_rows-index.&lt;/P&gt;&lt;P&gt;        call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;          call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              titel = g_repid&lt;/P&gt;&lt;P&gt;              txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;              txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          perform show_relevant_details  using ls_it_trans-prod_typ.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endmethod.                           "handle_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.                    "cl_event_receiver1 IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : gcl_receiver type ref to cl_event_receiver1. "Reference for the local event receiver class&lt;/P&gt;&lt;P&gt;data : event_receiver type ref to cl_event_receiver1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;DATA COLLECTION IN Internal Table FOR DISPLAY ON GRID&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*Call to Custom control screen&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  call screen 9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                PREPARE ALV LAYOUT AND CATALOG                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;  perform prepare_layout changing gs_layout.              "Grid Layout&lt;/P&gt;&lt;P&gt;  perform prepare_field_catalog changing gt_fieldcat.     "Field Catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  alv_display&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form alv_display tables p_itab structure it_trans.  &amp;#147;Reuse ALV Grid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method gr_alvgrid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      is_layout                     = gs_layout&lt;/P&gt;&lt;P&gt;    changing&lt;/P&gt;&lt;P&gt;      it_outtab                     = p_itab[]&lt;/P&gt;&lt;P&gt;      it_fieldcatalog               = gt_fieldcat[]&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;      program_error                 = 2&lt;/P&gt;&lt;P&gt;      too_many_lines                = 3&lt;/P&gt;&lt;P&gt;      others                        = 4.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Exception handling&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    "alv_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prepare_field_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form prepare_field_catalog changing p_gt_fieldcat type lvc_t_fcat.  "Define Grid's Field Catalog&lt;/P&gt;&lt;P&gt;  data ls_fcat type lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Transaction Number&lt;/P&gt;&lt;P&gt;  ls_fcat-fieldname = 'TRANS_NO'.&lt;/P&gt;&lt;P&gt;  ls_fcat-ref_table = 'IT_TRANS'.&lt;/P&gt;&lt;P&gt;  ls_fcat-coltext   = 'Transaction Number'.&lt;/P&gt;&lt;P&gt;  ls_fcat-seltext   = 'Transaction Number'.&lt;/P&gt;&lt;P&gt;  ls_fcat-just      = 'C'.&lt;/P&gt;&lt;P&gt;  ls_fcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  append ls_fcat to p_gt_fieldcat.&lt;/P&gt;&lt;P&gt;  clear ls_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " prepare_field_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prepare_layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GS_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form prepare_layout changing p_gs_layout type lvc_s_layo.      "Define grid layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-grid_title = 'Transaction Details Report'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-smalltitle = ''.&lt;/P&gt;&lt;P&gt;  p_gs_layout-excp_conds = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-sel_mode = 'D'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-sgl_clk_hd = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-cwidth_opt = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " prepare_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  clear_grid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form clear_grid.          "Free memory reserved for ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method gr_ccontainer-&amp;gt;free&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      cntl_error        = 1&lt;/P&gt;&lt;P&gt;      cntl_system_error = 2&lt;/P&gt;&lt;P&gt;      others            = 3.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;               with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      cntl_system_error = 1&lt;/P&gt;&lt;P&gt;      cntl_error        = 2&lt;/P&gt;&lt;P&gt;      others            = 3.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;               with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " clear_grid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_9000  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Initialise container in PBO of custom container screen&lt;/P&gt;&lt;P&gt;module status_9000 output.&lt;/P&gt;&lt;P&gt;  set pf-status 'PF9000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if gr_ccontainer is initial.&lt;/P&gt;&lt;P&gt;*----Creating custom container instance&lt;/P&gt;&lt;P&gt;    create object gr_ccontainer    "  container initialization&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;         container_name              = gc_custom_control_name&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;         cntl_error                  = 1&lt;/P&gt;&lt;P&gt;         cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;         create_error                = 3&lt;/P&gt;&lt;P&gt;         lifetime_error              = 4&lt;/P&gt;&lt;P&gt;         lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;         others                      = 6 .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*--Exception handling&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Creating ALV Grid instance&lt;/P&gt;&lt;P&gt;    create object gr_alvgrid    "grid initialization&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_parent          = gr_ccontainer&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      error_cntl_create = 1&lt;/P&gt;&lt;P&gt;      error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;      error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;      error_dp_create   = 4&lt;/P&gt;&lt;P&gt;      others            = 5 .&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      create object gcl_receiver.                                   "Instantiating event class &amp;lt;b&amp;gt;(for double click)&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;      create object event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      set handler gcl_receiver-&amp;gt;handle_double_click for gr_alvgrid. "Activating event handler&amp;lt;b&amp;gt;(double click)&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;      set handler event_receiver-&amp;gt;handle_user_command for gr_alvgrid. "Activating event of &amp;lt;b&amp;gt;Display button&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;      set handler event_receiver-&amp;gt;handle_toolbar for gr_alvgrid.      "Activating event of toolbar for &amp;lt;b&amp;gt;Display button&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform alv_display  tables it_trans.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To display btn&lt;/P&gt;&lt;P&gt;      call method gr_alvgrid-&amp;gt;set_toolbar_interactive.&lt;/P&gt;&lt;P&gt;      call method cl_gui_control=&amp;gt;set_focus&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          control = gr_alvgrid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_9000  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_9000  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;module user_command_9000 input. &amp;#147;Check OK-CODE of PF Status buttons&lt;/P&gt;&lt;P&gt;  ok_code = sy-ucomm.&lt;/P&gt;&lt;P&gt;  case ok_code.&lt;/P&gt;&lt;P&gt;    when 'BACK' or 'EXIT'.&lt;/P&gt;&lt;P&gt;      leave to screen 0.&lt;/P&gt;&lt;P&gt;    when 'CANCEL'.&lt;/P&gt;&lt;P&gt;      leave program.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endmodule.                 " USER_COMMAND_9000  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PICK_OBJECT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E_ROW      Row number, which is double clicked by user&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_E_COLUMN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form pick_object using    p_e_row            "Double click navigation&lt;/P&gt;&lt;P&gt;                          p_e_column.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*	Code to be executed after double click&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;endform.                    "pick_object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show_relevant_details&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form show_relevant_details using p_prod_typ.        "Button click navigation&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;*	Code to be executed after button click&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;endform.                    " show_relevant_details&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 10:57:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092600#M733600</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-26T10:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092601#M733601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;u can add push button to alv toolbar for this&lt;/P&gt;&lt;P&gt;u have to use structure STB_BUTTON&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;check the documentation for PF-STATUS of that FM .U will get some idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; form z_alv_events&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form alv_events.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_list_type = 0&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;et_events = fevents[].&lt;/P&gt;&lt;P&gt;read table fevents with key name = 'PF_STATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;fevents-form = 'Z_PF_STATUS'.&lt;/P&gt;&lt;P&gt;modify fevents index sy-tabix.&lt;/P&gt;&lt;P&gt;clear fevents.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform. "alv_events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form Z_PFSTATUS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;EXTAB text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form z_pf_status using extab type slis_t_extab.&lt;/P&gt;&lt;P&gt;data i_extab type slis_t_extab with header line.&lt;/P&gt;&lt;P&gt;i_extab[] = extab[].&lt;/P&gt;&lt;P&gt;append '&amp;amp;POST' to i_extab.&lt;/P&gt;&lt;P&gt;set pf-status g_statu_07.&lt;/P&gt;&lt;P&gt;endform. "Z_PF_STATUS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call will be like this &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_callback_program = lv_repid&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'Z_USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_callback_pf_status_set = 'Z_PF_STATUS'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So here u have to Copy standard Pf-status then pass that one to g_statu_07Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2991531"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/alvhome.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/alvhome.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 10:57:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092601#M733601</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-26T10:57:43Z</dc:date>
    </item>
    <item>
      <title>Re: pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092602#M733602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    In SE38 tcode give bcalv*  it will display the list of standard ALV grid programs&lt;/P&gt;&lt;P&gt;refer that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 11:02:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092602#M733602</guid>
      <dc:creator>former_member386202</dc:creator>
      <dc:date>2007-11-26T11:02:35Z</dc:date>
    </item>
    <item>
      <title>Re: pushbuttom</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092603#M733603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;look at program : BCALV_GRID_04&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Nov 2007 11:21:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pushbuttom/m-p/3092603#M733603</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-26T11:21:50Z</dc:date>
    </item>
  </channel>
</rss>

