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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
649 | <b>ABAP SOURCE는 교재에 사용된 소스들입니다.</b> [1] | sapjoy | 2006.12.02 | 3618 |
648 | REPORT z19_01. | sapjoy | 2012.08.01 | 3529 |
647 | z_exception_test | sapjoy | 2010.10.10 | 3520 |
646 | report zsalv_036 . | sapjoy | 2010.08.20 | 3472 |
645 | REPORT z18_04 . | sapjoy | 2012.08.01 | 3348 |
644 | REPORT ZSMARTFORMS_03. | sapjoy | 2008.11.28 | 3345 |
643 | REPORT z18_05 | sapjoy | 2012.08.01 | 3332 |
642 | Sub DOI_EXCEL_MACRO() | sapjoy | 2008.12.26 | 3312 |
641 | REPORT z18_003 | sapjoy | 2007.03.05 | 3281 |
640 | subroutine pool | sapjoy | 2013.11.15 | 3276 |
639 | REPORT z19_004 | sapjoy | 2007.03.27 | 3230 |
638 | REPORT Z_WHEREUSEDLIST [4] | sapjoy | 2011.03.28 | 3215 |
637 | REPORT ZALVCOLOR | sapjoy | 2010.10.09 | 3212 |
636 | zsalv_edit [1] | sapjoy | 2010.08.20 | 3206 |
635 | REPORT ZSAPTIP_002. | sapjoy | 2009.02.20 | 3206 |
634 | REPORT Z06_001 MESSAGE-ID ZTEST . [1] | sapjoy | 2006.12.05 | 3205 |
633 | REPORT z18_06. | sapjoy | 2012.08.01 | 3151 |
632 | REPORT zsapdoi_001. [2] | sapjoy | 2008.12.20 | 3135 |
631 | report zsalv_042 . | sapjoy | 2010.08.20 | 3132 |
630 | REPORT z18_01. | sapjoy | 2012.08.01 | 3110 |