<?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: Edit ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486304#M838230</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZDEMO_ALVGRID_EDIT *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; Example of a simple ALV Grid Report *&lt;/P&gt;&lt;P&gt;*&amp;amp; ................................... *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; The basic ALV grid, Enhanced to display specific fields as *&lt;/P&gt;&lt;P&gt;*&amp;amp; editable depending on field value *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZDEMO_ALVGRID_EDIT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. "ALV Declarations&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;statu TYPE ekpo-statu,&lt;/P&gt;&lt;P&gt;aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;field_style TYPE lvc_t_styl, "FOR DISABLE&lt;/P&gt;&lt;P&gt;END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_ekko TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: it_fieldcat TYPE lvc_t_fcat, "slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;wa_fieldcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;gd_layout TYPE lvc_s_layo, "slis_layout_alv,&lt;/P&gt;&lt;P&gt;gd_repid LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;PERFORM set_specific_field_attributes.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM build_layout.&lt;/P&gt;&lt;P&gt;PERFORM display_alv_report.&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;*&amp;amp; Form BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Build Fieldcatalog for ALV Report &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 0.&lt;/P&gt;&lt;P&gt;wa_fieldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'PO Item'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'STATU'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Status'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Item change date'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Material Number'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'PO quantity'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Order Unit'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Net Price'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-edit = 'X'. "sets whole column to be editable&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;wa_fieldcat-outputlen = 15.&lt;/P&gt;&lt;P&gt;wa_fieldcat-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'PEINH'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Price Unit'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 8.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Build layout for ALV grid report &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM build_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set layout field for field attributes(i.e. input/output) &lt;/P&gt;&lt;P&gt;gd_layout-stylefname = 'FIELD_STYLE'.&lt;/P&gt;&lt;P&gt;gd_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display report using ALV grid &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM display_alv_report.&lt;/P&gt;&lt;P&gt;gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_GRID_DISPLAY' &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_callback_program = gd_repid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND' &lt;/P&gt;&lt;P&gt;is_layout_lvc = gd_layout&lt;/P&gt;&lt;P&gt;it_fieldcat_lvc = it_fieldcat&lt;/P&gt;&lt;P&gt;i_save = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_ekko&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;&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. " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Retrieve data form EKPO table and populate itab it_ekko &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt;UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;FROM ekpo&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form set_specific_field_attributes&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;populate FIELD_STYLE table with specific field attributes &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;form set_specific_field_attributes .&lt;/P&gt;&lt;P&gt;DATA ls_stylerow TYPE lvc_s_styl .&lt;/P&gt;&lt;P&gt;DATA lt_styletab TYPE lvc_t_styl .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Populate style variable (FIELD_STYLE) with style properties &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The NETPR field/column has been set to editable in the fieldcatalog... &lt;/P&gt;&lt;P&gt;The following code sets it to be disabled(display only) if 'NETPR' &lt;/P&gt;&lt;P&gt;is gt than 10. &lt;/P&gt;&lt;P&gt;LOOP AT it_ekko INTO wa_ekko.&lt;/P&gt;&lt;P&gt;IF wa_ekko-netpr GT 10.&lt;/P&gt;&lt;P&gt;ls_stylerow-fieldname = 'NETPR' .&lt;/P&gt;&lt;P&gt;ls_stylerow-style = cl_gui_alv_grid=&amp;gt;mc_style_disabled.&lt;/P&gt;&lt;P&gt;"set field to disabled&lt;/P&gt;&lt;P&gt;APPEND ls_stylerow TO wa_ekko-field_style.&lt;/P&gt;&lt;P&gt;MODIFY it_ekko FROM wa_ekko.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " set_specific_field_attributes&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Mar 2008 08:42:44 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-05T08:42:44Z</dc:date>
    <item>
      <title>Edit ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486303#M838229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Current i am working on alv.&lt;/P&gt;&lt;P&gt;Here my requirement is to add a field in output and that field should be  editable and updated in data base.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can any one kindly suggest me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;DVNS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 08:38:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486303#M838229</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T08:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: Edit ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486304#M838230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZDEMO_ALVGRID_EDIT *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; Example of a simple ALV Grid Report *&lt;/P&gt;&lt;P&gt;*&amp;amp; ................................... *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; The basic ALV grid, Enhanced to display specific fields as *&lt;/P&gt;&lt;P&gt;*&amp;amp; editable depending on field value *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZDEMO_ALVGRID_EDIT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. "ALV Declarations&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;statu TYPE ekpo-statu,&lt;/P&gt;&lt;P&gt;aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;field_style TYPE lvc_t_styl, "FOR DISABLE&lt;/P&gt;&lt;P&gt;END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;wa_ekko TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: it_fieldcat TYPE lvc_t_fcat, "slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;wa_fieldcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;gd_layout TYPE lvc_s_layo, "slis_layout_alv,&lt;/P&gt;&lt;P&gt;gd_repid LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;PERFORM set_specific_field_attributes.&lt;/P&gt;&lt;P&gt;PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM build_layout.&lt;/P&gt;&lt;P&gt;PERFORM display_alv_report.&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;*&amp;amp; Form BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Build Fieldcatalog for ALV Report &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 0.&lt;/P&gt;&lt;P&gt;wa_fieldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'PO Item'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'STATU'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Status'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Item change date'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Material Number'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'PO quantity'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Order Unit'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'NETPR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Net Price'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-edit = 'X'. "sets whole column to be editable&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;wa_fieldcat-outputlen = 15.&lt;/P&gt;&lt;P&gt;wa_fieldcat-datatype = 'CURR'.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'PEINH'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-scrtext_m = 'Price Unit'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = 8.&lt;/P&gt;&lt;P&gt;APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Build layout for ALV grid report &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM build_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set layout field for field attributes(i.e. input/output) &lt;/P&gt;&lt;P&gt;gd_layout-stylefname = 'FIELD_STYLE'.&lt;/P&gt;&lt;P&gt;gd_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM. " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display report using ALV grid &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM display_alv_report.&lt;/P&gt;&lt;P&gt;gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_GRID_DISPLAY' &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_callback_program = gd_repid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND' &lt;/P&gt;&lt;P&gt;is_layout_lvc = gd_layout&lt;/P&gt;&lt;P&gt;it_fieldcat_lvc = it_fieldcat&lt;/P&gt;&lt;P&gt;i_save = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = it_ekko&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;&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. " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Retrieve data form EKPO table and populate itab it_ekko &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt;UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;FROM ekpo&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form set_specific_field_attributes&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;populate FIELD_STYLE table with specific field attributes &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;form set_specific_field_attributes .&lt;/P&gt;&lt;P&gt;DATA ls_stylerow TYPE lvc_s_styl .&lt;/P&gt;&lt;P&gt;DATA lt_styletab TYPE lvc_t_styl .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Populate style variable (FIELD_STYLE) with style properties &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The NETPR field/column has been set to editable in the fieldcatalog... &lt;/P&gt;&lt;P&gt;The following code sets it to be disabled(display only) if 'NETPR' &lt;/P&gt;&lt;P&gt;is gt than 10. &lt;/P&gt;&lt;P&gt;LOOP AT it_ekko INTO wa_ekko.&lt;/P&gt;&lt;P&gt;IF wa_ekko-netpr GT 10.&lt;/P&gt;&lt;P&gt;ls_stylerow-fieldname = 'NETPR' .&lt;/P&gt;&lt;P&gt;ls_stylerow-style = cl_gui_alv_grid=&amp;gt;mc_style_disabled.&lt;/P&gt;&lt;P&gt;"set field to disabled&lt;/P&gt;&lt;P&gt;APPEND ls_stylerow TO wa_ekko-field_style.&lt;/P&gt;&lt;P&gt;MODIFY it_ekko FROM wa_ekko.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " set_specific_field_attributes&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 08:42:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486304#M838230</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T08:42:44Z</dc:date>
    </item>
    <item>
      <title>Re: Edit ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486305#M838231</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;&lt;/P&gt;&lt;P&gt;REPORT  YMS_EDITABLEALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:     ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.                                 "ALV Declarations&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;  ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;  ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;  statu TYPE ekpo-statu,&lt;/P&gt;&lt;P&gt;  aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;  matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;  menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;  meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;  netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;  peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;  field_style  TYPE lvc_t_styl, "FOR DISABLE&lt;/P&gt;&lt;P&gt; END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_ekko TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: it_fieldcat TYPE lvc_t_fcat,     "slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      wa_fieldcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;      gd_layout    TYPE lvc_s_layo,     "slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gd_repid     LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;  PERFORM set_specific_field_attributes.&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  PERFORM build_layout.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&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  BUILD_FIELDCATALOG&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;      Build Fieldcatalog for ALV Report&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 build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'EBELN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-key         = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'EBELP'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'PO Item'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'STATU'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Status'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Item change date'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 3.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'MATNR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Material Number'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 4.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'MENGE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'PO quantity'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 5.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'MEINS'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Order Unit'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 6.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'NETPR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Net Price'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit        = 'X'. "sets whole column to be editable&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 7.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-outputlen   = 15.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-datatype     = 'CURR'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname   = 'PEINH'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-scrtext_m   = 'Price Unit'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     = 8.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO it_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR  wa_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELDCATALOG&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  BUILD_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;      Build layout for ALV grid report&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 build_layout.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set layout field for field attributes(i.e. input/output)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gd_layout-stylefname = 'FIELD_STYLE'.&lt;/P&gt;&lt;P&gt;  gd_layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_LAYOUT&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  DISPLAY_ALV_REPORT&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;      Display report using ALV grid&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 display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_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; call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout_lvc               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat_lvc             = it_fieldcat&lt;/P&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                = it_ekko&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV_REPORT&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  DATA_RETRIEVAL&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;      Retrieve data form EKPO table and populate itab it_ekko&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 data_retrieval.&lt;/P&gt;&lt;P&gt;  SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt;   UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;    FROM ekpo&lt;/P&gt;&lt;P&gt;    INTO  CORRESPONDING FIELDS OF TABLE it_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&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  set_specific_field_attributes&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;      populate FIELD_STYLE table with specific field attributes&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 set_specific_field_attributes .&lt;/P&gt;&lt;P&gt;  DATA ls_stylerow TYPE lvc_s_styl .&lt;/P&gt;&lt;P&gt;  DATA lt_styletab TYPE lvc_t_styl .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate style variable (FIELD_STYLE) with style properties&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The NETPR field/column has been set to editable in the fieldcatalog...&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The following code sets it to be disabled(display only) if 'NETPR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is gt than 10.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_ekko INTO wa_ekko.&lt;/P&gt;&lt;P&gt;    IF wa_ekko-netpr GT 10.&lt;/P&gt;&lt;P&gt;      ls_stylerow-fieldname = 'NETPR' .&lt;/P&gt;&lt;P&gt;      ls_stylerow-style = cl_gui_alv_grid=&amp;gt;mc_style_disabled.&lt;/P&gt;&lt;P&gt;                                             "set field to disabled&lt;/P&gt;&lt;P&gt;      APPEND ls_stylerow  TO wa_ekko-field_style.&lt;/P&gt;&lt;P&gt;      MODIFY it_ekko FROM wa_ekko.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " set_specific_field_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Sankar M&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 08:43:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486305#M838231</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2008-03-05T08:43:28Z</dc:date>
    </item>
    <item>
      <title>Re: Edit ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486306#M838232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&amp;amp;---------------------------------------------------------------------
