메뉴 건너뛰기

SAP 한국 커뮤니티

REPORT z18_036

sapjoy 2007.03.14 04:20 조회 수 : 2631


REPORT  z18_026                                                     .


DATA : con1_ref TYPE REF TO cl_gui_custom_container.


DATA : grid1  TYPE REF TO cl_gui_alv_grid,
       gs_variant     LIKE disvariant,
       gs_cs_variant  LIKE disvariant,
       gs_layout     TYPE lvc_s_layo,
       gs_toolbar    TYPE ui_functions,
       gt_sort       TYPE lvc_t_sort,
       gt_fieldcat   TYPE lvc_t_fcat,
       gt_sflight    TYPE TABLE OF sflight.


TYPE-POOLS: icon.


*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.


  PUBLIC SECTION.
    METHODS:


    handle_double_click
        FOR EVENT double_click OF cl_gui_alv_grid
            IMPORTING e_row e_column.


    METHODS : handle_toolbar
                 FOR EVENT toolbar OF cl_gui_alv_grid
                 IMPORTING e_object e_interactive.



    METHODS : handle_command
                 FOR EVENT user_command OF cl_gui_alv_grid
                 IMPORTING e_ucomm.


    METHODS : handle_context_menu
              FOR EVENT context_menu_request OF cl_gui_alv_grid
              IMPORTING e_object.



  PRIVATE SECTION.
*    DATA: lt_std_fcodes TYPE ui_functions.
ENDCLASS.                    "lcl_event_receiver DEFINITION


*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.


  METHOD handle_double_click.
    LEAVE TO SCREEN 0.
  ENDMETHOD.                           "handle_double_click


*-- Add ToolBar
  METHOD handle_toolbar.


    DATA: ls_toolbar  TYPE stb_button.


    CLEAR ls_toolbar.
    ls_toolbar-butn_type = 3.
    APPEND ls_toolbar    TO e_object->mt_toolbar.


    CLEAR ls_toolbar.
    ls_toolbar-function  = 'RESH'.
    ls_toolbar-icon      = icon_refresh.
    ls_toolbar-quickinfo = 'Refresh'.
    ls_toolbar-text      = ' '.
    ls_toolbar-disabled  = ' '.
    APPEND ls_toolbar    TO e_object->mt_toolbar.


  ENDMETHOD.                    "handle_toolbar



  METHOD handle_command.
    DATA : l_scroll TYPE lvc_s_stbl.


    CASE e_ucomm.
*-  REFRESH
      WHEN 'RESH'.


        SELECT * FROM sflight INTO TABLE gt_sflight.
        l_scroll-row = 'X'.
        l_scroll-col = 'X'.
        CALL METHOD grid1->refresh_table_display
          EXPORTING
            i_soft_refresh = ''
            is_stable      = l_scroll.
    ENDCASE.
  ENDMETHOD.                    "handle_user_command



  METHOD handle_context_menu.
    DATA: lt_std_fcodes TYPE ui_functions.
    DATA: lt_own_fcodes TYPE ui_functions.


    CALL METHOD e_object->load_gui_status
      EXPORTING
        program = sy-repid
        status  = 'CONTEXT_MENU1'
        menu    = e_object.


    CALL METHOD e_object->add_function
      EXPORTING
        fcode = 'LEAVE'
        text  = 'LEAVE PROGRAM'.
*
    APPEND cl_gui_alv_grid=>mc_fc_col_optimize TO lt_std_fcodes.



    CALL METHOD e_object->hide_functions
      EXPORTING
        fcodes = lt_std_fcodes.


 


    append 'RESH' TO lt_own_fcodes.


    CALL METHOD e_object->disable_functions
      EXPORTING
       fcodes = lt_own_fcodes.


  ENDMETHOD.                    "handle_context_menu



ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
*


DATA :     event_receiver TYPE REF TO lcl_event_receiver.



START-OF-SELECTION.
  SELECT * FROM sflight INTO TABLE gt_sflight.


  CALL SCREEN 100.


 


 


*---------------------------------------------------------------------*
*  MODULE init_con OUTPUT
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
MODULE init_con OUTPUT.


  IF con1_ref IS INITIAL.
    CREATE OBJECT con1_ref
    EXPORTING container_name = 'CON1'.



    CREATE OBJECT grid1
           EXPORTING
                i_parent = con1_ref.


    PERFORM setting_layout.
    PERFORM setting_catalog.
    PERFORM setting_toolbar.
    PERFORM setting_sort.
    PERFORM setting_event.


    CALL METHOD grid1->set_table_for_first_display
      EXPORTING
        i_structure_name     = 'SFLIGHT'
        i_save               = 'A'
        is_variant           = gs_variant  " variant display
        i_default            = ' '
        is_layout            = gs_layout
        it_toolbar_excluding = gs_toolbar
      CHANGING
        it_outtab            = gt_sflight
        it_fieldcatalog      = gt_fieldcat
        it_sort              = gt_sort.


 



  ENDIF.
