Table Maintenance using Editable ALV

Hi all,
Could anyone give me the code for doing the ZTable maintenance (like Insert, Modify, Append, Delete records) using Editable ALV. I referred all BCALV_EDIT* programs but there  is no code for saving the details in database after the changes. Please help it is urgent, will surely reward points.
thanks in advance

Pl. see this sample code. May be it will help u.
REPORT zmodtab NO STANDARD PAGE HEADING.
TYPE-POOLS: rsds.
DATA: is_x030l  TYPE x030l,
      it_dfies  TYPE TABLE OF dfies,
      is_dfies  TYPE dfies,
      it_fdiff  TYPE TABLE OF field_dif,
      is_fdiff  TYPE field_dif.
DATA: w_selid   TYPE rsdynsel-selid,
      it_tables TYPE TABLE OF rsdstabs,
      is_tables TYPE rsdstabs,
      it_fields TYPE TABLE OF rsdsfields,
      it_expr   TYPE rsds_texpr,
      it_ranges TYPE rsds_trange,
      it_where  TYPE rsds_twhere,
      is_where  TYPE rsds_where,
      w_active  TYPE i.
DATA: it_content TYPE REF TO data,
      it_modif   TYPE REF TO data,
      it_fcat    TYPE lvc_t_fcat.
DATA: w_okcode   TYPE sy-ucomm.
FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE,
               <ntab> TYPE STANDARD TABLE.
Macros
DEFINE table_error.
  message e398(00) with 'Table' p_table &1.
END-OF-DEFINITION.
DEFINE fixed_val.
  is_fdiff-fieldname = is_dfies-fieldname.
  is_fdiff-fixed_val = &1.
  is_fdiff-no_input  = 'X'.
  append is_fdiff to it_fdiff.
END-OF-DEFINITION.
Selection screen
SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME.
PARAMETERS: p_table TYPE tabname OBLIGATORY                    "table
                                 MEMORY ID dtb
                                 MATCHCODE OBJECT dd_dbtb_16.
SELECTION-SCREEN: BEGIN OF LINE,
                  PUSHBUTTON 33(20) selopt USER-COMMAND sel,
                  COMMENT    55(15) selcnt,
                  END OF LINE.
SELECTION-SCREEN: SKIP.
PARAMETERS: p_rows  TYPE i.                                    "rows
SELECTION-SCREEN: END OF BLOCK b01,
                  SKIP,
                  BEGIN OF BLOCK b02 WITH FRAME.
PARAMETERS: p_displ TYPE c AS CHECKBOX.                        "display
SELECTION-SCREEN: END OF BLOCK b02.
Initialization
INITIALIZATION.
  MOVE '@4G@ Filter records' TO selopt.
PBO
AT SELECTION-SCREEN OUTPUT.
  IF w_active IS INITIAL.
    CLEAR: selcnt.
  ELSE.
    WRITE w_active TO selcnt LEFT-JUSTIFIED.
  ENDIF.
