Editable ALVs - How to update DB?

Hi Experts,
Out of my curiosity, wuld like to know,
How the Editable ALVs do updation of DB? I mean, prog. flow?
thanq.

ThanQ Sarda,
OK, I got it.
Actually, I dont hv much idea abt Editable ALVs! My thinking is like,
Supose,
the user changed from 4.63 to 5.63 on ALV grid,
then, the user either pressed the SAVE(Floppy) or used the programmer defined push button on the front end screen, say the push button name is, UPDATE.
So,
1 - Now, How I hv to pull( I mean, How I hv to read the ALV grid?) the (front end value of) 5.63 value to back end, which is to b used for passing to either BAPI/FM or BDC etc. in the prog. for DB updation?
2 - If the user used the FLOPPY button i.e. SAVE, How to track it ( I know, if the user defined push button is there, we can track by using SY-UCOMM)?
thanq.

Similar Messages

  • Editable ALV - how to throw an error message for a specific line & field

    Hi all,
    I've implemented an editable ALV and also the ON_DATA_CHECK event to check the values, entered in the ALV. So this works fine and I can check the values.
    But now, I want to throw an error message corresponding to the field in the ALV, where the error occured.
    How can I throw this error message corresponding to a specific line/field in the ALV?
    I was using REPORT_ATTRIBUTE_ERROR_MESSAGE and REPORT_ELEMENT_ERROR_MESSAGE but without success.
    I'm also using a loop over the "CHANGES" in the ALV and within this loop, I use
    elem_alv = node_alv->get_element( index = <change>-element_index ) 
    to get the element for the message.
    CALL METHOD lo_message_manager->REPORT_ELEMENT_ERROR_MESSAGE
      EXPORTING
        MESSAGE_TEXT              = 'my message'
        ELEMENT                   = elem_alv
    *    ATTRIBUTES                =
    *    PARAMS                    =
    *    MSG_USER_DATA             =
    *    IS_PERMANENT              = ABAP_FALSE
    *    SCOPE_PERMANENT_MSG       = CO_MSG_SCOPE_CTXT_ELEMENT
    *    MSG_INDEX                 =
    *    CANCEL_NAVIGATION         =
    *    IS_VALIDATION_INDEPENDENT = ABAP_FALSE.
    2.) is it right, that for an editable ALV, I can't use the WDDOBEFOREACTION to do the checks?
    If I try to use this, I can't get the values of my ALV table to check it.
    Thanks,
    Andreas

    Hi Andreas,
    I have tried to replicate your problem and I am getting the desired output. I have a row by name TEMP_NEW in my ALV and I want to throw an error message whenever the user enters a value of 4 for that particular field. Please find my coding as below. The important thing is where we perform the actual comparison between the r_value and 4. r_value is defined in SALV_WD_S_TABLE_MOD_CELL as reference to type DATA. So suppose the user enters a value of say 3 in the TEMP_NEW field of the ALV then r_value would contain 3 but if you observe its type in debugging mode it would be as TYPE REF TO I and not TYPE I. So you cannot directly say something like:
    "if ls_modified_cells-r_value = 3" as this would lead to a syntax error. Define a field-symbol say <temp> and then use it to get the actual value into it by saying like:
    ASSIGN ls_modified_cells-r_value->* TO <temp>.
    Then you can use this <temp> for comparison in your IF statement like:
    IF  <temp> = 3.
    Find the entire coding as below:
    METHOD check_data.
      DATA: lr_node TYPE REF TO if_wd_context_node,
            lr_element TYPE REF TO if_wd_context_element,
            ls_modified_cells TYPE salv_wd_s_table_mod_cell.
      FIELD-SYMBOLS <temp> TYPE data.
    " get message manager
      DATA lo_api_controller     TYPE REF TO if_wd_controller.
      DATA lo_message_manager    TYPE REF TO if_wd_message_manager.
      lo_api_controller ?= wd_this->wd_get_api( ).
      CALL METHOD lo_api_controller->get_message_manager
        RECEIVING
          message_manager = lo_message_manager.
      lr_node = wd_context->get_child_node( name = 'NODE' ).
      LOOP AT r_param->t_modified_cells INTO ls_modified_cells.
        lr_element = lr_node->get_element( index = ls_modified_cells-index ).
        IF ls_modified_cells-attribute = 'TEMP_NEW'.
    " Get the value extracted into the field symbol from the reference variable
          ASSIGN ls_modified_cells-r_value->* TO <temp>.
    " Use the value present in this field-symbol for your comparison
          IF  <temp> = 4.
    " report message
            CALL METHOD lo_message_manager->report_attribute_error_message
              EXPORTING
                message_text   = 'Sample message text'
                element        = lr_element
                attribute_name = ls_modified_cells-attribute.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDMETHOD.
    Hope this helps resolve your problem.
    Regards,
    Uday

  • Editable ALV, how to capture changed data

    Hi All,
    I have created an editable ALV. User can make some changes in the displayed record and press "Submit" button (custom button on application toolbar), the program should validate the data and write the file on application server if validations are successful otherwise controls stay on the same screen.
    I am handling this validation and writing file part in PAI of the screen.
    Problem: The program is capturing the data when user changes it for the first, but program is failing to capture the subsequent changes (user makes after the validation fails). Program processes always the first time changed data only. Please help me in getting this problem resolved.
    Step1 : Program shows output.
    Step2: User changes Company Code.
    Step3: User clicks on Submit Button.
    Step3.1: Program reads the new data and performs validation.
    Step3.2: New Company code is not valid, error displayed.
    Step4: User changes the company code again, presses submit button.
    Goto step 3.1 -> Here program does not read the new data, rather first time changes company code is again read and validated, and program shows the same error again, which is not a desired result

    Hi Ashish,
    you need a method HANDLE_DATA_CHANGED as handler for grid event DATA_CHANGED.
    Use
    LOOP AT er_data_changed->mt_mod_cells ASSIGNING <mod>.
    to check all changed data. In this event, add the error messages to ER_DATA_CHANGED object.
    set all required handlers, i.e.
    SET HANDLER:
          handle_data_changed          FOR ro_grid,
          handle_data_changed_finished FOR ro_grid,
          handle_toolbar_set           FOR ro_grid,
          handle_user_command          FOR ro_grid,
          handle_hotspot_click         FOR ro_grid,
          handle_f4                    FOR ro_grid,
          handle_f1                    FOR ro_grid.
       ro_grid->set_toolbar_interactive( ).
    Register ENTER and MODIFIED events.
        ro_grid->register_edit_event( cl_gui_alv_grid=>mc_evt_enter ).
        ro_grid->register_edit_event( cl_gui_alv_grid=>mc_evt_modified ).
    Regards,
    Clemens

  • ADF Master Form / Detail editable table : how to update the table ?

    Hello,
    I'm using ADF faces with entity objects.
    Here is a simple explanation of the model :
    Table DOCUMENT --> Table LINEA DOCUMENT can have 0 or several row in the LINE table. Model is quite simple.
    I'd like to create JSF pages to create and update DOCUMENT/LINE items.
    I began with the Edit one :
    In my DataControls I have something like :
    AllDocuments
    |
    +- Id
    |
    +- Name
    |
    +-> AllDocumentLines
          |
          +- IdLine
          |
          +- ValueI created a form with the "AllDocuments" items having navigation and submit button.
    I created an editable table with "AllDocumentLines" items.
    The values are correctly filled.
    My questions are :
    - Which kind of "button" I have to add at the end of each row of the table to :
    * validate the update if "Value" changes ? I tried to drag/drop the related Create button but it stays disabled.
    * delete the row
    - Which button can I put to "Add" a new row ?
    I searched the forum but can't find answers of my problem.
    Edit: I'm using JDeveloper 11.1.1.3.0
    Edited by: Christophe on Jul 2, 2010 5:12 PM

    For creating a record drag the createInsert operation and for delete drag the delete operation - just make sure to drag the operation from the right VO in the data control palette.
    The you can drag the commit and rollback operations from the AM level - and you can change the "Disabled" properties of the buttons to false.

  • Editable ALV - how to raise errors ?

    Hi,
    I have a screen with some fields.
    And below it I have a custom container with an <b>Editable</b> ALV (<b>Classical</b> ALV).
    since the ALV is editable, the values entered gets validated. and upon finding a wrong entry, If I throw an error <b>from ALV</b>, the transaction aborts. The error is being raised from <b>data_changed_finished event</b>.
    I dont understand the reason why.
    Are you not supposed to raise an error through the ALV ?
    In the Data_Changed event, I chose the  cl_alv_changed_data_protocol object to write logs.
    But what if I need to raise an error else where in the alv flow.. say in user command of the alv.
    Rgds,
    Prashanth.

    Hi raja,
    Exactly like what zhenglin gu said. Error msg is thrown successfully. But if user tries to do anythign following that, like enter some other data or even a simple mouse click on teh alv, it aborts. No warning or message is thrown. it simply aborts.
    And there is nothign specific about the error message.
    Currently i have removed teh code for throwing the error msg.
    But nothing v specific abt it...
    Message e008(/NAM/NAE_MESSAGES).
    Seems like some problem with the way alv and the screen talk to each other or something like that ? Or is there a way to handle this ?
    Rgds,
    Prash.

  • Update the Billing orders after display/ modifiy in the Editable ALV

    Hi Experts,
    I have created one Editable ALV to display theBilling order with BP details,
    Once user get the ALV output he can modify the content and same will be updated once he hits UPDATE button.
    my requirement is after user hits the UPDATE button a background should be created and update of BO should happen also user user should able to see the status by checking the SPOOL.
    currently i am using the FM crm_order_maintain to update, kindly guide me how to process this step in background for all the entries which are selected in ALV by user.
    i think i can use SUBMIT with JOB_OPEN and JOB_CLOSE, but i need some same code & guidance.
    Thanks in Advance.
    Regards,
    Pradeep

    problem solved

  • How can we find out data in an editable ALV grid has been changed or not?

    Hi Experts,
    How can we find out whether a data in an editable ALV grid has been changed or not.
    I am using the
    FM -> REUSE_ALV_GRID_DISPLAY_LVC
    for ALV display.
    I have to chekc whther data has been changed or not befor saving. if changed then only i want to
    SAVE
    . I cannot use the internal table comparison method for this purpose also i am not using OOP ALV.
    So kindly sugest me an alternative.
    Thanks and Regards,
    Shahana

    Hi,
    Thanks for your answer. I already saw this post.
    See this method.
    CALL METHOD reuse_alv_grid->check_changed_data
    IMPORTING
    e_valid = lv_check.
    This will update the internal table with the edited values. Then we can go for internal table comparison.
    But my scenario will not allow me for itab comparisons.I just want to know the ALV data has been changed or not.
    Regards,
    Shahana

  • How to update changed data in alv grid.

    hi experts,
    i have a editable alv report how to update the changed data on the grid to database table when i click save.
    can anybody tell me how to do this if possible with example.
    thanks in advance.
    regards,
    venu

    The code below isn't a working program, but has most of what you should need.  Field-symbol <dyn_table> will always have what is in the grid.
    FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
                   <dyn_wa>.
    DATA: pt_fieldcat TYPE lvc_t_fcat,
          ls_fcat TYPE lvc_s_fcat,
          new_table TYPE REF TO data,
          new_line TYPE REF TO data.
    CREATE OBJECT g_custom_container
          EXPORTING container_name = g_container.
    CREATE OBJECT g_grid EXPORTING i_parent = g_custom_container.
    CLEAR ls_fcat.
    ls_fcat-fieldname = 'MATERIAL'.
    ls_fcat-datatype  = 'CHAR'.
    ls_fcat-intlen    = 18.
    ls_fcat-outputlen = 18.
    ls_fcat-coltext   = 'Material'.
    ls_fcat-edit      = 1.
    APPEND ls_fcat TO pt_fieldcat.
    CLEAR ls_fcat.
    ls_fcat-fieldname = 'QUANTITY'.
    ls_fcat-datatype  = 'INT4'.
    ls_fcat-intlen    = 6.
    ls_fcat-outputlen = 6.
    ls_fcat-coltext   = 'Qty'.
    ls_fcat-edit      = 1.
    APPEND ls_fcat TO pt_fieldcat.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
                 EXPORTING
                    it_fieldcatalog = pt_fieldcat
                 IMPORTING
                    ep_table = new_table.
    * assign ref variable  to a field symbol
    ASSIGN new_table->* TO <dyn_table>.
    * Create dynamic work area and assign to FS
    CREATE DATA new_line LIKE LINE OF <dyn_table>.
    ASSIGN new_line->* TO <dyn_wa>.
    * data_itab is filled with data that you want in grid
    LOOP AT data_itab INTO data_wa.
      CLEAR <dyn_wa>.
      ASSIGN COMPONENT 'MATERIAL' OF STRUCTURE <dyn_wa> TO <fs>.
      <fs> = data_wa-material.
      ASSIGN COMPONENT 'QUANTITY' OF STRUCTURE <dyn_wa> TO <fs>.
      <fs> = data_wa-quantity.
      APPEND <dyn_wa> TO <dyn_table>.
    ENDLOOP.
    CALL METHOD g_grid->set_table_for_first_display
        EXPORTING
          i_structure_name              = '<DYN_TABLE>'
          is_variant                    = gs_variant
          i_save                        = 'A'
          i_default                     = 'X'
          is_layout                     = gs_layout
          it_toolbar_excluding          = gt_exclude
        CHANGING
          it_outtab                     = <dyn_table>
          it_fieldcatalog               = pt_fieldcat[]
          it_sort                       = gt_sort[].

  • How to trigger dropdown list click in editable alv?

    I have an editable alv - and wehn a certain field is changed - I want to force the user to update a 2nd field, which is filled via a dropdown list.
    Ive trapped the change of the first field, in the handle_data_changed method, but need to from there - call an event to simulate a click onthe 2nd dropdown field, and can not figure out how to do that. the method modify_cell wont work as it expects a value to be passed in and I need to use my dropwdown.
    How is this done?
    Do I have to change it from a dropdown to an f4 event? I woudl really rather not.

    Dear srivallika,
    first you have do build up an steploop on your dynpro for the it_ccode-bukrs
    AT PBO
    loop at it_ccode cursor g_ccode_cur into wa_cccode.
    my set loopc
    module ccode_loopc.
    endloop.
    Include PBO
    module ccode_loopc.
      g_ccode_loopc = sy-loopc.
    endmodule.
    You only see via DIAG Dialog the displayed rows on the Dynpro.
    So if you only have a steploop of 4 rows -- you only get 4 rows to the wgate.
    Better use the field-set makro.
    AT PBO
    module rfc_fieldset_ccode.
    INCLUDE PBO
    module rfc_fieldset_ccode.
    data: ls_ccode like line of it_ccode.
    data: i type i.
    I'll use deeper structure
      perform rfc_fieldset_ccode.
    but you also can define the code here
    loop at it_ccode into ls_ccode.
         add 1 to i.
         field-set 'INDX'       i i .
         field-set 'BUKRS'   i   ls_ccode-bukrs .
    endloop.
    endmodule.
    Why to do this? The field-set makro (don't forget to include AVWRTCXM at your topinclude) will send the data from internal table via AGATE to the WGATE.
    Here now you can define the dropdown list:
    srivallika, i'll hope i could help you a little. If you have any questions, you won't bother me. ASK!
    With best regards
    Thorsten

  • Update out_tab data in editable ALV

    Hi,
    I am working on editable ALV using oops. I want to insert the data into database tables after user insert the data in ALV based on the application tool bar button action.
    How to refresh the data in out_tab, If user click the application tool bar button then I need to save the ALV grid data in database table.
    Please give me the valuable suggestions.
    - Rayudu

    solved my self

  • Hi gurus in ALV how to edit the fields on out put list

    hi gurus in ALV how to edit the fields on out put list

    hi
    REPORT ZSB_ALV_EDITABLE_SAMPLE.
    TABLES: SFLIGHT.
    DATA: gc_container TYPE scrfname VALUE 'LIST_AREA',
    gc_custom_container TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
    gc_grid TYPE REF TO CL_GUI_ALV_GRID,
    gs_layout TYPE LVC_S_LAYO,
    gt_fieldcat TYPE LVC_T_FCAT.
    DATA: ok_code TYPE SY-UCOMM.
    DATA: gt_outtab TYPE TABLE OF SFLIGHT.
    *DYNPRO
    CALL SCREEN 100.
    *& Module STATUS_0100 OUTPUT
    MODULE STATUS_0100 OUTPUT.
    SET PF-STATUS '100'.
    CREATE OBJECT gc_custom_container
    EXPORTING
    container_name = gc_container
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    create_error = 3
    lifetime_error = 4
    lifetime_dynpro_dynpro_link = 5
    OTHERS = 6.
    CREATE OBJECT gc_grid
    EXPORTING
    i_parent = gc_custom_container
    EXCEPTIONS
    error_cntl_create = 1
    error_cntl_init = 2
    error_cntl_link = 3
    error_dp_create = 4
    OTHERS = 5 .
    PERFORM prepare_field_catalog CHANGING gt_fieldcat .
    PERFORM prepare_layout CHANGING gs_layout .
    PERFORM get_alv_display.
    ENDMODULE.
    *& Module USER_COMMAND_0100 INPUT
    MODULE USER_COMMAND_0100 INPUT.
    OK_CODE = SY-UCOMM.
    IF OK_CODE = 'BACK'.
    SET SCREEN 0.
    LEAVE SCREEN.
    CLEAR OK_CODE.
    ENDIF.
    ENDMODULE.
    FORM prepare_field_catalog CHANGING gt_fieldcat TYPE LVC_T_FCAT.
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
    I_BUFFER_ACTIVE =
    I_STRUCTURE_NAME = 'SFLIGHT'
    I_CLIENT_NEVER_DISPLAY = 'X'
    I_BYPASSING_BUFFER =
    I_INTERNAL_TABNAME =
    CHANGING
    ct_fieldcat = gt_fieldcat[].
    ENDFORM.
    FORM prepare_layout changing p_gs_layout TYPE lvc_s_layo.
    p_gs_layout-zebra = 'X'.
    p_gs_layout-edit = 'X'.
    ENDFORM. " prepare_layout
    FORM get_alv_display .
    SELECT * FROM sflight INTO TABLE gt_outtab UP TO 10 ROWS.
    CALL METHOD gc_grid->set_table_for_first_display
    EXPORTING
    I_STRUCTURE_NAME = 'SFLIGHT'
    IS_LAYOUT = gs_layout
    CHANGING
    it_outtab = gt_outtab
    IT_FIELDCATALOG = gt_fieldcat
    ENDFORM. " get_alv_display

  • How to make cell editable alv in WebDynpro for ABAP?

    I make Column editable ALV.(See under source code)
    But I can't make Cell editable ALV.
    How to make Cell editable ALV in WebDynpro for ABAP?
    and..how to get changed data?
    DATA: l_value TYPE REF TO cl_salv_wd_config_table.
      l_value = l_ref_interfacecontroller->get_model( ).
    * { EDITABLE
      DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings,
            lr_input_field     TYPE REF TO cl_salv_wd_uie_input_field,
            lr_column          TYPE REF TO cl_salv_wd_column.
      lr_column_settings ?= l_value.
      lr_column = lr_column_settings->get_column( 'TOTAL_COUNT' ).
      CREATE OBJECT lr_input_field
        EXPORTING
          value_fieldname = 'TOTAL_COUNT'.
      lr_column->set_cell_editor( lr_input_field ).
      DATA: lr_table_settings TYPE REF TO if_salv_wd_table_settings.
      lr_table_settings ?= l_value.
      lr_table_settings->set_read_only( abap_false ).

    the code seems to be correct....but where are you writing it?
    put the code in the wddoinit method and it should work.
    have a look at this article..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3133474a-0801-0010-d692-81827814a5a1

  • How to make a filed mandatory of an editable ALV

    Hi Guru,
    Pls tell me how to make a filed mandatory of an editable ALV so that while a new records is inserted the mandatory fields are filled.

    hi,
    You can make fields as mandatory fields using data changed event.
    validate the entered or blank entries of a column in data changed event and call method 'add_protocol_entry' to raise errors.
    Check the program : BCALV_EDIT_03 & BCALV_EDIT_04for more details.
    Refer to this link....
    about field in alv
    obligatory field editable in ALV

  • Published directly to YouTube - edited footage - How do I update?

    I've used imovie 08 to publish directly to YouTube which works very well though decided I wanted to edit and update the file, and read the short info in their help files regarding further edits to files which states:
    If you make further edits to your project in iMovie after you’ve published it to YouTube, the title bar indicates that your project is out of date and needs to be rendered again. Old versions of the movie are deleted and replaced by new ones when you render it again.
    If you want to save the previous version of your movie before you edit it, you can do so by exporting it to the Finder.
    Not exactly very helpful, so I edited footage of said file and clicked on Share > YouTube using the exact same file name, description and keywords, only to find that I had posted another copy onto YouTube.
    Can anyone explain how to update (render) the footage already published to YouTube rather than creating a new file???
    Any help on this is much appreciated!

    Connect to iTunes on the computer you usually Sync with and “ Check for Updates “...
    See the Using iTunes Section Here...
    How to update your iPhone, iPad, or iPod touch
    The Current iOS version of iOS 6.1.3 will be Installed.

  • How to create editable ALV grid/list

    Hi,
    I want to create editable ALV grid/list so that user can modify the data in the ALV.
    And when user presses save button data will get saved in Z table.
    I dont know how to create editable ALV so could anybody please help me regarding this?
    Thanks & regards,
    Sameer Dhuke

    HI
    check the demo programs BCALV_FULLSCREEN_GRID_EDIT
    BCALV_GRID_EDIT
    BCALV_TEST_GRID_EDIT_01
    BCALV_TEST_GRID_EDITABLE
    REUSE_ALV_GRID EDITABLE
    ALV Grid editable fields
    Just to make things a bit easy
    In the layout,there is a property called edit, make it 'X' for the particular field whichever you want to make editable.
    Hope this helps,
    Suruchi
    Message was edited by:
            Suruchi Mahajan

Maybe you are looking for

  • RGB Stereo Receiver/Monitor TV connect to Macbook Pro?

    I recently acquired a RGB Stereo Receiver/Monitor TV circa 1985 for free. Is there a way to connect to my Macbook Pro and watch DVDs on or stream movies onto the tv screen? Any help would be wonderful. Thanks!

  • Question Mark in Blue Box with Pictures

    I recently have had a problem viewing pictures on myspace. It will show me some but not all and the pictures that don't come up have a Blue Square with a Question Mark in it. I have searched the whole discussions page but none of the answers have hel

  • Oracle Forms List Items :not populating list Dynamically using select Query

    Hi , I need to create a list item. And the values to be populated in the list are from Database but I'm unable to populate from database. Please help me out how to populate the values from database. In Property Pallete we have Elements in List under

  • VBA Macro to Set Current View

    Does anybody know what command I could use in VBA to change the Current View in Excel for BPC 7M? Edited to add: I'm aware of the MNU_eTOOLS_MEMBERSELECTOR_x macro.  What I'm looking for is code to change the current view systematically without going

  • Xmonad up key

    I recently started using xmonad and I have an issue that I cannot manage to resolve. For some reason, when I use xmonad, my up arrow key no longer functions. It worked fine when I was originally using xmonad with KDM, but I've since started using jus