edit alv user commonds
Well i going to cover all senario below topic
Reports : Alv Reports, Classical Report And interactive Reports
Forms : Scripts and Smart Forms Adove Forms
Interface : RFC BAPI ALE/IDCS
Converstion : BDC LSMW BAPI
Enhancement : User-EXITS BADI, Customer Exit
FORM display_item USING ucomm TYPE sy-ucomm
selfield TYPE slis_selfield. "#EC CALLED
******************************************************** this code captured the change request in alv reports ***********
DATA: gd_repid LIKE sy-repid,
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.
***************************************************************************************************************************
DATA: lt_final TYPE STANDARD TABLE OF ty_final,
ls_final TYPE ty_final.
CASE ucomm.
WHEN 'UPDATE'.
LOOP AT gt_final INTO gs_final WHERE check = 'X'.
UPDATE zvbak_table SET
vbeln = gs_final-vbeln
ernam = gs_final-ernam
trvog = gs_final-trvog
auart = gs_final-auart
augru = gs_final-augru
lifsk = gs_final-lifsk
faksk = gs_final-faksk
WHERE vbeln = gs_final-vbeln.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE text-032 TYPE 'I'.
ELSE.
MESSAGE text-033 TYPE 'I'.
ENDIF.
WHEN '&DATA_SAVE'.
LOOP AT gt_final INTO gs_final WHERE check = 'X'.
UPDATE zvbak_table SET
vbeln = gs_final-vbeln
ernam = gs_final-ernam
trvog = gs_final-trvog
auart = gs_final-auart
augru = gs_final-augru
lifsk = gs_final-lifsk
faksk = gs_final-faksk
WHERE vbeln = gs_final-vbeln.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE text-032 TYPE 'I'.
ELSE.
MESSAGE text-033 TYPE 'I'.
ENDIF.
WHEN 'SELECTALL'.
LOOP AT gt_final INTO gs_final.
gs_final-check = 'X'. " ' '.
MODIFY gt_final FROM gs_final TRANSPORTING check.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
WHEN 'DESELECT'.
LOOP AT gt_final INTO gs_final.
gs_final-check = ' '. " ' '.
MODIFY gt_final FROM gs_final TRANSPORTING check.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
WHEN 'UPLODEDATA'.
lt_final = gt_final.
DELETE lt_final WHERE check <> 'X'.
PERFORM uplode TABLES lt_final.
IF gt_sucess IS NOT INITIAL.
PERFORM display_sucess TABLES gt_sucess.
CLEAR gt_sucess.
ENDIF.
IF gt_error IS NOT INITIAL.
PERFORM display_error TABLES gt_error.
CLEAR gt_error.
ENDIF.
ENDCASE.
ENDFORM. "display_item
Reports : Alv Reports, Classical Report And interactive Reports
Forms : Scripts and Smart Forms Adove Forms
Interface : RFC BAPI ALE/IDCS
Converstion : BDC LSMW BAPI
Enhancement : User-EXITS BADI, Customer Exit
FORM display_item USING ucomm TYPE sy-ucomm
selfield TYPE slis_selfield. "#EC CALLED
******************************************************** this code captured the change request in alv reports ***********
DATA: gd_repid LIKE sy-repid,
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.
***************************************************************************************************************************
DATA: lt_final TYPE STANDARD TABLE OF ty_final,
ls_final TYPE ty_final.
CASE ucomm.
WHEN 'UPDATE'.
LOOP AT gt_final INTO gs_final WHERE check = 'X'.
UPDATE zvbak_table SET
vbeln = gs_final-vbeln
ernam = gs_final-ernam
trvog = gs_final-trvog
auart = gs_final-auart
augru = gs_final-augru
lifsk = gs_final-lifsk
faksk = gs_final-faksk
WHERE vbeln = gs_final-vbeln.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE text-032 TYPE 'I'.
ELSE.
MESSAGE text-033 TYPE 'I'.
ENDIF.
WHEN '&DATA_SAVE'.
LOOP AT gt_final INTO gs_final WHERE check = 'X'.
UPDATE zvbak_table SET
vbeln = gs_final-vbeln
ernam = gs_final-ernam
trvog = gs_final-trvog
auart = gs_final-auart
augru = gs_final-augru
lifsk = gs_final-lifsk
faksk = gs_final-faksk
WHERE vbeln = gs_final-vbeln.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE text-032 TYPE 'I'.
ELSE.
MESSAGE text-033 TYPE 'I'.
ENDIF.
WHEN 'SELECTALL'.
LOOP AT gt_final INTO gs_final.
gs_final-check = 'X'. " ' '.
MODIFY gt_final FROM gs_final TRANSPORTING check.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
WHEN 'DESELECT'.
LOOP AT gt_final INTO gs_final.
gs_final-check = ' '. " ' '.
MODIFY gt_final FROM gs_final TRANSPORTING check.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
WHEN 'UPLODEDATA'.
lt_final = gt_final.
DELETE lt_final WHERE check <> 'X'.
PERFORM uplode TABLES lt_final.
IF gt_sucess IS NOT INITIAL.
PERFORM display_sucess TABLES gt_sucess.
CLEAR gt_sucess.
ENDIF.
IF gt_error IS NOT INITIAL.
PERFORM display_error TABLES gt_error.
CLEAR gt_error.
ENDIF.
ENDCASE.
ENDFORM. "display_item
Comments
Post a Comment