*&amp;amp; Report ZUS_SDN_ALVGRID_EDITABLE_8
*&amp;amp;
*&amp;amp; Description: editable ALV -&amp;gt; ENTER jumps to next row
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Dynpro flow logic: no screen elements, ok_code = GD_OKCODE
** PROCESS BEFORE OUTPUT.
** MODULE STATUS_0100.
***
** PROCESS AFTER INPUT.
** MODULE USER_COMMAND_0100.
**
*&amp;amp;
&amp;amp;---------------------------------------------------------------------
 
REPORT zus_sdn_alvgrid_editable_8.
 
DATA:
gd_repid TYPE syst-repid,
gd_okcode TYPE ui_func,
*
gt_fcat TYPE lvc_t_fcat,
go_docking TYPE REF TO cl_gui_docking_container,
go_grid TYPE REF TO cl_gui_alv_grid.
 
 
DATA:
gt_knb1 TYPE STANDARD TABLE OF knb1.
 
 
---------------------------------------------------------------------
* CLASS lcl_eventhandler DEFINITION
---------------------------------------------------------------------
*
---------------------------------------------------------------------
CLASS lcl_eventhandler DEFINITION.
 
PUBLIC SECTION.
 
CLASS-METHODS:
handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING
er_data_changed
e_onf4
e_onf4_before
e_onf4_after
e_ucomm
sender.
 
 
ENDCLASS. "lcl_eventhandler DEFINITION
 
 
---------------------------------------------------------------------
* CLASS lcl_eventhandler IMPLEMENTATION
---------------------------------------------------------------------
*
---------------------------------------------------------------------
CLASS lcl_eventhandler IMPLEMENTATION.
 