PAI
AT SELECTION-SCREEN.
  IF p_table NE is_x030l-tabname.
    CALL FUNCTION 'DDIF_NAMETAB_GET'
         EXPORTING
              tabname   = p_table
         IMPORTING
              x030l_wa  = is_x030l
         TABLES
              dfies_tab = it_dfies
         EXCEPTIONS
              OTHERS    = 1.
    IF is_x030l IS INITIAL.
      table_error 'does not exist or is not active'.
    ELSEIF is_x030l-tabtype NE 'T'.
      table_error 'is not selectable'.
    ELSEIF is_x030l-align NE 0.
      table_error 'has alignment - cannot continue'.
    ENDIF.
  Default values for system fields
    REFRESH: it_fdiff.
    is_fdiff-tabname = p_table.
    LOOP AT it_dfies INTO is_dfies.
      IF is_dfies-datatype = 'CLNT'.
        fixed_val sy-mandt.
      ELSEIF is_dfies-rollname = 'ERDAT'
          OR is_dfies-rollname = 'ERSDA'
          OR is_dfies-rollname = 'AEDAT'
          OR is_dfies-rollname = 'LAEDA'.
        fixed_val sy-datum.
      ELSEIF is_dfies-rollname = 'ERTIM'
          OR is_dfies-rollname = 'AETIM'.
        fixed_val sy-uzeit.
      ELSEIF is_dfies-rollname = 'ERNAM'
          OR is_dfies-rollname = 'AENAM'.
        fixed_val sy-uname.
      ENDIF.
    ENDLOOP.
  Prepare free selection on table
    REFRESH it_tables.
    is_tables-prim_tab = p_table.
    APPEND is_tables TO it_tables.
    CLEAR: w_selid.
  ENDIF.
  IF sy-ucomm = 'SEL'.
    IF w_selid IS INITIAL.
    Init free selection dialog
      CALL FUNCTION 'FREE_SELECTIONS_INIT'
           EXPORTING
                expressions  = it_expr
           IMPORTING
                selection_id = w_selid
                expressions  = it_expr
           TABLES
                tables_tab   = it_tables
           EXCEPTIONS
                OTHERS       = 1.
    ENDIF.
  Display free selection dialog
    CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
         EXPORTING
              selection_id            = w_selid
              title                   = 'Selection'
              status                  = 1
              as_window               = 'X'
         IMPORTING
              expressions             = it_expr
              field_ranges            = it_ranges
              number_of_active_fields = w_active
         TABLES
              fields_tab              = it_fields
         EXCEPTIONS
              OTHERS                  = 1.
  ENDIF.
Start of processing
START-OF-SELECTION.
  PERFORM f_create_table USING p_table.
  PERFORM f_select_table.
  PERFORM f_display_table.
      FORM f_create_table                                           *
FORM f_create_table USING in_tabname.
  FIELD-SYMBOLS: <fcat> TYPE lvc_s_fcat.
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
       EXPORTING
            i_structure_name = in_tabname
       CHANGING
            ct_fieldcat      = it_fcat
       EXCEPTIONS
            OTHERS           = 1.
  IF sy-subrc = 0.
  Complete field catalog
    LOOP AT it_fcat ASSIGNING <fcat>.
      <fcat>-tabname = in_tabname.
    ENDLOOP.
    CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
         CHANGING
              ct_fieldcat = it_fcat
         EXCEPTIONS
              OTHERS      = 1.
  ELSE.
    WRITE: 'Error building field catalog'.
    STOP.
  ENDIF.
Create dynamic table for data
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = it_fcat
    IMPORTING
      ep_table        = it_content.
  IF sy-subrc = 0.
    ASSIGN it_content->* TO <itab>.
  ELSE.
    WRITE: 'Error creating internal table'.
    STOP.
  ENDIF.
Create dynamic table for modif
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = it_fcat
    IMPORTING
      ep_table        = it_modif.
  IF sy-subrc = 0.
    ASSIGN it_modif->* TO <ntab>.
  ELSE.
    WRITE: 'Error creating internal table'.
    STOP.
  ENDIF.
ENDFORM.
      FORM f_select_table                                           *
FORM f_select_table.
  IF w_active = 0.
    SELECT * FROM (p_table)
             INTO CORRESPONDING FIELDS OF TABLE <itab>
            UP TO p_rows ROWS.
  ELSE.
  Selection with parameters
    CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_WHERE'
         EXPORTING
              field_ranges  = it_ranges
         IMPORTING
              where_clauses = it_where.
    READ TABLE it_where INTO is_where WITH KEY tablename = p_table.
    SELECT * FROM (p_table)
             INTO CORRESPONDING FIELDS OF TABLE <itab>
            UP TO p_rows ROWS
            WHERE (is_where-where_tab).
  ENDIF.
  IF sy-dbcnt = 0.
    WRITE: 'No record selected'.
    STOP.
  ENDIF.
ENDFORM.
      FORM f_display_table                                          *
FORM f_display_table.
  DATA: l_answer TYPE c,
        l_eflag  TYPE c.
  CLEAR: w_okcode.
  REFRESH: <ntab>.
