REPORT z18_027 .
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.
DATA: BEGIN OF gt_sflight OCCURS 0. "with header line
INCLUDE STRUCTURE sflight.
DATA: END OF gt_sflight.
data : gt_modified_rows TYPE STANDARD TABLE OF sflight.
DATA: g_carrid LIKE sflight-carrid,
g_connid LIKE sflight-connid.
TYPE-POOLS: icon.
*---------------------------------------------------------------------*
* CLASS lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed.
ENDCLASS.
**---------------------------------------------------------
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_data_changed.
DATA:
ls_sflight TYPE sflight,
ls_outtab LIKE LINE OF gt_sflight.
FIELD-SYMBOLS: <fs> TYPE table.
ASSIGN er_data_changed->mp_mod_rows->* TO <fs>.
LOOP AT <fs> INTO ls_outtab.
MOVE-CORRESPONDING ls_outtab TO ls_sflight.
APPEND ls_sflight TO gt_modified_rows.
ENDLOOP.
ENDMETHOD. "handle_data_changed
endclass.
*-----------------------------------------------------------------------
*-------------------------------------------------------
DATA : event_receiver TYPE REF TO lcl_event_receiver.
DATA: g_verifier TYPE REF TO lcl_event_receiver.
START-OF-SELECTION.
SELECT * FROM sflight
INTO CORRESPONDING FIELDS OF 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.
CREATE OBJECT g_verifier.
SET HANDLER g_verifier->handle_data_changed FOR grid1.
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.
*CALL METHOD GRID1->SET_READY_FOR_INPUT
* EXPORTING I_READY_FOR_INPUT = 0.
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.
WHEN 'SAVE'.
DATA: l_valid TYPE c.
CALL METHOD grid1->check_changed_data
IMPORTING
e_valid = l_valid.
IF l_valid IS NOT INITIAL.
PERFORM update_database.
ENDIF.
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 = 'ALV GRID EDIT TEST'.
* gs_layout-edit = 'X'.
* 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.
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-edit = ''.
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-edit = '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-edit = 'X'.
ls_fieldcat-outputlen = '15'.
APPEND ls_fieldcat TO gt_fieldcat.
ENDFORM. " setting_catalog
*&---------------------------------------------------------------------*
*& Form update_database
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM update_database .
MODIFY SFLIGHT FROM TABLE GT_MODIFIED_ROWS.
IF SY-SUBRC EQ 0.
MESSAGE s000(0k) WITH 'SAVE OK'.
ENDIF.
ENDFORM. " update_database
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
111 | REPORT Z05_022 | sapjoy | 2007.05.28 | 2136 |
110 | REPORT Z05_021 | sapjoy | 2007.05.28 | 2087 |
109 | REPORT Z05_011 | sapjoy | 2007.05.28 | 2066 |
108 | REPORT Z05_011 | sapjoy | 2007.05.28 | 2159 |
107 | REPORT Z05_002 | sapjoy | 2007.05.22 | 2172 |
106 | REPORT z03_026 | sapjoy | 2007.05.16 | 2313 |
105 | REPORT Z03_020 | sapjoy | 2007.05.15 | 2170 |
104 | TYPE-POOL ztgrp [1] | sapjoy | 2007.05.15 | 2700 |
103 | REPORT Z03_010 [2] | sapjoy | 2007.05.15 | 2664 |
102 | REPORT Z03_002 [4] | sapjoy | 2007.05.11 | 2581 |
101 | REPORT Z03_004 | sapjoy | 2007.05.11 | 2433 |
100 | REPORT Z03_003 [7] | sapjoy | 2007.05.11 | 2879 |
99 | INCLUDE Z16_001I01 | sapjoy | 2007.04.27 | 2892 |
98 | Include Z16_001TOP | sapjoy | 2007.04.27 | 2601 |
97 | PROGRAM z16_001 | sapjoy | 2007.04.27 | 2952 |
96 | REPORT z20_002 [2] | sapjoy | 2007.04.16 | 3096 |
95 | REPORT z20_001 | sapjoy | 2007.04.13 | 2499 |
» | REPORT z18_027 | sapjoy | 2007.04.10 | 2315 |
93 | REPORT z19_010 [2] | sapjoy | 2007.04.07 | 2843 |
92 | REPORT z19_004 | sapjoy | 2007.03.28 | 3238 |