METHOD handle_data_changed.
* define local data
 
** cl_gui_cfw=&amp;gt;set_new_ok_code( 'NEXT_ROW' ). " not possible on 4.6c
CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code
EXPORTING
new_code = 'NEXT_ROW'
* IMPORTING
* RC =
.
" Triggers PAI of dynpro with ok_code = 'NEXT_ROW'
 
ENDMETHOD. "handle_data_changed
 
 
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
 
 
 
 
 
PARAMETERS:
p_bukrs TYPE bukrs DEFAULT '2000' OBLIGATORY.
 
 
 
 
START-OF-SELECTION.
 
SELECT * FROM knb1 INTO TABLE gt_knb1
WHERE bukrs = p_bukrs.
 
 
 
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=&amp;gt;screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
 
* Create ALV grid
CREATE OBJECT go_grid
EXPORTING
i_parent = go_docking
EXCEPTIONS
OTHERS = 5.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
" Triggers event DATA_CHANGED when ENTER is pushed
CALL METHOD go_grid-&amp;gt;register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_enter
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
SET HANDLER:
lcl_eventhandler=&amp;gt;handle_data_changed FOR go_grid.
 
 
* Build fieldcatalog and set hotspot for field KUNNR
PERFORM build_fieldcatalog_knb1.
 
 
 
