新建一个数据库表
设置成可维护
这里可以se11创建表维护视图
也可以直接在刚才的界面
点新建即可。
另外,表字段里有时间和日期。
想在创建和修改行项目的时候,日期和时间字段自动填充。
首先可以考虑在对应的PAI里处理
这里加一个 on request 的modle。
比如最简单的
我自己习惯在这里控制,自己修改table control ,可控的地方多。
比如字段描述,字段显示长度,是否必输,是否可输入。哪些字段增加什么特殊校验之类的。都可以自己加。
另外可以考虑使用event。
使用event的话,需要单独建一个维护视图,不能直接se11创建完数据库表直接table maintaince generator。
新建Event:01
代码可以参考下面的,使用的是全局变量 total。
另外一个常用的全局变量是<ACTION>,分别代表不同的操作。
<ACTION> ='N':代表新记录
<ACTION> ='D':代表删除记录
<ACTION> ='U':代表更新记录
我上面代码里没有区分是修改还是创建,一般是要加上的,我懒得写了。
下面说下,创建数据库后直接table maintaince generator生成的视图会怎样:
如果是se11 创建维护视图呢?
所以使用event的时候注意建一个view。
我自己一般很少使用event,基本上都是直接修改生成的table control。更方便灵活,但是正规做法肯定是通过event来处理的。看你们自己的爱好吧。
下面说一下function调用。
一般就是使用 VIEW_MAINTENANCE_CALL 即可,
有时候需要加上筛选条件,然后有个选择屏幕程序来控制,比如控制权限等等的吧。
这个也是比较常用的。
可以直接参考下面的demo。
添加晒选条件
只显示筛选条件中的LH。
*&---------------------------------------------------------------------*
*& Report ZLM_VIEW_DB_001
*&
*&---------------------------------------------------------------------*
REPORT ZLM_VIEW_DB_001.
TABLES ZLM_DB_001.
SELECT-OPTIONS:
s_carrid FOR ZLM_DB_001-carrid.
DATA: lt_seltab TYPE STANDARD TABLE OF vimsellist.
DATA: gt_exclude TYPE TABLE OF vimexclfun,
gwa_exclude TYPE vimexclfun.
START-OF-SELECTION.
"选择条件控制
CLEAR lt_seltab[].
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = 'CARRID'
append_conjunction = 'AND'
TABLES
sellist = lt_seltab
rangetab = s_carrid.
"调用维护视图
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U'
view_name = 'ZLM_DB_001'
TABLES
dba_sellist = lt_seltab[]
简单的表维护视图相关就先写到这里,后续会补充一些其他可能用到的东西。