手動建立程序,通過表格維護變更內表數據後提交數據庫

*&---------------------------------------------------------------------*
*& Report YTEST00A
*&---------------------------------------------------------------------*
*&Violin 2021/3/10
*&---------------------------------------------------------------------*
REPORT ytest00a.

*第7章 表控件Table Control---------------------------------------------------------------------*
*7.1.1手動建立程序,通過表格維護變更內表數據後提交數據庫 
DATA: OK_CODE TYPE SY-UCOMM,
      SAVE_OK LIKE OK_CODE.
DATA: LINEA TYPE I.
*DATA SP1 LIKE SPFLI OCCURS 0 WITH HEADER LINE.
DATA SP1 LIKE TABLE OF SPFLI WITH HEADER LINE.
DATA DELA_SPFLI LIKE TABLE OF SPFLI WITH HEADER LINE.

SELECT * INTO CORRESPONDING FIELDS OF TABLE SP1 FROM SPFLI.

CALL SCREEN 550.


MODULE CANCEL INPUT.
  LEAVE PROGRAM.
ENDMODULE.

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TBL2' ITSELF
CONTROLS: TBL2 TYPE TABLEVIEW USING SCREEN 0550.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TBL2'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
MODULE TBL2_CHANGE_TC_ATTR OUTPUT.
  DESCRIBE TABLE SP1 LINES TBL2-lines.
ENDMODULE.

*&SPWIZARD: INPUT MODULE FOR TC 'TBL2'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE TBL2_MODIFY INPUT.
  MODIFY SP1
    INDEX TBL2-CURRENT_LINE.
ENDMODULE.


MODULE USER_COMMAND_0100 INPUT.
  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.
    WHEN 'EXIT'.
      LEAVE TO SCREEN 0.
    WHEN 'SAVE'.
      MODIFY SPFLI FROM TABLE SP1.
      IF SY-SUBRC NE 0.
        MESSAGE I005(YMESS) WITH '更新數據錯誤!'.
        EXIT.
      ELSE.
        MESSAGE I005(YMESS) WITH '更新數據OK!'.
      ENDIF.
    WHEN 'DELETE'.
      GET CURSOR LINE LINEA.
      CHECK SY-SUBRC = 0.
      LINEA = TBL2-TOP_LINE + LINEA - 1.
      READ TABLE SP1 INDEX LINEA.
      APPEND SP1 TO DELA_SPFLI.
      DELETE SP1 INDEX : LINEA.
      IF SY-SUBRC NE 0.
        MESSAGE I005(YMESS) WITH '更新數據錯誤!'.
        EXIT.
      ELSE.
        MESSAGE I005(YMESS) WITH '更新數據OK!'.
      ENDIF.
    WHEN 'GETDATA'.
      GET CURSOR LINE LINEA.
      CHECK SY-SUBRC = 0.
      LINEA = TBL2-TOP_LINE - 1.
      READ TABLE SP1 INDEX LINEA.
      MESSAGE S006(YMESS) WITH SP1-CARRID SP1-CITYFROM.

  ENDCASE.
ENDMODULE. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值