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                 

Comments

Popular posts from this blog

all user exit mv45afzz (implicit user exit )

MB_MIGO_BADI THIS BADI USED TO POSTING DATA IN MIGO

Long Text in input and output field in module pool