Bootstrap

ABAP小白开发操作手册+(六)创建维护视图及事件

目录

开发类型:

开发申请:

开发步骤:

1、创建后台表

2、生成维护视图

3、隐藏自带字段

4、事件代码编写

5、配置事务代码

6、其它个性化需求

6.1、修改维护视图字段的可见长度

6.2、根据后台表查看对应维护视图的事务代码

代码如下:


开发类型:

创建维护视图

开发申请:

虽然开发申请上面没写,但是实际开发中,我们还是要给维护视图添加一个事务代码,方便用户使用

开发步骤:

1、创建后台表

使用SE11,进行后台表创建

自建表的命名,不同的公司规则不同,但是共同点是必须以Z字母开头,表示自建

点击右边的搜索帮助,可以看到该命名规则下,SD模块的自建表流水号排到哪个位置,我们新建后台表的时候,就接着编号新增就可以了

这里看到已经排到0165号了,我们可以新建ZTSD0166(我直接跳过了一个号,建成167号了,不过也没事,只要是系统里面不存在的就可以新增,不会报错的)

点击创建,会自动进入表字段界面

新增字段的时候需要加上MANDT字段,是为了区分不同client的,主要是避免测试机的数据串到正式机上面去了。就算开发申请上面没写这个字段,我们在开发的时候也要加上哦!

这次开发,我全部都使用了新建的数据元素,(在平时开发的时候,如果对字段展示什么的没什么要求,可以使用内置类型进行字段创建,要方便一点)我点开一个数据元素展示一下:

数据元素激活就可以使用了,接着就是技术设置,这个也设置一下就好了

设置完之后,激活表,后台表就建好了。

2、生成维护视图

在当前表的编辑页面,点击实用程序->表维护生成器

即可进入下面界面,根据步骤,生成屏幕

这时,表维护视图就已经生成成功了(我后面做的时候把屏幕编号改为了2,都一样的哈,不影响观看)

在屏幕代码界面,点击测试按钮,可以查看当前的维护视图界面

直接点勾

 

得到如下展示界面

这时候可以看到后面“创建人、创建日期、创建时间、更改人、更改日期、更改时间”都被展示出来了(我的截图上面没有截出来,但如果是按照我上面的步骤来做的话,肯定是会展示出来的),这和开发申请的第二点需求不符合,接下来我们将这些字段隐藏

3、隐藏自带字段

点击“布局”按钮,进入屏幕制作器

进入屏幕制作器之后,将不需要的字段抬头和下面的表格全部删除,像下面一样,鼠标点击控件,再点击删除,就可以了。删除之后要激活!

然后退出屏幕制作器,返回代码界面

可以看到元素清单里面也只剩下我们需要维护的字段了,接着进入逻辑流,在LOOP循环里面,把那六个字段注释掉,如下:

这时,再点击测试屏幕,维护视图界面即只剩下需要维护的字段了

4、事件代码编写

在逻辑流代码下,添加一个事件“GET_DATA1”,编写下面代码后,点击语法校验

点击“是”,会弹出对话框,让我们选择代码写在哪个包含文件里面,都可以选择

选好代码位置后,系统会自动进入新代码编辑界面,写上如下代码即可

这里有个小的注意点是:创建人、创建日期都可以用INITIAL进行判断是否有值,但是创建时间需要用 = ''进行判断。然后要激活这个包含文件!

再返回逻辑流也激活,所有涉及到的程序都激活后,整个开发基本就做完了。

5、配置事务代码

维护视图配置事务代码和程序配置事务代码有一点点不一样。具体如下:

然后使用SE93,创建事务代码,选择参数对象,事务代码填写SM30,GUI支持全选

点击保存 ,事务代码ZSD167 即分配给了我们的这个维护视图。

在首页输入ZSD167,点击回车,即可快速进入这个维护视图的维护界面。

进入维护视图如下所示,我们可以测试一下,点击新建条目

点击保存

数据保存后,我们进入后台表查看,SE16N查看后台数据

如下所示:

至此,维护视图就做好了,可以交付用户测试了。

6、其它个性化需求
6.1、修改维护视图字段的可见长度

这个可以在屏幕的元素清单界面调整

将元素的可见长度修改为需要的长度,再激活就可以了

6.2、根据后台表查看对应维护视图的事务代码

通过后台表查找维护视图以及维护视图的事务代码,SM30可以查看后台表的维护视图,找到维护视图后,通过表TSTCP查找T_CODE

代码如下:

事件的代码

MODULE GET_DATA INPUT.

IF ZTSD0167-CRNAM IS INITIAL.
 ZTSD0167-CRNAM = SY-UNAME.
ENDIF.
IF ZTSD0167-CRDAT IS INITIAL..
ZTSD0167-CRDAT = SY-DATUM.
ENDIF.
IF ZTSD0167-CRTIM = ''.
 ZTSD0167-CRTIM = SY-UZEIT.
ENDIF.
 ZTSD0167-CHNAM = SY-UNAME.
 ZTSD0167-CHDAT = SY-DATUM.
 ZTSD0167-CHTIM = SY-UZEIT.

ENDMODULE.

以上就是维护视图+事件的全部开发步骤了,只写了一点点代码,就是涉及的操作有点多,总的来说还是很简单的~

;