0
点赞
收藏
分享

微信扫一扫

DEMO:表维护视图相关维护及调用

Brose 2022-10-14 阅读 142


新建一个数据库表

DEMO:表维护视图相关维护及调用_数据库表

设置成可维护

DEMO:表维护视图相关维护及调用_vim_02


这里可以se11创建表维护视图

DEMO:表维护视图相关维护及调用_vim_03

也可以直接在刚才的界面

DEMO:表维护视图相关维护及调用_字段_04

DEMO:表维护视图相关维护及调用_数据库表_05

点新建即可。

另外,表字段里有时间和日期。

想在创建和修改行项目的时候,日期和时间字段自动填充。


首先可以考虑在对应的PAI里处理

这里加一个 on request 的modle。

DEMO:表维护视图相关维护及调用_字段_06

比如最简单的 

DEMO:表维护视图相关维护及调用_字段_07

我自己习惯在这里控制,自己修改table control ,可控的地方多。

比如字段描述,字段显示长度,是否必输,是否可输入。哪些字段增加什么特殊校验之类的。都可以自己加。


另外可以考虑使用event。

使用event的话,需要单独建一个维护视图,不能直接se11创建完数据库表直接table maintaince generator。

DEMO:表维护视图相关维护及调用_字段_08

新建Event:01

DEMO:表维护视图相关维护及调用_数据库表_09

DEMO:表维护视图相关维护及调用_vim_10

代码可以参考下面的,使用的是全局变量 total。

另外一个常用的全局变量是<ACTION>,分别代表不同的操作。

<ACTION> ='N':代表新记录

<ACTION> ='D':代表删除记录

<ACTION> ='U':代表更新记录

DEMO:表维护视图相关维护及调用_vim_11

我上面代码里没有区分是修改还是创建,一般是要加上的,我懒得写了。


下面说下,创建数据库后直接table maintaince generator生成的视图会怎样:

DEMO:表维护视图相关维护及调用_数据库表_12

如果是se11 创建维护视图呢?

DEMO:表维护视图相关维护及调用_数据库表_13

所以使用event的时候注意建一个view。

DEMO:表维护视图相关维护及调用_vim_14


我自己一般很少使用event,基本上都是直接修改生成的table control。更方便灵活,但是正规做法肯定是通过event来处理的。看你们自己的爱好吧。


下面说一下function调用。

一般就是使用 VIEW_MAINTENANCE_CALL 即可,

有时候需要加上筛选条件,然后有个选择屏幕程序来控制,比如控制权限等等的吧。


这个也是比较常用的。


可以直接参考下面的demo。

DEMO:表维护视图相关维护及调用_字段_15

DEMO:表维护视图相关维护及调用_vim_16

添加晒选条件


DEMO:表维护视图相关维护及调用_字段_17

DEMO:表维护视图相关维护及调用_字段_18

只显示筛选条件中的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[]

简单的表维护视图相关就先写到这里,后续会补充一些其他可能用到的东西。

DEMO:表维护视图相关维护及调用_字段_19




举报

相关推荐

0 条评论