Table Control例子

本文展示了如何在SAP ABAP中使用Table Control实现数据操作,包括编辑、选择、排序、分页、过滤等功能。通过示例代码详细解释了如何处理用户输入和响应,为开发人员提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现了Table Control的主要的一些功能,可以作为例子参考,实现的功能有是否可编辑切换,选择某一条记录点击按钮显示详细信息,新增记录,删除记录,选择所有记录,选择光标所有记录,取消选择所有,排序,行选择栏位,列不可编辑,固定列,Table Control标题,分页功能,根据输入A字段的值显示B字段的值,某字段的值如果等于XXX就不可编辑等功能。相信这些功能已经可以满足大部份的开发了。

主程序代码:
DATA: ok_code TYPE sy-ucomm,
      save_ok TYPE sy-ucomm.
DATA: l_field TYPE char50,
      l_line  TYPE i.

TYPES: BEGIN OF ty_spfli,
         carrid TYPE spfli-carrid,
         connid TYPE spfli-connid,
         countryfr TYPE spfli-countryfr,
         cityfrom TYPE spfli-cityfrom,
         airpfrom TYPE spfli-airpfrom,
         mask(1),
END OF ty_spfli.

DATA g_lines TYPE i.
DATA sp2 TYPE TABLE OF ty_spfli WITH HEADER LINE.

DATA sp1 TYPE ty_spfli.

SELECT * INTO CORRESPONDING FIELDS OF TABLE sp2 FROM spfli.

CONTROLS content TYPE TABLEVIEW USING SCREEN 100.
content-top_line = 1.
content-lines = LINES( sp2 ).

CALL SCREEN 100.

LOOP AT sp2.
  WRITE: / sp2-carrid,sp2-connid,sp2-countryfr,sp2-cityfrom.
ENDLOOP.

*----------------------------------------------------------------------*
*  MODULE status_0100 OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STA'.
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 'EXIT'.
      LEAVE TO SCREEN 0.
    WHEN 'SWITH'.
      PERFORM f_switch.
    WHEN 'SORT_UP'.
      PERFORM f_sort USING 'UP'.
    WHEN 'SORT_DOWN'.
      PERFORM f_sort USING 'DOWN'.
    WHEN 'DETAIL'.
      PERFORM f_detail.
    WHEN 'P--'.
      PERFORM f_page USING save_ok.
    WHEN 'P-'.
      PERFORM f_page USING save_ok.
    WHEN 'P+'.
      PERFORM f_page USING save_ok.
    WHEN 'P++'.
      PERFORM f_page USING save_ok.
    WHEN 'SELECT'.
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值