Class ALV - Subtotal Text

SAP/ABAP 개발 2010. 10. 13. 13:24 Posted by KindKay


CLASS lcl_event_handler DEFINITION DEFERRED.
 
DATA: dg_events_receiver TYPE REF
                            TO lcl_event_handler.  "event receiver
 
*---------------------------------------------------------------------*
*       CLASS lcl_event_handler DEFINITION
*---------------------------------------------------------------------*
*       For Event handling                                             *
*---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:
 
       subtotal_text        FOR EVENT subtotal_text
                         OF cl_gui_alv_grid
                         IMPORTING es_subtottxt_info
                                   ep_subtot_line
                                   e_event_data.
 
 
ENDCLASS.                    "VERIFY_EVENT_HANDLER DEFINITION
 
*---------------------------------------------------------------------*
*       CLASS lcl_event_handler IMPLEMENTATION
*---------------------------------------------------------------------*
*       Implementation of event handler method                        *
*---------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.
 
  METHOD subtotal_text.
    PERFORM d0100_event_subtotal_text USING es_subtottxt_info
                                            ep_subtot_line
                                            e_event_data.
  ENDMETHOD.                    "subtotal_text
 
ENDCLASS.                    "lcl_event_handler IMPLEMENTATION
 
*--set event handler
  PERFORM set_event_handler.

  CALL METHOD dg_grid->set_table_for_first_display
    EXPORTING
      is_layout                     = ds_layout
    CHANGING
      it_outtab                     = <fs_f>
      it_fieldcatalog               = dt_alv_cat
      it_sort                       = dt_sort
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      OTHERS                        = 4.
  IF sy-subrc  0.
    MESSAGE i000 WITH
         'Error in calling SET_TABLE_FOR_FIRST_DISPLAY'(026).
  ENDIF.
 
 
*&---------------------------------------------------------------------*
*&      Form  set_event_handler
*&---------------------------------------------------------------------*
*       event handler
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_event_handler .
  CREATE OBJECT dg_events_receiver.
  SET HANDLER dg_events_receiver->subtotal_text
              FOR dg_grid.
ENDFORM.                    " set_event_handler
 
*&---------------------------------------------------------------------*
*&      Form  d0100_event_subtotal_text
*&---------------------------------------------------------------------*
*       To handle subtotal text event
*----------------------------------------------------------------------*
*      -->P_ES_SUBTOTTXT_INFO  text
*      -->P_EP_SUBTOT_LINE  text
*      -->P_E_EVENT_DATA  text
*----------------------------------------------------------------------*
FORM d0100_event_subtotal_text  USING
                        p_es_subtottxt_info TYPE lvc_s_stxt
                       p_ep_subtot_line TYPE REF TO data
                       p_e_event_data TYPE REF TO cl_alv_event_data .
  FIELD-SYMBOLS: <fs> TYPE ANY.
 
  ASSIGN p_e_event_data->m_data->* TO <fs>.
  <fs> = 'TOTAL'(027).
ENDFORM.                    " d0100_event_subtotal_text


출처: http://forums.sdn.sap.com/thread.jspa?threadID=266993

'SAP > ABAP 개발' 카테고리의 다른 글

ABAP ALV Grid Control  (1) 2010.11.02
NUMBER RANGE 사용법  (2) 2010.10.31
ZPPA_GET_GR_HISTORY bk20090915  (1) 2010.10.04
[Function] DATE_GET_WEEK - 날자로 주 가져오기  (1) 2010.09.18
[Function] WEEK_GET_FIRST_DAY - 한주의 첫날  (1) 2010.09.18