roll back--回滚
回滚在sap开发中,会时常用到,这也是降低开发风险的最重要途径之一
通常我们讲究程序开发的系统模块化,这在程序后期的维护中起到非常便捷、高效的作用
在sap系统中,通常把程序分成不同的模块,每一个模块放在一个相应的文件当中,由开发系统->测试系统->生产系统
我们会通过 请求号 依次传输各个系统,最后到生产系统
每一个请求号会包含不同的文件对象,通常情况下,这几个文件对象互相联系,共同构成我们所开发的事物码
在传输过程中,请求号里的传输是根据每一个文件对象依次传输
实际中遇到的问题
现在有一个事物码A,已经在生产系统中投入使用,突然发现有些问题,要紧急修复,这时无论问题多么严重,我们还是
要严格按照开发流程来走,从开发->测试->生产
当我们回归到开发系统去解决这个问题时,发现这个程序已经在开发系统开始做优化了,这时我们会有两种做法:
1)如果优化和这个修复的紧急程度一样,那么我们直接可以使用这个请求号,在里面进行修改
2)事情往往并非像我们想的那样,修复的紧急程度高于目前的优化程度,也就是说,这个修复要赶在优化之前发到生产,如果
优化和修复是同一个对象,则就有点复杂了,必须要保证修复的这个不能把已经辛苦做的优化覆盖掉
解决办法:
我们首先通过se09找到该请求下的对象,把此次优化的对象先拷贝到本地,然后再把该对象进行回滚,回滚和生产系统一样的版本
,接下来,把该对象在该请求号下删掉。紧接着,在回滚后的对象里,去改优先级比较高的紧急修复,并保存重新创建请求。后边我们
只需将该对象下的请求依次传到生产系统,释放完成后,我们再把之前的优化重新恢复过来,但是此时,优化里必须包含这个紧急修复
,否则,等到这个优化发布生产之后,会将那个紧急修复覆盖掉(这里一定要切记)
回滚的做法:我们要将A混滚到B(B和生产系统是完全一样的,这里通过比较版本来看),我们首先将A对象打开,然后点击版本,找
到B并选中,再点击检索,会提示当前指定版本(这里就是我们选中的B)会被覆盖,是否确定,点击去确定,再返回到A对象的界面,
并激活,这时再对比一下和生产系统,二者一样,就说明回滚成功