<?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 alv in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649327#M878946</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hai sir&lt;/P&gt;&lt;P&gt;      i want deactivate,,,,,some fuctions  in alv grid...tel me how...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Apr 2008 03:44:31 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-08T03:44:31Z</dc:date>
    <item>
      <title>alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649327#M878946</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hai sir&lt;/P&gt;&lt;P&gt;      i want deactivate,,,,,some fuctions  in alv grid...tel me how...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 03:44:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649327#M878946</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T03:44:31Z</dc:date>
    </item>
    <item>
      <title>Re: alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649328#M878947</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;Follow the below steps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Declare a handler method for the event TOOLBAR of class cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;2. For the above event you will have e_object as importing parameter.&lt;/P&gt;&lt;P&gt;3. In that e_object you will have mt_toolbar as a attribute which is a internal table.&lt;/P&gt;&lt;P&gt;4. In this internal table you will have details of all the buttons of toolbar.&lt;/P&gt;&lt;P&gt;5. Loop that internal table with the ICON name and modify the field disabled = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go through the standard program BCALV_GRID_05 for reference in which the functionality of adding a new button is present.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;preet&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 06:15:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649328#M878947</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T06:15:55Z</dc:date>
    </item>
    <item>
      <title>Re: alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649329#M878948</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To exclude buttons, you fill a table of type &lt;STRONG&gt;UI_FUNCTIONS&lt;/STRONG&gt; and pass it to the parameter &lt;STRONG&gt;IT_TOOLBAR_EXCLUDING&lt;/STRONG&gt; of the method &lt;STRONG&gt;set_table_for_first_display&lt;/STRONG&gt;. The function codes for the buttons may be acquired by inspecting the constant attributes of the class &lt;STRONG&gt;cl_gui_alv_grid&lt;/STRONG&gt; or putting a break point into a method, like the event-handling method of the event &lt;STRONG&gt;after_user_command&lt;/STRONG&gt;, which deals with the ALV command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Follow an example:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions .
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_fc_maximum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_fc_minimum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_fc_subtot .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_fc_sum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_fc_average .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_mb_sum .
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=&amp;gt;mc_mb_subtot .
ENDFORM .
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpfull,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Apr 2008 18:09:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649329#M878948</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-10T18:09:19Z</dc:date>
    </item>
    <item>
      <title>Re: alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649330#M878949</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Venu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at my sample report &lt;STRONG&gt;ZUS_SDN_ALV_EVT_TOOLBAR&lt;/STRONG&gt;. Execute the report and push the ENTER button repeatedly.&lt;/P&gt;&lt;P&gt;If you have choosen P_INACT = 'X' the toolbar functions are inactivated.&lt;/P&gt;&lt;P&gt;If you have chhosen P_DELE  = 'X' the toolbar functions are deleted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_ALV_EVT_TOOLBAR
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; This sample report explains the handling of event TOOLBAR in order
*% to activate or inactive buttons of the ALV toolbar.
*&amp;amp;
*&amp;amp; Based on: BCALV_GRID_DEMO
*&amp;amp;
*&amp;amp; Procedure: Copy BCALV_GRID_DEMO and replace entire coding  OR
*             copy screen '0100' and GUI status 'MAIN100' from
*             BCALV_GRID_DEMO to this report.
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_alv_evt_toolbar.


TYPE-POOLS: abap, cntb, icon.


DATA:
  ok_code                TYPE ui_func,
  gt_sflight             TYPE TABLE OF sflight,
*
  g_container        TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
  g_grid1               TYPE REF TO cl_gui_alv_grid,
  g_custom_container    TYPE REF TO cl_gui_custom_container.



PARAMETERS:
  p_inact    RADIOBUTTON GROUP grp1  DEFAULT 'X',  " delete buttons
  p_dele     RADIOBUTTON GROUP grp1.               " inactivate buttons


PARAMETERS:
  p_newbut   AS CHECKBOX  DEFAULT ' ',  " add new button
  p_newddm   AS CHECKBOX  DEFAULT 'X'.  " add dropdown menu

*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.

    CLASS-DATA:
      md_cnt    TYPE i.

    CLASS-METHODS:
      handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
        IMPORTING
          e_object
          e_interactive
          sender.

ENDCLASS.                    "lcl_eventhandler DEFINITION


*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_toolbar.
* § 2.In event handler method for event TOOLBAR: Append own functions
*   by using event parameter E_OBJECT.
    DATA:
      ls_toolbar  TYPE stb_button,
      ls_menu     type STB_BTNMNU.
*....................................................................
* E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.
* This class has got one attribute, namly MT_TOOLBAR, which
* is a table of type TTB_BUTTON. One line of this table is
* defined by the Structure STB_BUTTON (see data deklaration above).
*

