<?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: Editable alv in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531203#M849494</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 one field editable or for reference pls open object navigator (se80 , and refer BCALV_EDIT_02 )based on one condition only those rows are in edit mode , rest of the rows are in disable mode, just copy and paste the code in se38 and run &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;Hope usefull to u, do reward points to me&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>Tue, 08 Apr 2008 11:54:24 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-08T11:54:24Z</dc:date>
    <item>
      <title>Editable alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531201#M849492</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; I have an ALV in which I am inserting a new row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; once new row is inserted , a value is given in the first cell. once the value is filled , rest of cells in that row should be grayed out i.e user can not enter values in the rest of cells.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; This is working fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; But when I have inserted one more row , the previous row is now turning into editable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please suggest me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt; Satya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 13:46:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531201#M849492</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-04T13:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: Editable alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531202#M849493</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;set a variable g_flag  = 'X', at the time u r filling editable row &lt;/P&gt;&lt;P&gt;and put alogic to make that new row greyed as it was done earlier for other rows.&lt;/P&gt;&lt;P&gt;I think problem is :&lt;/P&gt;&lt;P&gt;when u add on button to insert new row &lt;/P&gt;&lt;P&gt;first time : all the records which are greyed  coming from database table into internal table.&lt;/P&gt;&lt;P&gt;but second time: logic may be differernt, thats why it is not making previous added row greyed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope u understand bit,&lt;/P&gt;&lt;P&gt;otherwise pls explain ur problem in detail.&lt;/P&gt;&lt;P&gt;Dont forget to rewards points.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 06:53:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531202#M849493</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T06:53:29Z</dc:date>
    </item>
    <item>
      <title>Re: Editable alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531203#M849494</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 one field editable or for reference pls open object navigator (se80 , and refer BCALV_EDIT_02 )based on one condition only those rows are in edit mode , rest of the rows are in disable mode, just copy and paste the code in se38 and run &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;Hope usefull to u, do reward points to me&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>Tue, 08 Apr 2008 11:54:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/editable-alv/m-p/3531203#M849494</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T11:54:24Z</dc:date>
    </item>
  </channel>
</rss>

