Edit alv reports 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.
******************************************************** this code captured the change request in alv reports ***********
DATA: gd_repid LIKE sy-repid,
ref_grid TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
CALL METHOD ref_grid->check_changed_data.
***************************************************************************************************************************
CASE ucomm.
WHEN 'DELETE'.
LOOP AT gt_table INTO gs_table WHERE checkbox = 'X'.
DELETE GT_TABLE WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
LOOP AT GT_TABLE INTO GS_TABLE.
DELETE FROM zrkemployee WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
CALL METHOD ref_grid->refresh_table_display.
WHEN 'UPDATE'.
LOOP AT gt_table INTO gs_table WHERE checkbox = 'X'.
UPDATE zrkemployee SET
zemp_name = gs_table-zemp_name
zemp_desi = gs_table-zemp_desi
zemp_dept = gs_table-zemp_dept
zemp_gender = gs_table-zemp_gender
zemp_dob = gs_table-zemp_dob
zemp_doj = gs_table-zemp_doj
zemp_address = gs_table-zemp_address
zemp_email = gs_table-zemp_email
zemp_bld = gs_table-zemp_bld
zemp_pan_no = gs_table-zemp_pan_no
WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE 'Records update sucessfully' TYPE 'I'.
ELSE.
MESSAGE 'Select at least one checkbox' TYPE 'I'.
ENDIF.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = ' '. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
CALL METHOD ref_grid->refresh_table_display.
WHEN '&DATA_SAVE'.
LOOP AT gt_table INTO gs_table WHERE checkbox = 'X'.
IF gt_table = gt_table1.
MESSAGE 'Records alredy exit' TYPE 'E'.
ENDIF.
UPDATE ZRKEMPLOYEE set
zemp_name = gs_table-zemp_name
zemp_desi = gs_table-zemp_desi
zemp_dept = gs_table-zemp_dept
zemp_gender = gs_table-zemp_gender
zemp_dob = gs_table-zemp_dob
zemp_doj = gs_table-zemp_doj
zemp_address = gs_table-zemp_address
zemp_email = gs_table-zemp_email
zemp_bld = gs_table-zemp_bld
zemp_pan_no = gs_table-zemp_pan_no
WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE 'Records update sucessfully' TYPE 'I'.
ELSE.
MESSAGE 'Select at least one checkbox' TYPE 'I'.
ENDIF.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = ' '. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
CALL METHOD ref_grid->refresh_table_display.
WHEN 'SELECTALL'.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = 'X'. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
WHEN 'DESELECT'.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = ' '. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
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.
******************************************************** this code captured the change request in alv reports ***********
DATA: gd_repid LIKE sy-repid,
ref_grid TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
CALL METHOD ref_grid->check_changed_data.
***************************************************************************************************************************
CASE ucomm.
WHEN 'DELETE'.
LOOP AT gt_table INTO gs_table WHERE checkbox = 'X'.
DELETE GT_TABLE WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
LOOP AT GT_TABLE INTO GS_TABLE.
DELETE FROM zrkemployee WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
CALL METHOD ref_grid->refresh_table_display.
WHEN 'UPDATE'.
LOOP AT gt_table INTO gs_table WHERE checkbox = 'X'.
UPDATE zrkemployee SET
zemp_name = gs_table-zemp_name
zemp_desi = gs_table-zemp_desi
zemp_dept = gs_table-zemp_dept
zemp_gender = gs_table-zemp_gender
zemp_dob = gs_table-zemp_dob
zemp_doj = gs_table-zemp_doj
zemp_address = gs_table-zemp_address
zemp_email = gs_table-zemp_email
zemp_bld = gs_table-zemp_bld
zemp_pan_no = gs_table-zemp_pan_no
WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE 'Records update sucessfully' TYPE 'I'.
ELSE.
MESSAGE 'Select at least one checkbox' TYPE 'I'.
ENDIF.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = ' '. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
CALL METHOD ref_grid->refresh_table_display.
WHEN '&DATA_SAVE'.
LOOP AT gt_table INTO gs_table WHERE checkbox = 'X'.
IF gt_table = gt_table1.
MESSAGE 'Records alredy exit' TYPE 'E'.
ENDIF.
UPDATE ZRKEMPLOYEE set
zemp_name = gs_table-zemp_name
zemp_desi = gs_table-zemp_desi
zemp_dept = gs_table-zemp_dept
zemp_gender = gs_table-zemp_gender
zemp_dob = gs_table-zemp_dob
zemp_doj = gs_table-zemp_doj
zemp_address = gs_table-zemp_address
zemp_email = gs_table-zemp_email
zemp_bld = gs_table-zemp_bld
zemp_pan_no = gs_table-zemp_pan_no
WHERE zemp_id = gs_table-zemp_id.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE 'Records update sucessfully' TYPE 'I'.
ELSE.
MESSAGE 'Select at least one checkbox' TYPE 'I'.
ENDIF.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = ' '. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
CALL METHOD ref_grid->refresh_table_display.
WHEN 'SELECTALL'.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = 'X'. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
WHEN 'DESELECT'.
LOOP AT gt_table INTO gs_table.
gs_table-checkbox = ' '. " ' '.
MODIFY gt_table FROM gs_table TRANSPORTING checkbox.
COMMIT WORK.
ENDLOOP.
selfield-refresh = 'X'.
ENDCASE.
ENDFORM. "display_item
Comments
Post a Comment