ALV SAVE changed data
Hi,
I need to save only changed data in my ALV. I created a button SAVE and have an event handler for this data. SAVE action should only be triggered when user presses this button.
ON_DATA_CHECK method is what I need since I can pull out changed content from R_PARAM but this action gets executed only when I press on Filter link, etc. Is there a way to bind it to my custom button?
I can execute the following code
DATA: l_ref_interfacecontroller TYPE REF TO iwci_salv_wd_table .
* Check for changes
l_ref_interfacecontroller = wd_this->wd_cpifc_alv( ).
l_ref_interfacecontroller->data_check( ).
however, data_check method won't be executed if any data changed but I want to executed regardless of changes.
Any ideas?
Bottom line is that I would like to execute action ON_DATA_CHECK in my SAVE method.
Thanks.
If you look on the following lokn, there is the tutorial "Editing ALV in Web Dynpr for ABAP".
There is described how to save the data. But in the implementation of On_data_check on page 8 and 9 the code detail for saving the data to database is missing, because the flight model shall not be changed.
Would the missing code be the solution? What is the code?
Thanks!!!
Best Regards Ingmar
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3133474a-0801-0010-d692-81827814a5a1
Similar Messages
-
Save changed data in editable ALV
Hi experts,
I have a problem with an editable ALV. I get data out of a table and show it with my web dynpro application in an alv. Now I made the alv editablke, so that I can change the content of each cell in the alv in the web browser. But how will this changed data be saved? I want that it will be changed after ENTER or clicking a save button. I have a button, but all I tried yet brought no success.
Which code has to be in which method? Have I to do something eith the context. How can I reach that the changed content is also changed in the table, so that after reload the web dynpro application, the changed content is shown?
It would be nice if you had an answer with code examples and the exact place where to put it in, because I am very new to ABAP and WD4A.
Thanks a lot!
Best Regards
IngmarIf you look on the following lokn, there is the tutorial "Editing ALV in Web Dynpr for ABAP".
There is described how to save the data. But in the implementation of On_data_check on page 8 and 9 the code detail for saving the data to database is missing, because the flight model shall not be changed.
Would the missing code be the solution? What is the code?
Thanks!!!
Best Regards Ingmar
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3133474a-0801-0010-d692-81827814a5a1 -
Editable ALV -- OO -- Changed data capture
Hi,
I'm using an editable ALV to display the output. Output has a field for the user to enter comments. When the user enters the comments and presses "ENTER" key or clicks somewhere else on the ALV itself, the event DATA_CHANGED or DATA_CHANGED_FINISHED gets triggered and I'm able to capture the changed data and update the DB table.(I have a "SAVE" button on the menu bar which when pressed will update the ALV values into DB table.)
However, I need to capture this changed data even if the user does not press the "ENTER" key or clicks somewhere else on the ALV, but just presses the "SAVE" button. Please let me know if there is any way to do this.
Thanks,
Raj.Hi,
in your program check the user-command if 'SAVE' then write the following code in it
"Call the method check_changed_data to update the internal table with changed data.
DATA: lv_valid TYPE xfeld,
lv_refresh TYPE xfeld.
CALL METHOD gv_alv_grid->check_changed_data
IMPORTING
e_valid = lv_valid
CHANGING
c_refresh = lv_refresh.
" to refresh alv
CALL METHOD gv_alv_grid->refresh_table_display
EXCEPTIONS
finished = 1
OTHERS = 2.
by this way it the internal table will get the changed data and then you can update it in the DB and also after updating show the ALV since it is refreshed it will now show the changed data.
Hope it helps you,
Regards,
Abhijit G. Borkar -
ALV CHECK CHANGED DATA WITH REUSE_ALV_GRID_DISPLAY
HELLO EVERY-ONE.
I have a question that how to check changed data in ALV. I know we can use CHECK_CHANGE_DATA Method in OO, and how to check it in REUSE_ALV_GRID_DISPLAY <b>without double click</b> ?Try this code , it will give the solution that has been solved with funtion module
REPORT zalvprg1.
TYPE-POOLS: slis.
TABLES: ekko.
DATA : it_list_top_of_page TYPE slis_t_listheader,
it_list_end_of_page TYPE slis_t_listheader,
it_events TYPE slis_t_event,
wa_line TYPE slis_listheader,
wa_event TYPE slis_alv_event.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv ,
wa_fieldcat TYPE slis_fieldcat_alv.
TYPES :BEGIN OF ty_ekko,
ebeln TYPE ebeln,
bukrs TYPE bukrs,
ernam TYPE ernam,
bsart TYPE esart,
waers TYPE waers,
END OF ty_ekko.
TYPES :BEGIN OF ty_ekpo,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
matnr TYPE matnr,
werks TYPE werks,
menge TYPE bstmg,
END OF ty_ekpo.
TYPES :BEGIN OF ty_marc,
matnr TYPE matnr,
werks TYPE werks_d,
tranz TYPE tranz,
herbl TYPE herbl,
END OF ty_marc.
TYPES : BEGIN OF ty_show,
old TYPE i,
new(10) TYPE c,
END OF ty_show.
TYPES : BEGIN OF ty_final,
ebeln TYPE ebeln,
bukrs TYPE bukrs,
ernam TYPE ernam,
bsart TYPE esart,
waers TYPE waers,
matnr TYPE matnr,
werks TYPE werks,
menge TYPE bstmg,
END OF ty_final.
DATA: it_ekko TYPE TABLE OF ty_ekko,
it_ekpo TYPE TABLE OF ty_ekpo,
it_marc TYPE TABLE OF ty_marc,
it_final TYPE TABLE OF ty_final,
it_show TYPE TABLE OF ty_show WITH HEADER LINE,
wa_marc TYPE ty_marc,
wa_ekko TYPE ty_ekko,
wa_ekpo TYPE ty_ekpo,
wa_show TYPE ty_show,
wa_final TYPE ty_final.
SELECT-OPTIONS: so_ebeln FOR ekko-ebeln.
START-OF-SELECTION.
PERFORM data_fetch.
PERFORM alv_display.
END-OF-SELECTION.
*& Form data_fetch
text
--> p1 text
<-- p2 text
FORM data_fetch .
SELECT ebeln
bukrs
ernam
bsart
waers
FROM ekko
INTO TABLE it_ekko
WHERE ebeln IN so_ebeln.
SELECT ebeln
ebelp
matnr
werks
menge
FROM ekpo
INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_ekko
WHERE ebeln = it_ekko-ebeln.
LOOP AT it_ekko INTO wa_ekko.
wa_final-ebeln = wa_ekko-ebeln.
wa_final-bukrs = wa_ekko-bukrs.
wa_final-ernam = wa_ekko-ernam.
wa_final-bsart = wa_ekko-bsart.
wa_final-waers = wa_ekko-waers.
READ TABLE it_ekpo INTO wa_ekpo WITH KEY ebeln = wa_ekko-ebeln.
IF sy-subrc EQ 0.
wa_final-matnr = wa_ekpo-matnr.
wa_final-werks = wa_ekpo-werks.
wa_final-menge = wa_ekpo-menge.
ENDIF.
APPEND wa_final TO it_final.
ENDLOOP.
ENDFORM. " data_fetch
*& Form alv_display
text
--> p1 text
<-- p2 text
FORM alv_display .
REFRESH it_fieldcat.
PERFORM field_cat USING 'EBELN' 'PURCHASE ORDER NO'.
PERFORM field_cat USING 'BUKRS' 'COMPANY CODE'.
PERFORM field_cat USING 'ERNAM' 'USERNAME CREATED'.
PERFORM field_cat USING 'BSART' 'DOCUMENT TYPE'.
PERFORM field_cat USING 'WAERS' 'CURRENCY'.
PERFORM field_cat USING 'MATNR' 'MATERIAL NO'.
PERFORM field_cat USING 'WERKS' 'PLANT '.
PERFORM field_cat USING 'MENGE' 'QUANTITY'.
CLEAR it_list_top_of_page.
PERFORM f009_list_header .
CLEAR it_list_end_of_page.
PERFORM f009_list_footer.
PERFORM f012_grid_function_module TABLES it_final USING it_fieldcat.
ENDFORM. " alv_display
**& Form f009_list_header
text
FORM f009_list_header.
**..... Header detail for ALV
wa_event-name = text-001. "TOP_OF_PAGE
wa_event-form = text-002. "F010_TOP_OF_PAGE
APPEND wa_event TO it_events.
CLEAR wa_event.
CLEAR wa_line.
wa_line-typ = text-003. "S
wa_line-key = text-004. "9 - BLOCKER REPORT
wa_line-info = text-005.
APPEND wa_line TO it_list_top_of_page.
CLEAR wa_line.
ENDFORM. "f009_list_header
*& Form f010_top_of_page
text
FORM f010_top_of_page.
**......The form 'F010_TOP_OF_PAGE' cannot be called directly
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list_top_of_page.
ENDFORM. "f010_top_of_page
*& Form field_cat
text
-->W_FIELD text
-->W_COL text
FORM field_cat USING w_field
w_col.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = w_field.
wa_fieldcat-seltext_l = w_col.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. " field_cat
*& Form f012_grid_function_module
text
FORM f012_grid_function_module TABLES w_tab USING w_fcat TYPE any.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = w_fcat
i_callback_pf_status_set = 'F010_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_events = it_events[]
TABLES
t_outtab = w_tab
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc IS NOT INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "f011_grid_function_module
*& Form f009_list_footer
text
FORM f009_list_footer.
**..... Footer detail for ALV
CLEAR wa_event.
CLEAR wa_line.
wa_event-name = text-007. "BOTTOM_OF_PAGE
wa_event-form = text-008. "F010_BOTTOM_OF_PAGE
APPEND wa_event TO it_events.
wa_line-typ = text-009. "S
wa_line-key = text-010. "9 - BLOCKER REPORT
wa_line-info = text-011.
APPEND wa_line TO it_list_end_of_page.
CLEAR wa_line.
ENDFORM. "f009_list_footer
*& Form f010_top_of_page
text
FORM f010_bottom_of_page.
**......The form 'F010_TOP_OF_PAGE' cannot be called directly
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list_end_of_page.
ENDFORM. "f010_end_of_page
FORM user_command *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'MATNR'.
SET PARAMETER ID 'MAT' FIELD rs_selfield-value.
SET PARAMETER ID 'WRK' FIELD '1000'. "<- Your plant here
CALL TRANSACTION 'MD04' AND SKIP FIRST SCREEN.
call transaction 'MM02' and skip first screen.
ENDIF.
IF rs_selfield-fieldname = 'WERKS'.
PERFORM disp_marc USING rs_selfield.
ENDIF.
WHEN '&CHANGE'.
IF rs_selfield-fieldname = 'MENGE'.
PERFORM disp_alter USING rs_selfield.
ENDIF.
ENDCASE.
ENDFORM. "callback_ucomm
*& Form f010_pf_status
text
-->RT_EXTAB text
FORM f010_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZS_ALV'.
ENDFORM. "F010_PF_STATUS
*ENDFORM. "dialog
*& Form f002_FIELDCAT
text
-->P_0512 text
-->P_0513 text
-->P_0514 text
FORM f002_fieldcat USING w_field
w_col
w_change .
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = w_field.
wa_fieldcat-seltext_l = w_col.
wa_fieldcat-outputlen = 15.
wa_fieldcat-edit = w_change.
wa_fieldcat-input = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. " f002_FIELDCAT
*& Form disp_marc
text
-->P_W_SELFIELD text
FORM disp_marc USING rs_selfield TYPE slis_selfield.
SELECT matnr
werks
tranz
FROM marc INTO TABLE it_marc
WHERE werks = rs_selfield-value.
REFRESH it_fieldcat.
PERFORM field_cat USING 'MATNR' 'MATERIAL NUMBER'.
PERFORM field_cat USING 'WERKS' 'PLANT '.
PERFORM field_cat USING 'TRANZ' 'INTER-OPERATION TIME'.
PERFORM field_cat USING 'HERBL' 'STATE OF MANUFACTURE'.
PERFORM f012_grid_function_module TABLES it_marc USING it_fieldcat .
IF sy-subrc NE 0.
MESSAGE 'MATERIAL DETAILS' TYPE 'S'.
ENDIF.
ENDFORM. " disp_marc
*& Form disp_alter
text
-->P_RS_SELFIELD text
FORM disp_alter USING rs_selfield TYPE slis_selfield.
DATA:l_var(10) TYPE c.
REFRESH : it_fieldcat,
it_show.
it_show-old = rs_selfield-value.
CLEAR it_show-new.
APPEND it_show TO it_show.
PERFORM field_cat USING 'OLD' 'OLD QTY (MENGE)'.
PERFORM f002_fieldcat USING 'NEW' 'NEW QTY (MENGE)' 'X'.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_title = 'CHANGES IN MATERIAL'
i_tabname = 'IT_SHOW'
it_fieldcat = it_fieldcat
i_callback_program = sy-repid
TABLES
t_outtab = it_show
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.
l_var = it_show-new.
READ TABLE it_final INDEX rs_selfield-tabindex INTO wa_final.
wa_final-menge = l_var.
MODIFY it_final INDEX rs_selfield-tabindex FROM wa_final TRANSPORTING menge .
PERFORM alv_display.
ENDFORM. " disp_alter
Reward points for the same
Regards,
Shanmuga perumal.L -
How to save changed data from a input field to the source structure
Hi,
I have a small problem with the onChange event with HTML input fields.
When changing a value of a input field or by creating a new value for a field the OnChange event is called by moving away the mouse pointer....
get_form_field( 'field_name' ).
But is it possible to write back the new value in the source field ls_screenstructure_field1 without using the OnInputProcessing?
I ask because my application´s structures have a lot of fields that should be filled and changed by input fields.
It´s not comfortable to request every new value with .. = request->get_form_field(... .
Thanks for helping.
Cheers,
Andréyou wanted a onchange for a htmlb:inputfield which would also trigger server event. try the following code.
<htmlb:inputField id = "test"
alignment = "LEFT"
size = "6"
required = "TRUE"
doValidate = "TRUE"
type = "INTEGER"
/>
<bsp:htmlbEvent id="myid" onClick="myonclick" name="ValueChanged" />
<script for="test" event=onchange type="text/javascript">
alert(this.value);
ValueChanged();
</SCRIPT>
if the value in the inputfield is changed it would trigger a alert at the client side and also trigger a server event. now you can caputre the value in oninputprocessing.
Hope this helps.
do let us know if you need help in how to capture this value in oninputprocessing.
Regards
Raja -
How to save only changed data of ALV in a local table ?
Hi everyone,
I created and alv with cl_gui_alv_grid, and I made it editable
Now I need that when I click on a button only the changed data to be saved on a local (internal) table
Is there a way I can do that ?
I tried with methods like check_changed_data() but they don't return a table like that
Regards,
Dren Selimiok than
class lcl_event_receiver definition.
methods:
* Handle Data Changed
handle_data_changed
for event data_changed of cl_gui_alv_grid
importing er_data_changed,
endclass. "lcl_event DEFINITION
class lcl_event_receiver implementation.
method handle_data_changed.
data: ls_good type lvc_s_modi.
loop at er_data_changed->mt_good_cells into ls_good.
read table gt_table into gs_table index ls_good-index. "is your changed row in ALV
ls_good-fieldname "is your changed field
if ls_good-fieldname eq 'MATNR'.
gs_table-matnr " is your changed field old value.
endif. "i couldn't find a dynamic solution for old value
"if you do not have so many columns in alv you can use this solution
ls_good-value "is your changed field new value
append these values to your changed field table.
modify gt_table from gs_table index ls_good-index.
endloop.
call method g_alvgrid->refresh_table_display.
endmethod.
endclass. -
Save all data in alv(changed and unchanged)
Hello,
I have this weird situation. Suppose my alv has three columns. Its initial data is:
1 2 3
Now I add one more row into it, So my ALV looks like this now:
1 2 3
4 5 6
But now when I save the data only 4 5 6 is displayed and 1 2 3 is lost....
I have also tried using check_changed_data
Regards
ArchitHi Archit,
Refer std program:
<b>BCALV_EDIT_04</b>
Reward points if this Helps.
Manish -
ALV Grid: how to save changes made in an editable Grid
Hi,
How to save changes made bu the user in any of the editable cells in a ALV Grid?
Regards,
deb.Hi,
If you are using the FM look at the following example code...
data: LC_GLAY TYPE LVC_S_GLAY.
LC_GLAY-EDT_CLL_CB = 'X'.<<<<<------
gt_layout-zebra = 'X'.
gt_layout-detail_popup = 'X'.
gt_layout-colwidth_optimize = 'X'.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = i_repid
i_callback_user_command = 'USER_COMMAND1'
it_fieldcat = header
is_layout = gt_layout
i_callback_top_of_page = 'TOP-OF-PAGE1'
i_grid_title = text-h17
it_sort = gt_sort[]
i_default = 'X'
i_save = 'U'
is_variant = gt_variant
it_events = gt_events
I_GRID_SETTINGS = LC_GLAY<<<<<<------
TABLES
t_outtab = itab.
clear itab.
Form USER_COMMAND1
FORM USER_COMMAND1 USING u_ucomm LIKE sy-ucomm
us_selfield TYPE slis_selfield."#EC CALLED
case u_ucomm.
when '&DATA_SAVE'.<<<<<<<<----
This will come after the data was EDITTED and when SAVE was clicked by user in output scren.
Here now in the final internal table(ITAB) you can find the data changed in EDIT mode.
After this you can do manipulation what ever you want.
Thanks.
If this helps you reward with points. -
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,
venuThe 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[]. -
Getting changed data back from editable ALV...
Hello Gurus,
I am working on ALV using standard ALV function module REUSE_ALV_GRID_DISPLAY. Now, To make the fields editale, I am using flag EDIT = 'X' in field catalog. This working fine.
Now, when the data is changed in ALV grid and user clicks on SAVE button that I have programmed in i_callback_usercommand, how can I get the changed data back from editable ALV so that I can change data in custom table ?
Please help.
Regards,
Rajesh.I see that the method CHECK_CHANGED_DATA is used. I am also doing it as follows. But how do I get the changed data back in table. There are no table parameters in
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
DATA: REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
IF REF_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.
ENDIF.
IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
ENDIF.
Please guide -
How to get changed data in ALV in Web Dynpro for ABAP
METHOD on_data_check .
DATA:
node_spfli TYPE REF TO if_wd_context_node,
node_sflight TYPE REF TO if_wd_context_node,
itab_sflight2 TYPE if_display_view=>elements_sflight.
node_spfli = wd_context->get_child_node( name = if_display_view=>wdctx_spfli ).
node_sflight = node_spfli->get_child_node( name = if_display_view=>wdctx_sflight ).
CALL METHOD node_sflight->get_static_attributes_table
IMPORTING
table = itab_sflight2.
this code is ..get all data(changed and not changed)
but i want get changed data only, not all data.
how to get changed data?
Edited by: Ki-Joon Seo on Dec 27, 2007 6:04 AMHi,
To get only the changed data in the ALV grid of a WD, you need to capture the "ON_DATA_CHECK" of the ALV grid.
To this please do the following in the ALV initialization of the ALV table settings :
lr_table_settings->set_data_check(
IF_SALV_WD_C_TABLE_SETTINGS=>DATA_CHECK_ON_CELL_EVENT ).
You may also do this:
lr_table_settings->set_data_check( IF_SALV_WD_C_TABLE_SETTINGS=>DATA_CHECK_ON_CHECK_EVENT)
The above two ways would depend on when do you need to check for the changed data. If you want to check the data as soon as it is entered, then use the first method. Else, use the second method.
You need to register an EVENT HANDLER for this event.(You may do this in your VIEW or Component Controller).
In this Event handler, you would find an importing parameter R_PARAM which is a ref type of IF_SALV_WD_TABLE_DATA_CHECK.
The attribute T_MODIFIED_CELLS of this interface IF_SALV_WD_TABLE_DATA_CHECK will contain the modified cells of the ALV with the old & new values. -
I am being asked to upgrade to iCloud Drive but indications are that I will not be able to access up to date details on any of my documents on my Mac without going into iCloud first. Have I got this interpretation right or can I save changes to access the new versions on my iMac?
That is Apple's statement:
Using iWork with iCloud Drive - Apple Support
Options for iWork customers
You can upgrade to iCloud Drive today if you want to keep your documents up to date in iOS 8 and OS X Yosemite, and you want to use the iWork web apps on iCloud.com and the Share via iCloud feature.
You can upgrade to iCloud Drive later if you want to keep your documents up to date with your apps on iOS 7 or earlier and OS X Mavericks or earlier.
Upgrade to iCloud Drive today
To access the most recent versions of your documents from a Mac with OS X Mavericks or earlier, you’ll need to go to iCloud.com and access Pages, Numbers, and Keynote from there. On a PC, you can install iCloud for Windows and set up iCloud Drive.
If you upgrade to iCloud Drive now:
Your documents will keep up to date across devices with iOS 8, Macs with OS X Yosemite, PCs with iCloud for Windows, and iCloud.com.
Your documents will no longer keep up to date on devices with iOS 7 and Macs with OS X Mavericks or earlier.
You’ll be able to use the iWork web apps on iCloud.com.
You’ll be able to use the Share via iCloud feature with iOS 8, OS X Yosemite, and iCloud.com.
Documents you previously shared via iCloud will be accessible to collaborators.
Upgrade to iCloud Drive later
Note that until you upgrade your iCloud account to iCloud Drive, you won’t be able to use the iWork web apps on iCloud.com or the Share via iCloud feature. If you don’t upgrade to iCloud Drive at this time:
Your documents will keep up to date across devices with iOS 8 and across devices with iOS 7 and Macs with OS X Mavericks or earlier.
You won’t be able to use the iWork web apps on iCloud.com.
You won’t be able to use the Share via iCloud feature.
Documents you previously shared via iCloud won’t be accessible to collaborators until you upgrade to iCloud Drive. -
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 resultHi 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 -
How to change date format in alv report
hi ,
i wanna change date format which is in yyyy.mm.dd to mm/dd/yyyy in alv report.
plz advise.
thanks
sudheerHi sudheer,
There is no direst Fm fro that.
But u can follw the below way. it worked for me. kindly chk it.
[code]DATA: V_DATE_IN(10) TYPE C,
V_DATE_SAP TYPE SY-DATUM.
V_DATE_IN = '01.01.2005.'.
CONCATENATE V_DATE_IN+6(4) "<--for Year
V_DATE_IN+3(2) "<--for month
V_DATE_IN+0(2) "<--for Day
INTO V_DATE_SAP.
now V_DATE_SAP will have value like 20060101.
now use.
CONVERSION_EXIT_PDATE_OUTPUT Conversion Exit for Domain GBDAT: YYYYMMDD -> DD/MM/YYYY[/code]
regards
anver
<b><i>if hlped pls mark points</i></b> -
Switch data block - Do you want to save changes ?
As soon as I choose a record from my love "ORDERS_LOV", I simply want to display a new canvas and switch data blocks. but why does the system keep asking me to save changes when I choose a record ???
Here's my code:
IF SHOW_LOV('ORDERS_LOV') THEN
HIDE_WINDOW('CUSTOMER_SERVICE');
SHOW_VIEW('ORDERS_CANVAS');
GO_BLOCK('ORDERS');
GO_ITEM('orders.order_id');
Execute_Query;
ELSE
MESSAGE('No order found for this customer');
END IF;why does the system keep asking me to save changes when I choose a record ???Because the Execute_Query causes the 'Orders' block to clear, and at some prior time you have
either entered a new record into the block, or else your prior Execute_Query caused a Post-Query
trigger to run that set values in items that cause the record status go change from QUERY to CHANGED.
In other words, the status of your 'Orders' block is 'CHANGED', and not 'NEW' or 'QUERY'.
Maybe you are looking for
-
How do I switch my 3G account from one iPad to another iPad?
I have an iPad 2 with the 1GB Verizon 3G service. I have to send it in for a replacement model due to a hardware error. What do I need to do to get my 3G service running on the new iPad? Do I need to call Verizon and cancel or wait until I have the n
-
IDoc posted in R/3 but data for Date field has not generated.
Hi Experts This is JDBC to IDoc scenarion. Source: MS SQL Server Date Data Type: smalldatetime Date field Format: yyyy-MM-dd hh:mm:ss --> example: 2009-11-13 00:00:00 XI Mapping: Source Date --> Transformation --> Target Date Transformation: yyyy-MM-
-
Recovered ipod nano won't turn on/off
Our previous laptop died but we were able to transfer over itunes to the new laptop. itunes is working on the new laptop. I went to add holiday music to the ipod (first time plugging it into the new laptop) and when I plugged it in I got a message th
-
Possible bug: validation errors raise at table row and current row is lost
Hi everybody, I've just implemented a simple test case against the HR schema: 1. Create Business Components from Tables: choose only Employees. That will generate Employees EO, EmployeesView VO, associations, viewlinks and AppModule with the followin
-
ITunes credit card issue.
Recently changed Apple ID, then installed latest iOS on my iPad. Ever since I have been unable to purchase anything on the App Store etc. every time I click to buy item I get a message to contact support. Says it cannot connect to iTunes Store even