直接在SAP程序中维护数据库表的示例

本文介绍了如何在ABAP开发中,利用代码在选择界面动态维护数据库表,包括使用SSCRFIELDS结构、初始化界面文本、处理ATSELECTIONSCREEN事件以及调用维护视图的过程。

如何直接在选择界面通过代码维护数据库表?

在系统设置的选择屏幕GUI状态下,应用程序工具栏有5个未激活的按钮,功能代码分别是“FC01”…“FC05”。此语句激活功能码“FC0n”的按钮,其中n必须输入1到5之间的值。
首先,需使用语句 TABLES 来声明 ABAP Dictionary 中的结构 SSCRFIELDS 的接口工作区。

TABLES:sscrfields.

其次,需要在选择屏幕被调用之前,将文本分配给界面区域 sscrfields 的组件 functxt On ,该文本将显示在相关的按钮上。
在这里插入图片描述

INITIALIZATION.
  functxt-icon_id   = icon_ws_plane. "可通过程序RSTXICON或SHOWICON 查询 ICON ID
  functxt-quickinfo = '将当前表中数据保存为版本'.
  functxt-icon_text = '保存为版本'.
  sscrfields-functxt_01 = functxt.

最后,当用户在应用程序工具栏中选择一个按钮时,触发事件 AT SELECTIONSCREEN ,逻辑需写在此事件内。

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN'FC01'.
      PERFORM maintenance_view_call USING 'ZFIF18_BODY' ."此为数据库表的维护视图事务码
    WHEN OTHERS.
  ENDCASE.

注意:数据库表需在系统重建立了维护视图


FORM maintenance_view_call  USING  P_VIEW_NAME.
 DATA:v_view_name TYPE tabname.
  MOVE p_view_name TO v_view_name.
  CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
    EXPORTING
      action    = 'U'
      view_name = v_view_name.
ENDFORM.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值