* A remark to the flag E_INTERACTIVE:
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*         'e_interactive' is set, if this event is raised due to
*         the call of 'set_toolbar_interactive' by the user.
*         You can distinguish this way if the event was raised
*         by yourself or by ALV
*         (e.g. in method 'refresh_table_display').
*         An application of this feature is still unknown... :-)

    ADD 1 TO md_cnt. " a simple counter


*   (1.a) Inactivate toolbar buttons
    IF ( p_inact = abap_true ).
      LOOP AT e_object-&amp;gt;mt_toolbar INTO ls_toolbar FROM 1 TO md_cnt.
        ls_toolbar-disabled = 'X'.
        MODIFY e_object-&amp;gt;mt_toolbar FROM ls_toolbar.
      ENDLOOP.

*   (1.b) Delete toolbar buttons
    ELSE.
      DO md_cnt TIMES.
        DELETE e_object-&amp;gt;mt_toolbar INDEX 1.
      ENDDO.
    ENDIF.


*   (2) Add new button
    IF ( p_newbut = abap_true ).
*     Add separator to separate default and new buttons
      CLEAR: ls_toolbar.
      ls_toolbar-butn_type = cntb_btype_sep.  " separator
      APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

*     Add new button "DETAIL"
      CLEAR: ls_toolbar.
      ls_toolbar-function  = 'DETAIL'.
      ls_toolbar-icon      = icon_detail.
      ls_toolbar-quickinfo = 'QuickInfo'.
      ls_toolbar-butn_type = cntb_btype_button.
      ls_toolbar-disabled  = abap_false.
      ls_toolbar-text      = 'Details'.
*      ls_toolbar-checked = ' '.
      APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.
    ENDIF.



*   (3) Add new dropdown menu
    IF ( p_newddm = abap_true ).
*     Add separator to separate default and new buttons
      CLEAR: ls_toolbar.
      ls_toolbar-butn_type = cntb_btype_sep.  " separator
      APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

*     Add new dropdown menu "DETAIL"
      CLEAR: ls_toolbar.
      ls_toolbar-function  = 'DDMENU'.
      ls_toolbar-icon      = icon_detail.
      ls_toolbar-quickinfo = 'QuickInfo'.
      ls_toolbar-butn_type = cntb_btype_dropdown.
      ls_toolbar-disabled  = abap_false.
      ls_toolbar-text      = 'DD-Menu'.
*      ls_toolbar-checked = ' '.
      APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.

    ENDIF.

  ENDMETHOD.                    "handle_toolbar

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION



START-OF-SELECTION.
*---------------------------------------------------------------------*
*       MAIN                                                          *
*---------------------------------------------------------------------*

  SELECT * FROM sflight INTO TABLE gt_sflight.
  CALL SCREEN 100.

END-OF-SELECTION.







*---------------------------------------------------------------------*
*       MODULE PBO OUTPUT                                             *
*---------------------------------------------------------------------*
MODULE pbo OUTPUT.
  SET PF-STATUS 'MAIN100'.

  IF g_custom_container IS INITIAL.
    CREATE OBJECT g_custom_container
           EXPORTING container_name = g_container.

*   Instantiate ALV grid control
    CREATE OBJECT g_grid1
           EXPORTING i_parent = g_custom_container.
    CALL METHOD g_grid1-&amp;gt;set_table_for_first_display
      EXPORTING
        i_structure_name = 'SFLIGHT'
      CHANGING
        it_outtab        = gt_sflight.

*   Set event handler for event TOOLBAR
    SET HANDLER:
      lcl_eventhandler=&amp;gt;handle_toolbar FOR g_grid1.
  ENDIF.

* $Comment: Toolbar can be modified on-the-fly
  g_grid1-&amp;gt;set_toolbar_interactive( ).

ENDMODULE.                    "PBO OUTPUT

*---------------------------------------------------------------------*
*       MODULE PAI INPUT                                              *
*---------------------------------------------------------------------*
MODULE pai INPUT.
*   to react on oi_custom_events:
  CALL METHOD cl_gui_cfw=&amp;gt;dispatch.
  CASE ok_code.
    WHEN 'EXIT'.
      PERFORM exit_program.

    WHEN OTHERS.
*     do nothing
  ENDCASE.
  CLEAR ok_code.
ENDMODULE.                    "PAI INPUT
*---------------------------------------------------------------------*
*       FORM EXIT_PROGRAM                                             *
*---------------------------------------------------------------------*
FORM exit_program.
*  CALL METHOD G_CUSTOM_CONTAINER-&amp;gt;FREE.
*  CALL METHOD CL_GUI_CFW=&amp;gt;FLUSH.
  LEAVE PROGRAM.
