表结构:
效果图:
代码:
*&---------------------------------------------------------------------*
*& Report ZPPT009
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPPT009.
INCLUDE zppt009_top.
INCLUDE zppt009_getdata.
INCLUDE zppt009_coredel.
zppt009_top包括代码:
*&---------------------------------------------------------------------*
*& 包括 ZPPT009_TOP
*&---------------------------------------------------------------------*
TYPE-POOLS:slis,vrm.
TABLES sscrfields.
TABLES:zppt009, afko, aufk,afpo,zppt009a.
DATA:gt_fcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
wa_fieldcat TYPE lvc_s_fcat,
tmp_fieldcat TYPE lvc_t_fcat,
gt_fieldcat TYPE lvc_t_fcat,
gt_exclude TYPE ui_functions,
alv_grid TYPE REF TO cl_gui_alv_grid,
container TYPE scrfname VALUE 'ZSR2',
custom_container TYPE REF TO cl_gui_custom_container.
DATA:ls_layout TYPE disvariant.
DATA: ok_code LIKE sy-ucomm,
save_ok LIKE ok_code.
DATA: c_form_name TYPE tdsfname,
c_form_title TYPE string.
DATA: itab2 LIKE TABLE OF zppt009.
DATA: itab LIKE TABLE OF zppt009 WITH HEADER LINE.
DATA: it_out LIKE TABLE OF zppt009 WITH HEADER LINE.
DATA: itab1 LIKE TABLE OF zppt009 WITH HEADER LINE.
DATA: BEGIN OF wa_werks,
werks LIKE t001w-werks,
name1 LIKE t001w-name1,
END OF wa_werks.
DATA:it_werks LIKE TABLE OF wa_werks WITH HEADER LINE.
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA:
gi_index_rows TYPE lvc_t_row,
g_selected_row LIKE lvc_s_row.
*----------------------------------------------------------------------*
* 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. "lcl_event_receiver DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_event_receiver IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_data_changed.
PERFORM handle_data_changed USING er_data_changed.
ENDMETHOD. "handle_data_changed
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
DATA: g_alv_application TYPE REF TO lcl_event_receiver.
DATA:
o_event_receiver TYPE REF TO lcl_event_receiver.
DATA:zcw TYPE lvc_t_cell,
wa_cw TYPE lvc_s_cell.
SELECTION-SCREEN BEGIN OF SCREEN 9999 AS SUBSCREEN.
SELECT-OPTIONS: s_werks FOR aufk-werks.
SELECT-OPTIONS: s_aufnr FOR aufk-aufnr.
SELECT-OPTIONS: s_ass FOR zppt009a-asslinename.
SELECTION-SCREEN END OF SCREEN 9999.
AT SELECTION-SCREEN OUTPUT.
START-OF-SELECTION.
CALL SCREEN 100.
zppt009_getdata.包括代码
*&---------------------------------------------------------------------*
*& 包括 ZPPT009_GETDATA
*&---------------------------------------------------------------------*
FORM getdata.
SELECT * INTO CORRESPONDING FIELDS OF TABLE itab FROM zppt009 WHERE werks IN s_werks AND aufnr IN s_aufnr AND assline IN s_ass.
SORT itab BY werks assline aufnr yearperiod monthperiod.
ENDFORM. "getdata
*&---------------------------------------------------------------------*
*& Form alvdata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alvdata.
DATA:it_fcat TYPE lvc_t_fcat WITH HEADER LINE,
ls_fcat TYPE lvc_s_fcat,
l_col_pos LIKE lvc_s_fcat-col_pos,
l_tabix LIKE sy-tabix.
CLEAR gt_fcat[].
CLEAR ls_fcat.
ls_fcat-fieldname = 'CHE'.
ls_fcat-coltext = '选择'.
ls_fcat-checkbox = 'X'.
ls_fcat-outputlen = 2.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'WERKS'.
ls_fcat-coltext = '工厂'.
ls_fcat-outputlen = 4.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'T001W'.
ls_fcat-ref_field = 'WERKS'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'ASSLINE'.
ls_fcat-coltext = '流水线'.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'ZPPT009'.
ls_fcat-ref_field = 'ASSLINE'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'IDNRK'.
ls_fcat-coltext = '物料号'.
ls_fcat-outputlen = 12.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'MARA'.
ls_fcat-ref_field = 'MATNR'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'AUFNR'.
ls_fcat-coltext = '工单号'.
ls_fcat-outputlen = 12.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'AFKO'.
ls_fcat-ref_field = 'AUFNR'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'MATNR'.
ls_fcat-coltext = '成品料号'.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'MARA'.
ls_fcat-ref_field = 'MATNR'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'QLRQ'.
ls_fcat-coltext = '齐料日期'.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'ZPPT009'.
ls_fcat-ref_field = 'QLRQ'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'JHSCRQ'.
ls_fcat-coltext = '开工日期'.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
ls_fcat-ref_table = 'ZPPT009'.
ls_fcat-ref_field = 'JHSCRQ'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'XCTS'.
ls_fcat-coltext = '相差天数'.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'GDXQSL'.
ls_fcat-coltext = '需求数量'.
ls_fcat-outputlen = 10.
"ls_fcat-decimals = 0.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'GDQLSL'.
ls_fcat-coltext = '缺料数量'.
ls_fcat-outputlen = 10.
"ls_fcat-decimals = 3.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'QLBL'.
ls_fcat-coltext = '缺料比率'.
ls_fcat-outputlen = 10.
"ls_fcat-decimals = 3.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'SALENO'.
ls_fcat-coltext = '销售订单号'.
ls_fcat-outputlen = 10.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'YEARPERIOD'.
ls_fcat-coltext = '年份'.
ls_fcat-outputlen = 4.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'MONTHPERIOD'.
ls_fcat-coltext = '月份'.
ls_fcat-outputlen = 2.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D1'.
ls_fcat-coltext = '1号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D2'.
ls_fcat-coltext = '2号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D3'.
ls_fcat-coltext = '3号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D4'.
ls_fcat-coltext = '4号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D5'.
ls_fcat-coltext = '5号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D6'.
ls_fcat-coltext = '6号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D7'.
ls_fcat-coltext = '7号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D8'.
ls_fcat-coltext = '8号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D9'.
ls_fcat-coltext = '9号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D10'.
ls_fcat-coltext = '10号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D11'.
ls_fcat-coltext = '11号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D12'.
ls_fcat-coltext = '12号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D13'.
ls_fcat-coltext = '13号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D14'.
ls_fcat-coltext = '14号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D15'.
ls_fcat-coltext = '15号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D16'.
ls_fcat-coltext = '16号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D17'.
ls_fcat-coltext = '17号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D18'.
ls_fcat-coltext = '18号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D19'.
ls_fcat-coltext = '19号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D20'.
ls_fcat-coltext = '20号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D21'.
ls_fcat-coltext = '21号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D22'.
ls_fcat-coltext = '22号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D23'.
ls_fcat-coltext = '23号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D24'.
ls_fcat-coltext = '24号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D25'.
ls_fcat-coltext = '25号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D26'.
ls_fcat-coltext = '26号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D27'.
ls_fcat-coltext = '27号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D28'.
ls_fcat-coltext = '28号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D29'.
ls_fcat-coltext = '29号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D30'.
ls_fcat-coltext = '30号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'D31'.
ls_fcat-coltext = '31号'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ls_fcat-fieldname = 'TOTALQTY'.
ls_fcat-coltext = '总计'.
ls_fcat-outputlen = 6.
ls_fcat-edit = 'X'.
APPEND ls_fcat TO gt_fcat.
CLEAR ls_fcat.
ENDFORM. "alvdata
zppt009_coredel.包括代码
*&---------------------------------------------------------------------*
*& 包括 ZPPT009_COREDEL
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS '009'.
SET TITLEBAR 'T009'.
ENDMODULE. "status_0100 OUTPUT
*----------------------------------------------------------------------*
* MODULE user_command_0100 INPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN '&BACK' OR '&EXIT' OR '&CANCEL'.
LEAVE TO SCREEN 0.
WHEN 'ZGET'.
PERFORM getdata.
WHEN 'ZSAVE'.
CALL METHOD alv_grid->check_changed_data."单元格数据改变后直接点保存按钮判断数据是否更改
PERFORM savedata.
WHEN 'ZDEL'.
PERFORM deldata.
ENDCASE.
ENDMODULE. "user_command_0100 INPUT
*&---------------------------------------------------------------------*
*& Form savedata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM savedata.
DATA: c TYPE i.
DATA: s_proschno TYPE zppt009-proschno.
DATA: s_werks TYPE zppt009-werks, s_mess(20) TYPE c.
DESCRIBE TABLE itab LINES c.
IF c > 0.
LOOP AT itab.
IF itab-werks IS INITIAL.
MESSAGE '请输入工厂' TYPE 'E'.
EXIT.
ENDIF.
IF itab-assline IS INITIAL.
MESSAGE '请输入拉号' TYPE 'E'.
EXIT.
ENDIF.
IF itab-aufnr IS INITIAL.
MESSAGE '请输入工单号' TYPE 'E'.
EXIT.
ENDIF.
IF itab-yearperiod IS INITIAL.
MESSAGE '请输入年份' TYPE 'E'.
EXIT.
ENDIF.
IF itab-monthperiod IS INITIAL.
MESSAGE '请输入月份' TYPE 'E'.
EXIT.
ENDIF.
SELECT SINGLE werks INTO s_werks FROM zppt009 WHERE werks = itab-werks AND aufnr = itab-aufnr AND assline = itab-assline AND yearperiod = itab-yearperiod AND monthperiod = itab-monthperiod.
IF s_werks IS INITIAL.
s_proschno = itab-proschno.
IF s_proschno IS INITIAL OR s_proschno = ''.
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
object = 'ZSERIALNO'
EXCEPTIONS
foreign_lock = 1
object_not_found = 2
system_failure = 3
OTHERS = 4.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '00'
object = 'ZSERIALNO'
ignore_buffer = 'X'
IMPORTING
number = s_proschno
EXCEPTIONS
interval_not_found = 1
number_range_not_intern = 2
object_not_found = 3
quantity_is_0 = 4
quantity_is_not_1 = 5
interval_overflow = 6
buffer_overflow = 7
OTHERS = 8.
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
EXPORTING
object = 'ZSERIALNO'.
SHIFT s_proschno LEFT DELETING LEADING '0'.
itab-proschno = s_proschno .
MODIFY itab.
ENDIF.
ELSE.
* DATA: s_mess1(40) TYPE c.
* s_mess1 = ''.
* CONCATENATE '工厂' itab-werks '拉号' itab-assline '已经在' itab-yearperiod '年' itab-monthperiod '月排了工单' itab-aufnr INTO s_mess1.
* MESSAGE s_mess1 TYPE 'I'.
EXIT.
ENDIF.
itab-xcts = itab-jhscrq - itab-qlrq.
itab-qlbl = itab-gdqlsl / itab-gdxqsl.
DATA: s_saleno TYPE vbak-vbeln.
s_saleno = ''.
SELECT SINGLE kdauf INTO s_saleno FROM afpo WHERE aufnr = itab-aufnr.
itab-saleno = s_saleno.
itab-totalqty = itab-d1 + itab-d2 + itab-d3 + itab-d4 + itab-d5 + itab-d6 + itab-d7 + itab-d8 + itab-d9 + itab-d10 + itab-d11 + itab-d12 + itab-d13 + itab-d14 + itab-d15 + itab-d16 + itab-d17 + itab-d18 + itab-d19 + itab-d20
+ itab-d21 + itab-d22 + itab-d23 + itab-d24 + itab-d25 + itab-d26 + itab-d27 + itab-d28 + itab-d29 + itab-d30 + itab-d31.
MODIFY itab.
ENDLOOP.
SORT itab BY werks assline aufnr.
DELETE ADJACENT DUPLICATES FROM itab COMPARING werks aufnr assline yearperiod monthperiod.
MODIFY zppt009 FROM TABLE itab.
IF sy-subrc = 0.
MESSAGE: '保存成功' TYPE 'I'.
ELSE.
MESSAGE:'保存失败' TYPE 'E'.
ENDIF.
ENDIF.
ENDFORM. "savedata
*&---------------------------------------------------------------------*
*& Form deldata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM deldata.
DATA: a TYPE i.
a = 0.
LOOP AT itab WHERE che EQ 'X'.
a = a + 1.
ENDLOOP.
IF a = 0.
MESSAGE:'请选择需要删除的行项目' TYPE 'E'.
ELSE.
DATA: wl_answer TYPE c.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
text_question = '确定要删除选择的行项目吗?'
icon_button_1 = '确定' "是
icon_button_2 = '不确定'"否
default_button = '2'
display_cancel_button = 'X'
start_column = 25
start_row = 6
IMPORTING
answer = wl_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
CASE wl_answer.
WHEN '1'.
DELETE itab WHERE che <> 'X'.
DELETE zppt009 FROM TABLE itab.
PERFORM getdata.
WHEN '2'.
LEAVE TO SCREEN 0.
WHEN OTHERS.
ENDCASE.
ENDIF.
ENDFORM. "deldata
*----------------------------------------------------------------------*
* MODULE displayalv OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE displayalv OUTPUT.
IF custom_container IS INITIAL.
CREATE OBJECT custom_container
EXPORTING
container_name = container.
ENDIF.
IF alv_grid IS INITIAL.
CREATE OBJECT alv_grid
EXPORTING
i_parent = custom_container.
ENDIF.
* if g_alv_application is INITIAL.
* CREATE OBJECT g_alv_application.
* ENDIF.
CLEAR gs_layout.
ls_layout-report = sy-repid.
gs_layout-sel_mode = 'C'.
gs_layout-box_fname = 'CHE'.
gs_layout-zebra = 'X'.
PERFORM alvdata.
CALL METHOD alv_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
it_toolbar_excluding = gt_exclude
i_save = 'A'
CHANGING
it_outtab = itab[]
it_fieldcatalog = gt_fcat[].
CALL METHOD alv_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified."修改单元格之后按回车或者执行其他操作时触发事件,此类型可用于多个单元格修改后一起检查修改的值
ENDMODULE. "displayalv OUTPUT
*&---------------------------------------------------------------------*
*& Form handle_data_changed
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_ER_DATA_CHANGED text
*----------------------------------------------------------------------*
FORM handle_data_changed USING p_er_data_changed TYPE REF TO cl_alv_changed_data_protocol.
DATA:mod_data TYPE lvc_t_modi,
wa_mod_data TYPE lvc_s_modi.
mod_data = p_er_data_changed->mt_mod_cells.
ENDFORM. "handle_data_changed
逻辑流如下:
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE displayalv.
CALL SUBSCREEN scr01 INCLUDING sy-repid '9999'.
PROCESS AFTER INPUT.
CALL SUBSCREEN scr01.
MODULE user_command_0100.
屏幕设计如下:
子屏幕1名称为SCR01 三个按钮分别为ZGET, ZSAVE, ZDEL
定制控制名为ZSR2