前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【ABAP随笔】SM30常见增强操作-自动带描述等

【ABAP随笔】SM30常见增强操作-自动带描述等

作者头像
Tab Zhu
发布2022-06-23 15:24:07
1.2K0
发布2022-06-23 15:24:07
举报
文章被收录于专栏:TAB的coding生活TAB的coding生活

1. 自动带出描述类型(更新回数据库)

我们使用的是在SM30中自动带出销售订单类型的描述

首先我们创建一张表和一个维护视图(维护视图的好处就是可以方便增加字段),维护视图中维护标记为R标识字段不可输入

然后需求就是根据填入的销售订单号,去TVAKT中抓取描述,给context字段

我们根据维护视图创建表维护生成器:

函数组名称为ZVJXZHU_FG_01

接着进入到函数组ZVJXZHU_FG_01界面下:

为了防止维护程序的时候出现空的VBELN,所有我们进入到9000屏幕布局页面将VBELN和POSNR设置为必输,双击vbeln列,将input设置为required。

然后代码部分为在9000屏幕的代码下增加:双击创建

在include 程序中增加代码:(注意这个和下面通过事件写的自动流水号不同,这个自动带入描述时每次都会执行)

我们看下SM30进去维护的效果就是:

2. 自动带出描述(不更新数据库,仅显示)

(1) 利用数据库自带的外键,用维护视图来带出所需要的字段

我们这里就带出一下订单日期好了。

首先必须在ZTJXZHU_01中给vbeln设置外键:VBAK-VBELN

进入维护视图ZVJXZHU_01点关系:

然后在视图字段上增加字段:

我们重新生成一下表维护生成器(重新生成之后,9000屏幕上的代码会被刷新,所以需要重新加一下代码,要是代码比较多就最好体现备份一下)

效果如下当你输入一个订单时,会自动带出其创建日期,同时因为设置了外键,当你输入VBELN不存在于VBAK时,不允许输入。

(2) 直接修改屏幕-给屏幕加一列,然后自己在PBO中写代码获取所需的值。

我们就以订单类型来举个例子:

进入9000屏幕布局:分别把文本和输入框拖到指定位置(因为我的SAP有语言包确实问题所以暂时命名为1234,到元素清单中可以修改)

在9000屏幕的PBO中增加代码:

执行SM30效果如下图所示:

3. 自动编号功能

这个是昨天ABAP群里小伙伴的一个需求,每次增加条目时给条目一个流水号码,当前最大号码+1 (有删除先不管)

我们通过表维护生成器事件来实现这个功能

首先我们使用上面定义的ID来作为流水号码,进入视图的表维护生成器界面(点修改进入):

点击事件:

弹出消息,无需理会

点击新条目,然后

我们使用05维护事件,还有其他的维护事件可以使用,大家可以自己去尝试

增加子例程FRM_AUTO_NUM,然后点击编辑器(下图红框),创建form

只有才创建新条目才会调用

这个事件就写好了,在创建新条目的时候,会自动给ID加上流水号码。

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAP TAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 自动带出描述类型(更新回数据库)
  • 2. 自动带出描述(不更新数据库,仅显示)
    • (1) 利用数据库自带的外键,用维护视图来带出所需要的字段
      • (2) 直接修改屏幕-给屏幕加一列,然后自己在PBO中写代码获取所需的值。
      • 3. 自动编号功能
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档