Display table contents
  CALL FUNCTION 'STC1_FULLSCREEN_TABLE_CONTROL'
       EXPORTING
            header       = p_table
            tabname      = p_table
            display_only = p_displ
            endless      = 'X'
            no_button    = space
       IMPORTING
            okcode       = w_okcode
       TABLES
            nametab      = it_dfies
            table        = <itab>
            fielddif     = it_fdiff
            modif_table  = <ntab>
       EXCEPTIONS
            OTHERS       = 1.
  IF sy-subrc = 0.
    IF p_displ IS INITIAL AND w_okcode = 'SAVE'.
    Confirm update
      CALL FUNCTION 'POPUP_TO_CONFIRM'
           EXPORTING
                titlebar              = p_table
                text_question         = 'Do you want to update table ?'
                default_button        = '2'
                display_cancel_button = ' '
           IMPORTING
                answer                = l_answer
           EXCEPTIONS
                OTHERS                = 1.
      IF l_answer = '1'.
      Apply modifications
        IF NOT <ntab>[] IS INITIAL.
          PERFORM f_add_system USING space.
          MODIFY (p_table) FROM TABLE <ntab>.
          IF sy-subrc NE 0.
            l_eflag = 'X'.
          ENDIF.
        ENDIF.
      Apply deletions
        IF l_eflag IS INITIAL.
          REFRESH: <ntab>.
          CALL FUNCTION 'STC1_GET_DATA'
               TABLES
                    deleted_data = <ntab>
               EXCEPTIONS
                    OTHERS       = 1.
          IF NOT <ntab>[] IS INITIAL.
            DELETE (p_table) FROM TABLE <ntab>.
            IF sy-subrc NE 0.
              ROLLBACK WORK.
              l_eflag = 'X'.
            ENDIF.
          ENDIF.
        ENDIF.
      Apply creations
        IF l_eflag IS INITIAL.
          REFRESH: <ntab>.
          CALL FUNCTION 'STC1_GET_DATA'
               TABLES
                    new_data = <ntab>
               EXCEPTIONS
                    OTHERS   = 1.
          IF NOT <ntab>[] IS INITIAL.
            PERFORM f_add_system USING 'X'.
            INSERT (p_table) FROM TABLE <ntab>.
            IF sy-subrc NE 0.
              ROLLBACK WORK.
              l_eflag = 'X'.
            ENDIF.
          ENDIF.
        ENDIF.
        IF l_eflag IS INITIAL.
          COMMIT WORK.
          MESSAGE s261(53).
        ELSE.
          MESSAGE s075(3i).
          PERFORM f_select_table.
        ENDIF.
      ENDIF.
    Display table again
      PERFORM f_display_table.
    ENDIF.
  ENDIF.
ENDFORM.
      FORM f_add_system                                             *
FORM f_add_system USING new TYPE c.
  FIELD-SYMBOLS: <irec> TYPE ANY,
                 <upd>  TYPE ANY.
  LOOP AT it_fdiff INTO is_fdiff.
    READ TABLE it_dfies INTO is_dfies
                    WITH KEY fieldname = is_fdiff-fieldname.
    LOOP AT <ntab> ASSIGNING <irec>.
      ASSIGN COMPONENT is_fdiff-fieldname OF STRUCTURE <irec> TO <upd>.
      IF is_dfies-datatype = 'CLNT'.
        <upd> = sy-mandt.
      ELSE.
        CASE is_dfies-rollname.
          WHEN 'AENAM'.
            <upd> = sy-uname.
          WHEN 'AEDAT' OR 'LAEDA'.
            <upd> = sy-datum.
          WHEN 'AETIM'.
            <upd> = sy-uzeit.
          WHEN OTHERS.
        ENDCASE.
      ENDIF.
    ENDLOOP.
  ENDLOOP.
ENDFORM.
Regards,
Joy.

