Skip to Content
author's profile photo Former Member
Former Member

Editable ALV

Hi friends,

i want to edit the alv grid display.

for this i used fieldcat - edit .

But how to capture the value entered in grid.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jan 22, 2008 at 06:49 AM

    Hi,

    Please refer to the link below :

    http://www.sapdev.co.uk/reporting/alv/alvgrid_editable.htm

    Thanks,

    Sriram Ponna.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 22, 2008 at 06:54 AM

    HI

    The follow program demonstrates how to make individual fields of an ALV grid editable (NetPR greater than 10).

    Changes required from a basic ALV grid include adding a new field to ALV grid data table(it_ekko), Populating this

    field with style attribute and adding an entry to layout control table. Also from the previous examples used on

    this website you will also need to change the data type of the fieldcatalog, the layout and use a different function

    module for displaying the report.

    REPORT ZDEMO_ALVGRID_EDIT .

    TABLES: ekko.

    TYPE-POOLS: slis. "ALV Declarations

    *Data Declaration

    *----


    TYPES: BEGIN OF t_ekko,

    ebeln TYPE ekpo-ebeln,

    ebelp TYPE ekpo-ebelp,

    statu TYPE ekpo-statu,

    aedat TYPE ekpo-aedat,

    matnr TYPE ekpo-matnr,

    menge TYPE ekpo-menge,

    meins TYPE ekpo-meins,

    netpr TYPE ekpo-netpr,

    peinh TYPE ekpo-peinh,

    field_style TYPE lvc_t_styl, "FOR DISABLE

    END OF t_ekko.

    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,

    wa_ekko TYPE t_ekko.

    *ALV data declarations

    DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.

    DATA: it_fieldcat TYPE lvc_t_fcat, "slis_t_fieldcat_alv WITH HEADER LINE,

    wa_fieldcat TYPE lvc_s_fcat,

    gd_tab_group TYPE slis_t_sp_group_alv,

    gd_layout TYPE lvc_s_layo, "slis_layout_alv,

    gd_repid LIKE sy-repid.

    ************************************************************************

    *Start-of-selection.

    START-OF-SELECTION.

    PERFORM data_retrieval.

    PERFORM set_specific_field_attributes.

    PERFORM build_fieldcatalog.

    PERFORM build_layout.

    PERFORM display_alv_report.

    &----


    *& Form BUILD_FIELDCATALOG

    &----


    • Build Fieldcatalog for ALV Report

    ----


    FORM build_fieldcatalog.

    wa_fieldcat-fieldname = 'EBELN'.

    wa_fieldcat-scrtext_m = 'Purchase Order'.

    wa_fieldcat-col_pos = 0.

    wa_fieldcat-outputlen = 10.

    wa_fieldcat-emphasize = 'X'.

    wa_fieldcat-key = 'X'.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'EBELP'.

    wa_fieldcat-scrtext_m = 'PO Item'.

    wa_fieldcat-col_pos = 1.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'STATU'.

    wa_fieldcat-scrtext_m = 'Status'.

    wa_fieldcat-col_pos = 2.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'AEDAT'.

    wa_fieldcat-scrtext_m = 'Item change date'.

    wa_fieldcat-col_pos = 3.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'MATNR'.

    wa_fieldcat-scrtext_m = 'Material Number'.

    wa_fieldcat-col_pos = 4.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'MENGE'.

    wa_fieldcat-scrtext_m = 'PO quantity'.

    wa_fieldcat-col_pos = 5.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'MEINS'.

    wa_fieldcat-scrtext_m = 'Order Unit'.

    wa_fieldcat-col_pos = 6.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'NETPR'.

    wa_fieldcat-scrtext_m = 'Net Price'.

    wa_fieldcat-edit = 'X'. "sets whole column to be editable

    wa_fieldcat-col_pos = 7.

    wa_fieldcat-outputlen = 15.

    wa_fieldcat-datatype = 'CURR'.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    wa_fieldcat-fieldname = 'PEINH'.

    wa_fieldcat-scrtext_m = 'Price Unit'.

    wa_fieldcat-col_pos = 8.

    APPEND wa_fieldcat TO it_fieldcat.

    CLEAR wa_fieldcat.

    ENDFORM. " BUILD_FIELDCATALOG

    &----


    *& Form BUILD_LAYOUT

    &----


    • Build layout for ALV grid report

    ----


    FORM build_layout.

    • Set layout field for field attributes(i.e. input/output)

    gd_layout-stylefname = 'FIELD_STYLE'.

    gd_layout-zebra = 'X'.

    ENDFORM. " BUILD_LAYOUT

    &----


    *& Form DISPLAY_ALV_REPORT

    &----


    • Display report using ALV grid

    ----


    FORM display_alv_report.

    gd_repid = sy-repid.

    • call function 'REUSE_ALV_GRID_DISPLAY'

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'

    EXPORTING

    i_callback_program = gd_repid

    • i_callback_user_command = 'USER_COMMAND'

    is_layout_lvc = gd_layout

    it_fieldcat_lvc = it_fieldcat

    i_save = 'X'

    TABLES

    t_outtab = it_ekko

    EXCEPTIONS

    program_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.

    ENDFORM. " DISPLAY_ALV_REPORT

    &----


    *& Form DATA_RETRIEVAL

    &----


    • Retrieve data form EKPO table and populate itab it_ekko

    ----


    FORM data_retrieval.

    SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh

    UP TO 10 ROWS

    FROM ekpo

    INTO CORRESPONDING FIELDS OF TABLE it_ekko.

    ENDFORM. " DATA_RETRIEVAL

    &----


    *& Form set_specific_field_attributes

    &----


    • populate FIELD_STYLE table with specific field attributes

    ----


    form set_specific_field_attributes .

    DATA ls_stylerow TYPE lvc_s_styl .

    DATA lt_styletab TYPE lvc_t_styl .

    • Populate style variable (FIELD_STYLE) with style properties

    *

    • The NETPR field/column has been set to editable in the fieldcatalog...

    • The following code sets it to be disabled(display only) if 'NETPR'

    • is gt than 10.

    LOOP AT it_ekko INTO wa_ekko.

    IF wa_ekko-netpr GT 10.

    ls_stylerow-fieldname = 'NETPR' .

    ls_stylerow-style = cl_gui_alv_grid=>mc_style_disabled.

    "set field to disabled

    APPEND ls_stylerow TO wa_ekko-field_style.

    MODIFY it_ekko FROM wa_ekko.

    ENDIF.

    ENDLOOP.

    endform. " set_specific_field_attributes

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jan 22, 2008 at 06:54 AM

    Hi,

    Check this thread..

    Editable ALV

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 22, 2008 at 06:59 AM

    Hi Sekhar,

    Check GET CURSOR and SET CURSOR command will be helpful for you

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 22, 2008 at 07:14 AM

    Hi,

    In ALV-GRID display if u want to edit just u have to pass following values

    i_field_input = 'X'.

    i_field_edit = 'X'.

    thne u can edit ur related fields

    if u want capture the related field values then i think u have to use interactive report in ALV as follows.

    FORM user command RUCOMM like sy-ucom......slis_selfields

    like above u have to write some code ...

    reward me if it is use full answer

    praveen

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.