REPORT z16_10.
TYPE-POOLS : slis.
DATA gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA gs_fieldcat TYPE slis_fieldcat_alv.
DATA gt_events TYPE slis_t_event.
DATA gs_event TYPE slis_alv_event.
DATA: gs_layout TYPE slis_layout_alv.
DATA : gt_itab TYPE TABLE OF sflight WITH HEADER LINE.
SELECT * FROM sflight
INTO CORRESPONDING FIELDS OF TABLE gt_itab
UP TO 25 ROWS.
MOVE 'PF_STATUS_SET' TO gs_event-name.
MOVE 'ALV_STATUS_SET' TO gs_event-form.
APPEND gs_event TO gt_events.
MOVE 'DATA_CHANGED' TO gs_event-name.
MOVE 'ALV_DATA_CHANGED' TO gs_event-form.
APPEND gs_event TO gt_events.
gs_layout-edit = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_structure_name = 'SFLIGHT'
it_events = gt_events
it_fieldcat = gt_fieldcat
is_layout = gs_layout
i_callback_user_command = 'ALV_USER_COMMAND'
TABLES
t_outtab = gt_itab.
*&---------------------------------------------------------------------*
*& Form alv_user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_UCOMM text
* -->P_SELFIELD text
*----------------------------------------------------------------------*
FORM alv_user_command USING p_ucomm LIKE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN 'SAVE'.
MODIFY sflight FROM TABLE gt_itab.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
ENDCASE.
ENDFORM. " ALV_USER_COMMAND
*&---------------------------------------------------------------------*
*& Form alv_status_set
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_EXTAB text
*----------------------------------------------------------------------*
FORM alv_status_set USING pt_extab TYPE slis_t_extab .
CLEAR: pt_extab[].
* SET PF-STATUS 'ALV_STATUS'.
SET PF-STATUS 'STANDARD_FULLSCREEN'.
ENDFORM. "ALV_STATUS_SET
*&---------------------------------------------------------------------*
*& Form ALV_DATA_CHANGED
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PCL_DATA text
*----------------------------------------------------------------------*
FORM alv_data_changed USING pcl_data TYPE REF TO
cl_alv_changed_data_protocol.
DATA : l_name(20),
ls_cells TYPE lvc_s_modi.
FIELD-SYMBOLS <fs_value>.
LOOP AT pcl_data->mt_mod_cells INTO ls_cells.
CLEAR gt_itab.
READ TABLE gt_itab INDEX ls_cells-row_id.
CONCATENATE 'GT_ITAB-' ls_cells-fieldname INTO l_name.
ASSIGN (l_name) TO <fs_value>.
<fs_value> = ls_cells-value.
MODIFY gt_itab INDEX ls_cells-row_id.
ENDLOOP.
ENDFORM. "alv_data_changed
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
630 | REPORT z20_002 [2] | sapjoy | 2007.04.15 | 3092 |
629 | REPORT z18_02. | sapjoy | 2012.08.01 | 3090 |
628 | REPORT Z18_002 | sapjoy | 2007.03.05 | 3082 |
627 | report zsalv_004 | sapjoy | 2010.08.20 | 3076 |
626 | Z02_003 [2] | sapjoy | 2006.12.02 | 3042 |
625 | Z01_018 [2] | sapjoy | 2006.12.02 | 3042 |
624 | doi_create [1] | sapjoy | 2008.12.25 | 3040 |
623 | REPORT Z_DYNAMIC_SCREEN [1] | sapjoy | 2010.10.07 | 3034 |
622 | REPORT Z05_014 | sapjoy | 2008.04.14 | 3010 |
621 | Z01_020 [2] | sapjoy | 2006.12.02 | 3008 |
620 | report zsalv_041 . | sapjoy | 2010.08.20 | 2998 |
619 | REPORT Z15_033 | sapjoy | 2007.02.05 | 2987 |
618 | report zsalv_043 . | sapjoy | 2010.08.20 | 2978 |
617 | report zsapdoi_005. | sapjoy | 2008.12.26 | 2978 |
616 | REPORT Z11_001 | sapjoy | 2006.12.20 | 2977 |
615 | report zsalv_032 . | sapjoy | 2010.08.20 | 2976 |
614 | INLUCDE ZXAISU02 | sapjoy | 2008.12.15 | 2961 |
613 | PROGRAM z16_001 | sapjoy | 2007.04.26 | 2952 |
612 | REPORT Z17_028 | sapjoy | 2007.02.26 | 2937 |
611 | REPORT z19_005 [1] | sapjoy | 2007.04.03 | 2927 |