REPORT z16_08.
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.
gs_layout-zebra = 'X'.
gs_layout-confirmation_prompt = 'X'.
gs_layout-edit = 'X'.
DATA: gt_itab TYPE TABLE OF zemplist WITH HEADER LINE.
SELECT *
FROM zemplist
INTO CORRESPONDING FIELDS OF TABLE @gt_itab.
* Event
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = gt_events
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
gs_event-name = 'PF_STATUS_SET'.
gs_event-form = 'ALV_STATUS_SET'.
APPEND gs_event TO gt_events.
gs_event-name = 'DATA_CHANGED'.
gs_event-form = 'ALV_DATA_CHANGED'.
APPEND gs_event TO gt_events.
* Field Catalog
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
* i_internal_tabname = 'GT_ITAB'
i_structure_name = 'ZEMPLIST'
i_client_never_display = 'X'
i_inclname = sy-repid
i_bypassing_buffer = 'X'
i_buffer_active = 'X'
CHANGING
ct_fieldcat = gt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_events = gt_events
* i_structure_name = 'ZEMPLIST'
it_fieldcat = gt_fieldcat
is_layout = gs_layout
i_callback_user_command = 'ALV_USER_COMMAND'
TABLES
t_outtab = gt_itab.
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_user_command USING p_ucomm LIKE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN 'SAVE'.
MODIFY zemplist FROM TABLE gt_itab.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
WHEN 'CLOSE'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
ENDFORM. " ALV_USER_COMMAND
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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
463 | INCLUDE Z17_04_0100_PBOO01 | 가능 | 2025.09.22 | 0 |
462 | REPORT Z17_04 | 가능 | 2025.09.22 | 1 |
461 | REPORT Z17_03 | 가능 | 2025.09.22 | 0 |
460 | REPORT Z17_02 | 가능 | 2025.09.22 | 0 |
459 | REPORT Z17_01 | 가능 | 2025.09.22 | 0 |
458 | REPORT Z16_09 | 가능 | 2025.09.22 | 1 |
» | REPORT Z16_08 | 가능 | 2025.09.22 | 0 |
456 | REPORT Z16_07 | 가능 | 2025.09.22 | 0 |
455 | REPORT Z16_06 | 가능 | 2025.09.22 | 0 |
454 | REPORT Z16_05 | 가능 | 2025.09.22 | 0 |
453 | REPORT Z16_04 | 가능 | 2025.09.22 | 1 |
452 | REPORT Z16_03 | 가능 | 2025.09.22 | 0 |
451 | REPORT z16_02 | 가능 | 2025.09.22 | 0 |
450 | REPORT z16_01 | 가능 | 2025.09.22 | 0 |
449 | REPORT Z15_28 | 가능 | 2025.09.22 | 1 |
448 | REPORT Z15_27 | 가능 | 2025.09.22 | 0 |
447 | REPORT Z15_26 | 가능 | 2025.09.22 | 0 |
446 | REPORT Z15_25 | 가능 | 2025.09.22 | 0 |
445 | REPORT Z15_24 | 가능 | 2025.09.22 | 0 |
444 | REPORT Z15_23 | 가능 | 2025.09.22 | 0 |