The 'Save' button, I am assuming is on the standard report screen? If so then the event is occuring outside of the ALV grid and does not trigger any grid events.
In my User command routines (called during PAI), I do the following:
Data: l_Leave Type Boolean, l_Valid Type Boolean, lt_Original_Display Type Display_Table. * * Save a copy of the display table so we can check to see if a refresh is * needed. * lt_Original_Display = es_Screen_0100-Display_Table. Call Method es_Screen_0100-Alv_Grid->Check_Changed_Data Importing e_Valid = l_Valid. * * Only do this if there is no error screen. * If l_Valid = Abap_True. Case es_Screen_0100-Ok_Code.
So, I am basically doing the same as yourself.
You have defined event handlers for Data_Changed and Data_Changed_Finished ?
Regards
Rich