SAP Technical
聊聊SAP的那些事儿
上一篇介绍视图变更方法的文章里,很多读者小伙伴给我了一些建议,非常感谢大家提供的思路和方法。所以,今天这篇文章我们在讨论一下这个问题,介绍一下另一种实现视图变更的快捷方法。感兴趣的朋友可以阅读一下本文。
写在前面
在上一篇文章发出之后,很多人给我提了一下建议,说还有一种更好的办法,所以今天继续更新一篇,特别感谢这些朋友建议,同时感谢大家的支持。当然使用范围请阅读我下面的建议,这个方法也是视图更改的一个技巧,所以再写一篇提供给有不同需求的读者朋友。如果你也有这样的需求,不妨来阅读一下本文。
在正文开始之前,先说一下视图变更后的几种修正方法:
方法一:请阅读我的上一篇文章,下文有链接
方法二:请阅读本文,也是一种快捷的方法
方法三:删除视图重新创建,比较简单
(如果你有更好的建议,欢迎留言或者私信探讨)
本文介绍的方法,建议在以下情况中使用:
1、视图不复杂,没有修改flow logic。
2、没有什么数据关联。
3、不影响event。
先来一个简介,SAP的视图的类型有五种:
Database views :和数据库的视图形同,连接条件是必须自定义。
Projection views: 用于屏蔽一些字段(一般用于保护数据时使用)。
Help views: 该类视图可以用搜索帮助的"selection method"中使用,参与连接表必须存在外键。
Maintenance views:允许你进行对几个表的数据进行修改,参与连接表必须存在外键,他们的连接条件是不能自定义的。
Append Views:这种视图主要用于增强;
在四种类型视图只有Database views是通过inner join来建立。其他类型的视图使用的outer join 语句建立的。(此段内容摘自网上,感谢misshappy是我)
添加字段
我在上一篇的测试表中添加一些自定义的字段,更改表结构,我这里新加的字段是ZNAME1、ZNAME2、ZNAME3,如下图所示:
同样的新添加的字段数据肯定都是空的,想把新加的字段也维护上我们业务中需要的数据。我们先进入SM30查看一下,如下图所示:
调整表
因为我们的表结构发生了变化,所以,我这里首先调整一下表结构,使用事务码SE14进行,如下图所示:
点击Activate and adjust database进行调整。
调整视图
调整完表结构之后,我们来调整视图,当然今天介绍的方法和之前一篇的不同,今天说的是另一种更快捷的方法。进入到table maintenance generator,如下图所示:
进入到上面的截图中之后,我们点击change,会进入change generation element界面,在这个界面里,如下图所示:
这里我会勾选new field选项,当然我们这里是新添加,如果是删除请选择对应的选项,比如removed from structure,如下图所示:
专家模式
这里还要提一点这个专家模式,当然我就不再一个一个的赘述了,专家模式里面也有很多选项可供选择,基本都是renew, refresh structure, control,根据你的需要进行选择,我这里也放一张图(这一条内容是后来补充的内容),请看下图:
重要提示
到这一步重点来了,在上图之后,我点继续,这时会弹出change generation element的详细界面,如下图所示:
从上图可以看到,有几个选择项,overview、single、key、normal,在选择的时候,我们要考虑修改视图的什么部分,正常情况下,一般都是更改overview screen和normal field,那我按照这个选项进行操作,如下图所示:
进行完上述操作之后,点击确定,这时候会出现一个warning,不用在意这个警告,这个警告只是告诉你原视图被deleted并且被re-created,如下图所示:
注意:以上所有步骤完成后记得保存激活操作,以保证我们做的更改都可以生效。
再次查看视图
经过上面一系列的操作之后,我们来看一下视图是否有变化,并且新加的字段是否已经存在,并且可以进行维护了。
从上图可以看出,已经实现了我们想要的结果,并且可以进行数据维护,说明我们上述的修改步骤已经生效了。如果你有一个比较复杂的视图变更,那么还是建议阅读《
轻松搞定SAP的视图变更
》,这个方法更为稳妥。
再次重申
我碰到过很多项目是在logic里放处理逻辑,而且还不是一点逻辑,会加很多内容,而且很多项目里会使用two step的方式在程序里使用,因为这样做可以减少DB处理的情况,这种情况就会被renew,很多项目并没有按照正规的流程做,在选择function group 和refresh overview screen后就会重构flow,这样就会导致内容的丢失,当然renew选项也是会影响到logic。
虽然可能看起来很简单,但希望读者朋友能喜欢这个技巧。
领取专属 10元无门槛券
私享最新 技术干货