ENDMODULE.                 " init_con  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'G100'.
*  SET TITLEBAR 'xxx'.


ENDMODULE.                 " STATUS_0100  OUTPUT


*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.


  CASE sy-ucomm.
    WHEN 'BACK' OR 'EXIT' OR 'CANC'.
      LEAVE TO SCREEN 0.
  ENDCASE.


ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Form  setting_layout
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GS_LAYOCAT  text
*----------------------------------------------------------------------*
FORM setting_layout .
*- General display options
  gs_layout-cwidth_opt = 'X'.
* TITLE BAR
  gs_layout-grid_title = 'Context Menu TEST'.
* Selection modes for SEL_MODE
  gs_layout-sel_mode = 'D'.
* Grid pattern
  gs_layout-zebra      = 'X'.
ENDFORM.                    " setting_layout
*&---------------------------------------------------------------------*
*&      Form  setting_toolbar
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GS_TOOLBAR  text
*----------------------------------------------------------------------*
FORM setting_toolbar.
  DATA: l_exclude TYPE ui_func.


  l_exclude = cl_gui_alv_grid=>mc_fc_save_variant.
  APPEND l_exclude TO gs_toolbar.


  l_exclude = cl_gui_alv_grid=>mc_fc_maintain_variant.
  APPEND l_exclude TO gs_toolbar.


ENDFORM.                    " setting_toolbar
*&---------------------------------------------------------------------*
*&      Form  setting_sort
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM setting_sort .


  DATA : ls_sort TYPE lvc_s_sort.


  ls_sort-spos = '1'.
  ls_sort-fieldname = 'CARRID'.
  ls_sort-up = 'X'.
  ls_sort-subtot = 'X'.
  APPEND ls_sort TO gt_sort.


ENDFORM.                    " setting_sort
*&---------------------------------------------------------------------*
*&      Form  setting_event
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM setting_event .
  CREATE OBJECT event_receiver.
  SET HANDLER event_receiver->handle_double_click FOR grid1.
  SET HANDLER event_receiver->handle_toolbar       FOR grid1.
  SET HANDLER event_receiver->handle_command       FOR grid1.
  SET HANDLER event_receiver->handle_context_menu  FOR grid1.
ENDFORM.                    " setting_event
*&---------------------------------------------------------------------*
*&      Form  setting_catalog
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM setting_catalog .
  DATA ls_fieldcat  TYPE lvc_s_fcat.


  ls_fieldcat-fieldname = 'CARRID'.
  ls_fieldcat-coltext = 'Carrid ID'.
  ls_fieldcat-just = 'L'.
  ls_fieldcat-key = 'X'.
  ls_fieldcat-outputlen = '2'.


  APPEND ls_fieldcat TO gt_fieldcat.



  ls_fieldcat-fieldname = 'CONNID'.
  ls_fieldcat-coltext = 'Flight Number'.
  ls_fieldcat-just = 'C'.
  ls_fieldcat-key = 'X'.
  ls_fieldcat-outputlen = '4'.


  APPEND ls_fieldcat TO gt_fieldcat.


  ls_fieldcat-fieldname = 'PRICE'.
  ls_fieldcat-coltext = 'Airfare'.
  ls_fieldcat-just = 'R'.
  ls_fieldcat-key = ' '.
  ls_fieldcat-outputlen = '15'.


  APPEND ls_fieldcat TO gt_fieldcat.



ENDFORM.                    " setting_catalog

번호 제목 글쓴이 날짜 조회 수
251 REPORT Z07_016 sapjoy 2008.04.15 2804
250 REPORT Z15_007 eabap 2007.01.24 2680
249 REPORT Z05_025 sapjoy 2007.05.28 2564
248 REPORT Z05_013 [3] sapjoy 2008.04.15 2653
247 REPORT Z02_005 . sapjoy 2006.12.03 2376
246 REPORT Z04_005 . sapjoy 2006.12.03 2595
245 REPORT Z06_001 MESSAGE-ID ZTEST . [1] sapjoy 2006.12.05 3207
244 REPORT Z07_002 . sapjoy 2006.12.07 2757
243 REPORT Z07_008 sapjoy 2006.12.07 2462
242 INCLUDE Z16_001O01 [1] sapjoy 2007.04.27 2595
241 REPORT z18_017 sapjoy 2007.03.12 2672
» REPORT z18_036 sapjoy 2007.03.14 2631
239 REPORT z18_032 sapjoy 2008.04.22 2712
238 REPORT z18_031 sapjoy 2008.04.22 2527
237 REPORT z18_025 sapjoy 2007.03.17 2598
236 REPORT z18_024 sapjoy 2008.04.22 2310
235 REPORT z18_023 sapjoy 2008.04.22 2256
234 REPORT z18_022 sapjoy 2008.04.22 2258
233 REPORT z18_021 sapjoy 2008.04.22 2252
232 REPORT z18_020 sapjoy 2008.04.22 1835