视图维护-创建、增强与过滤
在我们日常的开发和运维中,需要做维护的时候难免会遇到各种问题。今天就来告诉大家如何生成维护视图、如何增强视图事件,以及在创建事件中需要注意的事项,和发生问题时的解决方案。以下开始干货满满的教学!
1 维护视图生成
1.1 创建表
事务代码:se11,创建结构“YYS_TIMESTAMP”如下
创建数据库表‘YDEMO01’,输入描述,交付类选择“C”,选择“X允许显示/维护”
创建数据库表‘YDEMO02’,输入描述,交付类选择“C”,选择“X允许显示/维护”
1.2 创建外键
YDEMO02,选中“UNAME”点击“外键”
系统会自动推送匹配的检查表,配置后表中的“UNAME”字段将被限定。限定了将来这张透明表所存储的数据的这个字段必须在有外键关系的那张表(USR02)中存在,否则会报错。
表示外键已加。
同样对“STATUS”进行外键设置,当系统没有推荐的外键表时,可手动输入表名,点击“创建建议”
设置“设置技术设置”,数据类选择“APPL0”,大小类别选择“0”即可,当数据条超过预期数量,将自动扩大表大小。
**表。
1.3 创建视图
解释:
- “权限组”:给一个值,此例使用“&NC&”(无授权组);
- “函数组”:给一个自定义函数组名称,此例为“YYDEMO02”;
- “维护类型”:可选一步法或二步法,一步法只维护条目概览部分,而二步法除概览外还可维护条目明细,此栏选一步法;
- 无论一步法或二步法,“概述屏幕”栏均需给一个屏幕编号,此例给“2”,由于是一步法故第一屏幕栏不需要输入;
- 记录例程:此例不需要生成传输请求,故选择第二项,如需生成传输请求则选另一项。
点击左上角 “创建”,此例保存在本地,将创建函数组,需多次点击保存,直至完成。
2 视图事件增强
2.1 01事件在保存数据前
- 如何自动记录时间戳呢?
用的比较多的是01,03,05,21这4个事件。
01 用于数据保存数据库前触发
03 在删除数据库数据之前触发
05 当建立新的条目时触发
21 不希望某些字段在前台显示,但仍需记录信息时采用
推荐将所有事件放到一个INCLUDE程序下,**事件后,将在主程序名为SAPL+函数组,此处为SAPLYYDEMO02,下创建INCLUDE程序,后续加事件后推荐都放到同一个INCLUDE程序下。
此处创建01事件。
(如需源代码,请转发此文章至朋友圈,截图给助理)
创建完成后SM30维护视图,输入用户和状态后,点击保存,自动带出创建人、创建日期创建时间等信息。
-
如果某些字段不允许输入,只允许显示,例如描述字段,可以采用如下方法:
(此时对象描述不能自动带出)
2.2 05事件创建新数据时触发
创建数据时,自动带出YYDEMO01表中的描述,此事件在更新时不触发。
选择与上步相同的INCLUDE程序。
2.3 21事件在更新数据时触发
当更新数据时,不触发05事件,以2.2步骤数据为例,当状态3更改为2时,对象描述不会随着改变,因此需要21事件。
当状态从‘03’变更为‘01’对象描述也随之改变。
2.4 03事件在删除数据前
- 如果我们不希望他人删除自己维护的信息该如何操作呢?
2.5 维护视图事件注意事项
相同的事件只能维护一个。
2.6 表结构变更,如何调整视图
在视图维护界面,点击更改
更改后需到SE38,找到对应主程序(SAPL+函数名),添加INCLUDE LYYDEMO02F01程序。
3 视图选择过滤
3.1 将选择屏幕与视图维护相结合
(如需源代码,请转发此文章至朋友圈,截图给助理)
3.2 外键在选择界面的作用value-check
如果希望在选择屏幕上对输入的信息进行校验,可采用value check。
注:字段必须在定义的表中设置外键才可实现
3.3 如何设置某个字段的默认值
找到字段的MEMORY ID,在事务代码:SU3中设置默认值。
程序运行时将自动输入默认值。
此字段如果输入其他值,下次执行时将自动输入上次的值。
3.4 自定义字段如何设置MEMORY ID
在SM30中维护TPARA表。
创作不易,觉得有用的小伙伴一定要收藏转发分享!
图文来源:Goldan、Lisa
图文编辑:Yannick