*&---------------------------------------------------------------------* *& Report ZHR_PXJGWH *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZHR_PXJGWH. TABLES: ZPXDJ. DATA: ok_code TYPE sy-ucomm, save_ok TYPE sy-ucomm. DATA: ITAB1 LIKE TABLE OF ZPXDJ WITH HEADER LINE. DATA: zmessage(30) TYPE c. DATA: ITAB2 LIKE TABLE OF ZPXDJ WITH HEADER LINE. DATA: FORINPUT(20) TYPE C VALUE '初始值', FORCODE(20) TYPE C. *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* CALL SCREEN 100. WRITE: FORINPUT, / FORCODE. MODULE status_0100 OUTPUT. SET PF-STATUS 'TESTSTA1'. FORCODE = SAVE_OK. ENDMODULE. " STATUS_0100 OUTPUT module candel input. leave program. endmodule. "cancel input *INCLUDE ZMMZ101_user_command_0100i01. * *INCLUDE ZMMZ101_update_data_to_dbf01. * *INCLUDE zmm1017_input_data_to_screeo01. * *INCLUDE zmm1017_status_0100o01. * *INCLUDE ZMM1017_MODIFY_SCREEN_0100O01. *&---------------------------------------------------------------------* *& Module modify_screen_0100 OUTPUT *&---------------------------------------------------------------------* * text 输入 赋值事件 *----------------------------------------------------------------------* MODULE modify_screen_0100 OUTPUT. ZPXDJ-ZCSMC = '1'. ** PERFORM read_data. * DATA: ztxt TYPE c. * LOOP AT ITAB2. * ZPXDJ-ZGJAHR = ITAB2-ZGJAHR. * ZPXDJ-ZMONAT = ITAB2-ZMONAT. * ZPXDJ-ZCSMC = ITAB2-ZCSMC. * ZPXDJ-ZJG = ITAB2-ZJG. * * ENDLOOP. * ENDMODULE. " modify_screen_0100 OUTPUT *&---------------------------------------------------------------------* *& Module user_command_0100 INPUT *&---------------------------------------------------------------------* * text 执行按钮事件 *----------------------------------------------------------------------* MODULE user_command_0100 INPUT. save_ok = ok_code. CLEAR ok_code. CASE save_ok. WHEN 'BIN2'. * CALL FUNCTION 'ENQUEUE_EZTEMP_VENDOR'. IF ZPXDJ-ZGJAHR IS INITIAL. MESSAGE '保存失败,年度不能为空' TYPE 'E'. ENDIF. ITAB1-ZGJAHR = ZPXDJ-ZGJAHR. ITAB1-ZMONAT = ZPXDJ-ZMONAT. ITAB1-ZCSMC = ZPXDJ-ZCSMC. ITAB1-ZJG = ZPXDJ-ZJG. INSERT ZPXDJ FROM ITAB1. IF sy-subrc = 0. MESSAGE '保存成功' TYPE 'S'. ELSE. MESSAGE '保存失败' TYPE 'E'. ENDIF. * UPDATE ZPXDJ * SET zjg = ZPXDJ-ZJG * WHERE ZGJAHR = ZPXDJ-ZGJAHR AND * ZMONAT = ZPXDJ-ZMONAT AND * ZCSMC = ZPXDJ-ZCSMC. * IF sy-subrc = 0. * MESSAGE '修改成功' TYPE 'S'. * ELSE. * MESSAGE '修改失败' TYPE 'E'. * ENDIF. * CALL FUNCTION 'DEQUEUE_EZTEMP_VENDOR'. WHEN 'BACK1'. LEAVE PROGRAM. WHEN 'CANCLE'. LEAVE PROGRAM. WHEN 'EXIT'. LEAVE PROGRAM. ENDCASE. ENDMODULE. " user_command_0100 INPUT