ENDFORM.                    "EXIT_PROGRAM
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Apr 2008 19:05:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649330#M878949</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-04-10T19:05:26Z</dc:date>
    </item>
    <item>
      <title>Re: alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649331#M878950</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;Try this code for reference &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;want deactivate,,,,,some fuctions in alv grid...tel me how...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZEDIT_ONE_CELL_OOPS.&lt;/P&gt;&lt;P&gt;*Essential steps (search for '§')&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1.Extend your output table for a field, e.g., CELLTAB, that holds&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  information about the edit status of each cell for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  corresponding row (the table type is SORTED!).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2.After selecting data, set edit status for each row in a loop&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  according to field SEATSMAX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2a.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED to set a cell&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "editable".&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2b.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED to set a cell&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "non-editable".&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2c.Copy your celltab to the celltab of the current row of gt_outtab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3.Provide the fieldname of the celltab field by using field&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  STYLEFNAME of the layout structure.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*for reference BCALV_EDIT_02&lt;/P&gt;&lt;P&gt;TABLES: VBAK.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: ICON.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Declaration Section for the Internal Tables *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_OUTTAB OCCURS 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        vbeln TYPE vbak-vbeln,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        erdat TYPE vbak-erdat,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        erzet TYPE vbak-erzet,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ernam TYPE vbak-ernam,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        netwr TYPE vbak-netwr,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        INCLUDE STRUCTURE ZVBAK_INTERNAL1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: CELLTAB TYPE LVC_T_STYL.&lt;/P&gt;&lt;P&gt;DATA:   END OF GT_OUTTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE TABLE OF ZVBAK_INTERNAL1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      SAVE_OK LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      G_CONTAINER TYPE SCRFNAME VALUE 'GRID_CONTROL',&lt;/P&gt;&lt;P&gt;      GRID1  TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      GS_LAYOUT TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;      I_FCAT TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      W_FCAT TYPE LVC_S_FCAT.&lt;/P&gt;&lt;P&gt;CALL SCREEN 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0200  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE STATUS_0200 OUTPUT.&lt;/P&gt;&lt;P&gt; SET PF-STATUS 'MAIN100'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'MAIN100'.&lt;/P&gt;&lt;P&gt;  IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        CONTAINER_NAME = G_CONTAINER.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_PARENT = G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM SELECT_DATA_AND_INIT_STYLE.&lt;/P&gt;&lt;P&gt;*§3.Provide the fieldname of the celltab field by using field&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  STYLEFNAME of the layout structure.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GS_LAYOUT-STYLEFNAME = 'CELLTAB'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_STRUCTURE_NAME = 'ZVBAK_INTERNAL1'&lt;/P&gt;&lt;P&gt;        IS_LAYOUT        = GS_LAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ls_fieldcat      = it_fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        IT_OUTTAB        = GT_OUTTAB[]&lt;/P&gt;&lt;P&gt;IT_FIELDCATALOG = I_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0200  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0200  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0200 INPUT.&lt;/P&gt;&lt;P&gt;  SAVE_OK = OK_CODE.&lt;/P&gt;&lt;P&gt;  CLEAR OK_CODE.&lt;/P&gt;&lt;P&gt;  CASE SAVE_OK.&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;      PERFORM EXIT_PROGRAM.&lt;/P&gt;&lt;P&gt;    WHEN 'SWITCH'.&lt;/P&gt;&lt;P&gt;      PERFORM SWITCH_EDIT_MODE.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0200  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  exit_program&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EXIT_PROGRAM .&lt;/P&gt;&lt;P&gt;  LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " exit_program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  select_data_and_init_style&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SELECT_DATA_AND_INIT_STYLE.&lt;/P&gt;&lt;P&gt;  DATA: LT_CELLTAB TYPE LVC_T_STYL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        L_INDEX TYPE I.&lt;/P&gt;&lt;P&gt;  SELECT  VBELN&lt;/P&gt;&lt;P&gt;         ERDAT&lt;/P&gt;&lt;P&gt;         ERZET&lt;/P&gt;&lt;P&gt;         ERNAM&lt;/P&gt;&lt;P&gt;         NETWR UP TO 100 ROWS&lt;/P&gt;&lt;P&gt;         FROM VBAK&lt;/P&gt;&lt;P&gt;         INTO TABLE IT_VBAK.&lt;/P&gt;&lt;P&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;move corresponding fields from lt_sflight to gt_outtab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_VBAK.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING IT_VBAK TO GT_OUTTAB.&lt;/P&gt;&lt;P&gt;    APPEND GT_OUTTAB.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*§2.After selecting data, set edit status for each row in a loop&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  according to field NETWR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT GT_OUTTAB.&lt;/P&gt;&lt;P&gt;    L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    REFRESH LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    IF GT_OUTTAB-VBELN EQ '0000000080'.&lt;/P&gt;&lt;P&gt;      PERFORM FILL_CELLTAB USING 'RW'&lt;/P&gt;&lt;P&gt;                           CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM FILL_CELLTAB USING 'RO'&lt;/P&gt;&lt;P&gt;                           CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*§2c.Copy your celltab to the celltab of the current row of gt_outtab.&lt;/P&gt;&lt;P&gt;    INSERT LINES OF LT_CELLTAB INTO TABLE GT_OUTTAB-CELLTAB.&lt;/P&gt;&lt;P&gt;    MODIFY GT_OUTTAB INDEX L_INDEX.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     input  = input&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     output = output.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " select_data_and_init_style&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fill_celltab&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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_0194   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LT_CELLTAB  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_CELLTAB  USING    VALUE(P_MODE)&lt;/P&gt;&lt;P&gt;                   CHANGING P_LT_CELLTAB TYPE LVC_T_STYL.&lt;/P&gt;&lt;P&gt;  DATA: LS_CELLTAB TYPE LVC_S_STYL,&lt;/P&gt;&lt;P&gt;          L_MODE TYPE RAW4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This forms sets the style of column 'PRICE' editable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;according to 'p_mode' and the rest to read only either way.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_MODE EQ 'RW'.&lt;/P&gt;&lt;P&gt;*§2a.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED to set a cell&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "editable".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    L_MODE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED.&lt;/P&gt;&lt;P&gt;  ELSE. "p_mode eq 'RO'&lt;/P&gt;&lt;P&gt;*§2b.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED to set a cell&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "non-editable".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    L_MODE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE P_LT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERDAT'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE P_LT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERZET'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE P_LT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE P_LT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'NETWR'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE P_LT_CELLTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_celltab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  switch_edit_mode&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SWITCH_EDIT_MODE.&lt;/P&gt;&lt;P&gt;  IF GRID1-&amp;gt;IS_READY_FOR_INPUT( ) EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set edit enabled cells ready for input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_READY_FOR_INPUT = 1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lock edit enabled cells against input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_READY_FOR_INPUT = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " switch_edit_mode&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_field_cat&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELD_CAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FCAT.&lt;/P&gt;&lt;P&gt;  W_FCAT-COL_POS         = '1'.&lt;/P&gt;&lt;P&gt;  W_FCAT-FIELDNAME          = 'VBELN'.&lt;/P&gt;&lt;P&gt;  W_FCAT-REF_TABLE        = 'VBAK'.&lt;/P&gt;&lt;P&gt;  W_FCAT-SELTEXT          = 'Sales and Distribution'.&lt;/P&gt;&lt;P&gt;  APPEND W_FCAT TO I_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_FCAT.&lt;/P&gt;&lt;P&gt;  W_FCAT-COL_POS         = '2'.&lt;/P&gt;&lt;P&gt;  W_FCAT-FIELDNAME          = 'ERDAT'.&lt;/P&gt;&lt;P&gt;  W_FCAT-REF_TABLE        = 'VBAK'.&lt;/P&gt;&lt;P&gt;  W_FCAT-SELTEXT          = 'Date'.&lt;/P&gt;&lt;P&gt;  APPEND W_FCAT TO I_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_FCAT.&lt;/P&gt;&lt;P&gt;  W_FCAT-COL_POS         = '3'.&lt;/P&gt;&lt;P&gt;  W_FCAT-FIELDNAME          = 'ERZET'.&lt;/P&gt;&lt;P&gt;  W_FCAT-REF_TABLE        = 'VBAK'.&lt;/P&gt;&lt;P&gt;  W_FCAT-SELTEXT          = 'Entry time'.&lt;/P&gt;&lt;P&gt;  APPEND W_FCAT TO I_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_FCAT.&lt;/P&gt;&lt;P&gt;  W_FCAT-COL_POS         = '4'.&lt;/P&gt;&lt;P&gt;  W_FCAT-FIELDNAME          = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  W_FCAT-REF_TABLE        = 'VBAK'.&lt;/P&gt;&lt;P&gt;  W_FCAT-SELTEXT          = 'Name of Person'.&lt;/P&gt;&lt;P&gt;  APPEND W_FCAT TO I_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR W_FCAT.&lt;/P&gt;&lt;P&gt;  W_FCAT-COL_POS         = '5'.&lt;/P&gt;&lt;P&gt;  W_FCAT-FIELDNAME          = 'NETWR'.&lt;/P&gt;&lt;P&gt;  W_FCAT-REF_TABLE        = 'VBAK'.&lt;/P&gt;&lt;P&gt;  W_FCAT-SELTEXT          = 'Net Value'.&lt;/P&gt;&lt;P&gt;  W_FCAT-CFIELDNAME         = 'NETWR_AK'.&lt;/P&gt;&lt;P&gt;  APPEND W_FCAT TO I_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_field_cat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward points if usefull to you&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Fareedas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2008 11:38:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3649331#M878950</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-16T11:38:51Z</dc:date>
    </item>
  </channel>
</rss>