Similar Messages

  • Table Maintenance Generator : Editable Entry after validation fails

    Hi,
    I have created a Z table and a table maintenance generator to maintain the data.
    I have to carry out certain validations when user enters data on Key and Non- key fields.
    This is working fine, but the issue is with the key fields.
    If validation fails, the table maintenance screen is displayed the date-field is grayed out (non-editable) as it is the key field of the table.
    Now the user cannot change the data unlike the non-key fields were the user can modify the non-valid data and save again.
    How can make the date field (Key Field) editable after entry in case the validation fail, so that the user can make the changes.
    Please suggest the approach to handle the above scenario in events.
    Thanks,
    Keyur

    Thanks Kiran for your inputs.
    I have done the same thing what you have explained.
    I have used a Form Routine as CIP_SAVE with Event Number as 01, since on event SAVE i need to validate whether dates are
    overlapping the inputs dates or not.
    Fields are :
    Group ID (Key)
    Start Date (Key)
    End Date (Key)
    Value (Non -Key)
    Initial value in Table:
    Group ID = 12345
    Start Date = 01/01/2011
    End Date = 01/31/2011
    Value = 11.11
    Now if i try to enter value:
    Group ID = 12345
    Start Date = 01/02/2011
    End Date = 01/25/2011
    Value = 99.99
    & SAVE it... validation will fails because Start & End dates overlaps.
    Hence, on Table Maintainance Screen all key fields will be in non-editable display mode, whereas non-key field will be in editable mode.
    My requirement is that Start Date & End Date key fields must be Editable field.
    Thanks.

  • Editable ALVs vs Table Controls

    Hi...
    Can somebody give me the advantages and disadvantages of using editable ALV's  (ALV grid) over table controls? I've got a requirement from my client side wherein I have to replace all table controls with editable ALV's and prior to that, I've to submit an understanding document highlighting the advantages and disadvantages of doing the same.  Also, I've heard that SAP is thinking of replacing all existing table controls in its standard screens with editable ALVs. Can somebody send me a link or some article to substantiate this?
    <removed>. Please do help me out asap if you feel like it.
    Thanks and Regards,
    Rakesh
    Edited by: Thomas Zloch on Mar 14, 2010 8:03 PM - adjusted to forum rules

    > And also, if its true that SAP is thinking on replacing table controls with editable ALV's
    SAP usually don't spend time to rewrite existing programs. Many efforts and risks of regression for a so little gain. Really, that would surprise me
    That would be rather easy to show ALV advantages, as you can do almost "nothing" with table controls. So I would begin with the only table control functions:
    - change order of columns
    - hide columns
    - change column size
    - save the layout above, for the user and for everyone
    - number of fixed columns
    - good performance in the WAN as only screen lines are loaded
    ALV can do all of them. The other ALV functions are : see [SAP library - SAP List Viewer for SAP GUI|http://help.sap.com/saphelp_nw2004s/helpdata/en/8d/e994374c9cd355e10000009b38f8cf/frameset.htm]).
    Another difference is that checks are done immediately for current page of table control (when you press enter or scroll, the PAI is triggered), while they are done for the whole lines with ALV (in fact you could do it, but I guess you don't want to spend much time to develop)

  • Search help for date field in Editable ALV

    Hello Friends,
    I am using editable alv using 'reuse_* '.
    I have used date as input field. While creating fieldcatlog also i have  declared dat as a mkpf-budat.
    But i am not getting serach help for date in output.
    Is it possible with reuse or i have to go by object oriented ?

    Hi,
    Just pass the Edit option of the fieldcatalog for those specific fields...
    fcat-edit = 'X'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = sy-cprog
          i_callback_pf_status_set = 'PF_STATUS_SET'
          i_callback_user_command  = 'USER_COMMAND'    "<----  pass this
          i_callback_top_of_page   = 'TOP'
          is_layout                = it_layout
          it_fieldcat              = it_fcat
          i_default                = 'X'
          i_save                   = 'A'
          it_events                = it_event
        TABLES
          t_outtab                 = it_final
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    *&      Form  USER_COMMAND
    *       text
    *      -->R_UCOMM      text
    *      -->RS_SELFIELD  text
    FORM user_command USING r_ucomm LIKE sy-ucomm
                            rs_selfield TYPE slis_selfield.
      CASE r_ucomm.
        WHEN '&DATA_SAVE'.                "<-------check this
          PERFORM save_data.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND

  • Urgent : Problem with Editable  ALV Grid  for Quantity and Currency Fields

    Hi All,
    I am using Editable ALV Grid display and have quantity and value as editable fields in the display.
    When user changes these values these values are not changing properly .
    For the quantity field the domain is MENG13 with 3 deciamal places and here  if we enter 500 it takes it as 0.500   .
    The same problem is for the currency field. Here the Domain is WERT7 with 3 decimal places.
    Here also it takes last 2 digits after decimal places by default.
    Please advice how to get proper values in this case from ALV editable fields.
    Thanks and Regards
    Harshad
    Edited by: Harshad Rahirkar on Dec 25, 2007 7:39 AM

    for all the currency field , it will display like that only.
    u have to manipulate uin program before displaying.
    if they are giving 500, in program multiply with 100 and move it to table.
    when u are getting from table, divinde and display.
    this is what I am doing.
    Reward if helpfull.

  • Problem with table maintenance event

    Hi Experts,
    In the table maintenance event 05 for a ztable, I have written logic to validate if few key fields and non key fields are not initial.
    If they are initial,need to throw an error message and it has to stay in the same screen.But right now it grays out the non key field.
    Tried the combination of events 01 and 05 it grays out the key field.
    Please let me know if there are any ways to achieve this without making modifications in the PBO or PAI of the ztable.
    Regards,
    Sridevi

    I have this exact problem, why is this thread 'closed'? Is there an answer provided somewhere?
    I have found a topic which shows an information message, which claims that the data is not saved.
    But it does save the data if you use an information message and blocks non-key fields when using an error message
    so this problem is still open for me.
    Does anybody have a solution?
    Ah an answer was indeed provided in another topic:
    Issuing an Error in Table Maintenance Event
    Edited by: Arno ter Horst on May 5, 2011 4:12 PM

  • Validation after Excel File Upload in Table Maintenance

    Hello All,
    I've done extensive research on this topic and still have yet to find the answer. I have created a custom button in the TMG to upload an Excel file to the table maintenance using the FM CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD. I updated the EXTRACT and TOTAL table so it will show up in the TMG interface, but no validations occur. So, I am now trying to do the validations of this file upload. I would like to validate each record and allow the user to modify the error record then continue validating the rest. Essentially I would like to mimic the functionality that occurs when multiple records are copied to the table maintenance and validated one by one. Updating the EXTRACT table through ABAP, does not reach the PAI where the validations occur.
    Is this approach possible? If not, what would be the best way to do validations, inform the user of the error record, and allow modification in the table maintenance interface?
    Thanks,
    Justin

    Or just a report program - have the file name on the selection screen.
    1) Upload the file
    2) Validate the file and produce error messages.
    3) Based on the validations, update the table.
    Rob

  • Max nos of fields in table maintenance generator screen

    Hello,
    Is there any restriction on the number of colums(fields) to be displayed in the screen of table maintenance?
    Actually, I am having a Ztable with some 100 fields and when I generate the table maintenance using Single Screen, it give me error for dynpro creation. But it works with 68 or less fields.
    Can anyone help me out in this?
    Thank You.
    reg,
    Pankaj

    Hi,
    you can change your table:
    if your table is like glt0 or lfc1,
    you can assign month to key of the table :
    FIELD     KEYFLAG
    MANDT     X
    BUKRS     X
    GSBER     X
    GJAHR     X
    WAERS     X
    MONAT     X "<-
    WRBTR     
    Andreas

  • Updating ztable from the table maintenance

    hi,
           I want to knw how and where to check , whether the records which user has entered in the table control of new entries screen exists in the ztable table or not . if the same record exists then that record should not go for saving it shd be deleted when it is detected that it exists in the ztable . can any one tell me how . where and what code to be written . so that the duplicate entries are deleted and others entries get appended in the database.
    thank you.

    Hi
    if you have declared some Primary key fields then by default when you enter the records in the Table maintenance using SM30 it will not allow duplicate records with the same key fields
    You can check the Table entries in SE16 Tcode
    go to Se16 enter table name execute and see the table records
    Reward points for useful Answers
    Regards
    Anji

  • Table Maintenance Generator via program using ALV OO concept

    Hi All,
    I have a requriement to update the table using OO ALV i.e table maintenance generator program.
    My Z table have three fields say.. NEW status, old status and flag.
    I have to dispaly the records of the Z table in Matrix format.
    for example the records of the Z table is
    New status
    Old status
    Flag
    N1
    O11
    F11
    N1
    O12
    F12
    N1
    O13
    F13
    N2
    O21
    F21
    N2
    O22
    F22
    N2
    O23
    F23
    N3
    O31
    F31
    N3
    O32
    F32
    N3
    O33
    F33
    My program have to display the records of the table in matrix format  i.e
    |   .....       |    O11    |  O12  |  O13   |  O21  |  O22   |   O23  |  O31   |   O32  |  O33 | ..
    |     N1    |     F11     |    F12     |  F13     |    .....   |  .....       |  ....        |  .....      |   .......     |   ....    | ..   ____________________________________________________________________________________   
    |    N2     |     .....     |  ......      | .......      |   F21   |   F22     |  F23      |   ...        |   .....       | ......   | .
    |     N3    |     ......   |   .....      | .......   .  |  .......   |  .......     | ....         |   F31     |    F32      |  F33   |   
    The ALV display is dynamic i.e it depends upon the no. of records in the table...
    My headings( Row heading and Column heading )  will be the value  from table... and the user should be able to change the Flag ... For example when the user change the Flag  'F21'  to say 'X',
    |   .....       |    O11    |  O12  |  O13   |  O21  |  O22   |   O23  |  O31   |   O32  |  O33 | ..
    |     N1    |     F11     |    F12     |  F13     |    .....   |  .....       |  ....        |  .....      |   .......     |   ....    | ..   ____________________________________________________________________________________   
    |    N2     |     .....     |  ......      | .......      |   X       |   F22     |  F23      |   ...       |   .....       | ......    | .
    |     N3    |     ......   |   .....      | .......   .   |  .......  |  .......     | ....       |   F31      |    F32     |   F33    | .  
    In the Z table  the record  is
                     N2          O21        F21
    should be changed to
                    N2          O21        X
    I tried using ALV oo concept....but  I can able to display the output as like it is in table ....Not like the one above format....
    Can you please help me to resolve it?
    Thanx in advance
    Sangeetha
    Edited by: sangeetha s k on Dec 16, 2008 7:42 AM
    Edited by: sangeetha s k on Dec 16, 2008 7:50 AM
    Edited by: sangeetha s k on Dec 16, 2008 8:04 AM

    Hi,
    Go through Following Menu Path
    Tcode SE11-> Table Name-> Change.
    Utilities-> Table Maintance Generator->Create Maintance.
    On Same Screen go to Menu Environment->Modification->Events
    Create New Event e.g. 05 , Enter Form Routine Name.
    Go to Editor.
    and Put Your Logic
    e.g.
    FORM FILL_DEFAULT.
    * Actual Logic for how to get materials list.
    ENDFORM.   

  • How to use table maintenance view in module pool screen

    hi ,
    want to use table maintenance view in a module pool screen so that i can edit, insert, delete and update date in to the ztable.please help.

    You can simply call it via SM30.   Or you can call the table maintence view from any program(report or module pool) using a function module.
      call function 'VIEW_MAINTENANCE_CALL'
           exporting
                action                       = 'U'
                view_name                    = 'Z_Table_Name'
           exceptions
                client_reference             = 1
                foreign_lock                 = 2
                invalid_action               = 3
                no_clientindependent_auth    = 4
                no_database_function         = 5
                no_editor_function           = 6
                no_show_auth                 = 7
                no_tvdir_entry               = 8
                no_upd_auth                  = 9
                only_show_allowed            = 10
                system_failure               = 11
                unknown_field_in_dba_sellist = 12
                view_not_found               = 13
                others                       = 14.
    Regards,
    RIch Heilman

  • Get data in editable ALV back to internal table without data_changed ev?

    Hi,
       I have an editable ALV using classes to whch I have users the option to edit directly on the screen or upload data from an excel. The event data_changed gets triggered when users edit the table on the screen.
    However when EXCEL is uploaded, I refresh the table display. So, I need a way to get the data from the ALV into a internal table to check which rows were update using the excel and save them into the db table.
    Prakash

    Hi!
    For more information, inspect programs suiting the mask "BCALVEDIT*" and the thread with header "How to make a row of ALV editable " (I know this is some more steps further from your demand but it may be useful) at URL " How to make a row of ALV editable " .
    If you want to study more BC412 "EnjoySAP Controls" may help you.
    *--Serdar

  • Row id in editable ALV while using MP_MOD_ROWS

    Hi Experts
    I have an editable alv with 13 fields editable in it.     Inside the DATA_CHANGED event i am making use of the attribute MP_MOD_ROWS for doing some specific validations. But I am not able to pass the row_id to the the mehod add_protocal_entry while multiple rows are in MP_MOD_ROWS ,since its not available MP_MOD_ROWS .
    Can anyone tell me how i can get the row_id for  each row in MP_MOD_ROWS.
    Since I need the full row for validations , i cant use MT_MOD_CELLS.
    Regards,
    Suniljith.SS

    Hi,
    this is an excerpt of what we dir:
    METHOD handle_data_changed.
      FIELD-SYMBOLS:
        <dat> TYPE ANY,
        <mod> TYPE LINE OF lvc_t_modi,
      LOOP AT er_data_changed->mt_mod_cells ASSIGNING <mod>.
    * error case, sy-subrc <> 0 returned by MESSAGE ... RAISING
          symsg2alv_changed_data_prot( ir_cl_alv_changed_data_prot  = er_data_changed
                                       is_modi                      = <mod> ).
          DELETE er_data_changed->mt_mod_cells.
    using the method
    METHOD symsg2alv_changed_data_prot.
      MESSAGE
        ID sy-msgid
        TYPE sy-msgty
        NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
        INTO mv_msg. "for debug transparancy
      ir_cl_alv_changed_data_prot->add_protocol_entry(
        i_msgid     = sy-msgid
        i_msgty     = sy-msgty
        i_msgno     = sy-msgno
        i_msgv1     = sy-msgv1
        i_msgv2     = sy-msgv2
        i_msgv3     = sy-msgv3
        i_msgv4     = sy-msgv4
        i_fieldname = is_modi-fieldname
        i_row_id    = is_modi-row_id
    *      i_tabix     = i_tabix
    ENDMETHOD.
    I do not understand your question about row_id as this is a component  lvc_t_modi table. I don't know MP_MOD_ROWS as there is only attribute  MT_MOD_ROWS of parameter ER_DATA_CHANGED of event DATA_CHANGED of CL_GUI_ALV_GRID.
    Regards,
    Clemens

  • Table Maintenance via ALV GRID

    Hi Experts,
    I have a requirement to do table maintenance for multiple tables using ALV GRID, with options to change, delete, add records and upload multiple records via copy/paste functionality.
    Thanks.

    Your welcome.
    Rob

  • Editable alv using checkboxes.

    Hi All,
    I am working on editable alv using checkboxes.I have few requirements.
    1) i have all checkboxes in my row.If i select the Row fieldname all of my checkboxes hsould be checked.
    2) in my internsl table i have field called comments.If comment field has space i need to disable the checkbox.If comment is filled then i need to enable the chekkbox.
    Field catalog need to be changed based on my internal table.
    Can anybody please let me know how can i solve the above issues.
    Thanks
    Swapna.

    1. There is no event for this (row of column), so this will not be possible.
    2. Check report BCALV_EDIT_05.

Maybe you are looking for

  • How to get number of rows and columns in a two dimensional array ?

    Hello, What would be the simplest way to get number of rows and columns in a two dimensional array represented as integers ? I'm looking for another solution as For...Each loop in case of large arrays. Regards, Petri

  • My country is not listed in the itunes Country List.

    My country 'Nepal' is not listed in the Itunes country list. I cannot register for the Itunes which can help me download applications for my Ipod Touch 4G which I bought recently. its not downloading any applications as itunes cannot register me with

  • Powerbook 520c PCMCIA module

    I recently came into possession of one of these units. Does anyone know where I can get my hands on the software for it?

  • Not able to select a row in ALV?

    Hi Experts, I am enhancing a standard e-recruiting WD ABAP component. It produces a search result as ALV. I am not able to select any row in ALV by clicking it like we normally do in ALV. I wrote below code to allow selection: lo_value->if_wd_salv_ta

  • Recommended video cards

    Hello, What video cards are recommended for Encore 2? All that is mentioned on the system requirements page is "1,280x1,024 32-bit color video display adapter." We're considering the Matrox Parhelia for dual monitor display + NTSC preview capability.