目录
开发类型:
创建维护视图
开发申请:
虽然开发申请上面没写,但是实际开发中,我们还是要给维护视图添加一个事务代码,方便用户使用
开发步骤:
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.
以上就是维护视图+事件的全部开发步骤了,只写了一点点代码,就是涉及的操作有点多,总的来说还是很简单的~