* Display data
CALL METHOD go_grid-&amp;gt;set_table_for_first_display
CHANGING
it_outtab = gt_knb1
it_fieldcatalog = gt_fcat
EXCEPTIONS
OTHERS = 4.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
 
 
 
* Link the docking container to the target dynpro
gd_repid = syst-repid.
CALL METHOD go_docking-&amp;gt;link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
 
* ok-code field = GD_OKCODE
CALL SCREEN '0100'.
 
 
END-OF-SELECTION.
 
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Module STATUS_0100 OUTPUT
&amp;amp;---------------------------------------------------------------------
* text
----------------------------------------------------------------------
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
* SET TITLEBAR 'xxx'.
 
** CALL METHOD go_grid1-&amp;gt;refresh_table_display
*** EXPORTING
*** IS_STABLE =
*** I_SOFT_REFRESH =
** EXCEPTIONS
** FINISHED = 1
** others = 2
** .
** IF sy-subrc 0.
*** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
** ENDIF.
 
ENDMODULE. " STATUS_0100 OUTPUT
 
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Module USER_COMMAND_0100 INPUT
&amp;amp;---------------------------------------------------------------------
* text
----------------------------------------------------------------------
MODULE user_command_0100 INPUT.
 
go_grid-&amp;gt;check_changed_data( ).
 
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
 
" NOTE: ENTER button alone works apparently only if the cursor
" is placed within the command window (left-upper corner)
WHEN 'ENTER' OR
'NEXT_ROW'.
PERFORM set_cursor_next_row.
 
WHEN OTHERS.
ENDCASE.
 
CLEAR: gd_okcode.
 
ENDMODULE. " USER_COMMAND_0100 INPUT
 
 
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form BUILD_FIELDCATALOG_KNB1
&amp;amp;---------------------------------------------------------------------
* text
----------------------------------------------------------------------
* --&amp;gt; p1 text
* &amp;lt;-- p2 text
----------------------------------------------------------------------
FORM build_fieldcatalog_knb1 .
* define local data
DATA:
ls_fcat TYPE lvc_s_fcat.
 
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
i_structure_name = 'KNB1'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = gt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
 
LOOP AT gt_fcat INTO ls_fcat
WHERE ( fieldname = 'ZUAWA' ).
ls_fcat-edit = abap_true.
ls_fcat-col_opt = abap_true.
MODIFY gt_fcat FROM ls_fcat.
ENDLOOP.
 
 
ENDFORM. " BUILD_FIELDCATALOG_KNB1
 
&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form SET_CURSOR_NEXT_ROW
&amp;amp;---------------------------------------------------------------------
* text
----------------------------------------------------------------------
* --&amp;gt; p1 text
* &amp;lt;-- p2 text
----------------------------------------------------------------------
FORM set_cursor_next_row .
* define local data
DATA:
ls_row TYPE lvc_s_row,
ls_col TYPE lvc_s_col.
 
 
 
CALL METHOD go_grid-&amp;gt;get_current_cell
IMPORTING
* E_ROW =
* E_VALUE =
* E_COL =
es_row_id = ls_row
es_col_id = ls_col
* ES_ROW_NO =
.
 
ADD 1 TO ls_row-index. " next row
 
CALL METHOD go_grid-&amp;gt;set_current_cell_via_id
EXPORTING
is_row_id = ls_row
is_column_id = ls_col
* IS_ROW_NO =
.
 
ENDFORM. " SET_CURSOR_NEXT_ROW&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 08:44:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486306#M838232</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T08:44:13Z</dc:date>
    </item>
    <item>
      <title>Re: Edit ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486307#M838233</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in fld cat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use the property&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;edit = 'x'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for the corresponding fld&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 09:03:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/edit-alv/m-p/3486307#M838233</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T09:03:01Z</dc:date>
    </item>
  </channel>
</rss>

