为什么要使用请求号
版本管理是软件编程领域或编程过程中的一个基本工具,用于保存和优化开发成果,并提高开发的灵活性。
通过版本管理,可以保存程序当前状态以及之前每一个提交的历史状态,可以回退到任意一个版本节点;在保存每一个版本的文件信息时不重复保存数据,节约存储空间,提高运行效率;可以清楚地对比不同版本之间修改的内容;
版本管理能够有效提升多人协作团队开发效率。常见的版本管理软件有集中式的SVN和分布式的Git,而在SAP中则通过请求号来进行版本管理。
在SAP实施中,系统一般分为三层,分别是DEV、QAS和PRD,即开发、测试和生产三个环境。开发人员在DEV中的修改将记录在请求号中,使用SE09释放请求,并通过STMS传输管理系统传输到QAS与PRD以同步程序。
如果是在同一个服务器的不同Client进行传输,则使用事务代码SCC1,本文不涉及相关内容。
SAP的请求传输机制
在不同服务器之间进行传输时,系统会将请求号以及相应的内容保存成一个文件,也就是系统会保存请求号当时的配置。
通过事务代码AL11,在根目录DIR_TRANS /usr/sap/trans的子目录下(cofiles、data)可以看到相应请求号以及请求号的内容,通过事务代码CG3Y,可以将相应的配置导出该文件为本机文件。
如果两个系统没有做连接,我们希望将请求号导入到另一个系统,那我们可以先通过事务代码CG3Z将上文中的文件导入到另一个系统的文件目录中,再通过STMS进行导入。
当两个系统相互连接的时候(比如DEV->QAS),我们使用事务代码STMS,实际上也是先读取DEV系统的请求号,关联上文提到的文件,然后通过STMS将文件导入到当前系统中。
STMS传输管理系统优化
增强STMS队列显示
在进入STMS传输队列时,请求默认为从小到大的排序,而我们产生的新请求一般都排在队列的最末端,查看起来不太方便。因此,我们对STMS队列显示做一个增强,默认情况下将请求倒序排列,进入STMS就可以直接看到我们产生的新请求了。
通过debug找到函数:TMS_UIQ_INT_SORT_QUEUE,在这个函数的末尾添加一个隐式增强点即可实现。
代码分享:
ENHANCEMENT 1 ZEN_STMS_SORT. "active version
"传入排序条件为空时,按编号倒序展示
IF IV_SORT_FIELD IS INITIAL.
SORT CT_REQUESTS STABLE BY BUFPOS DESCENDING.
ENDIF.
ENDENHANCEMENT.
隐藏导入所有请求的按钮
在STMS传输管理系统中,有一个导入所有请求的按钮,这个按钮会将当前队列中的所有请求再次导入目标系统,一般在SAP系统正式上线后几乎不会用到此功能,并且在误触时会造成一些不可预知的错误,处理非常麻烦。所以在系统上线后,我们可以通过参数配置来隐藏掉这个按钮。
首先,进入STMS,点击系统概览:
双击需要修改配置的系统进入传输工具配置:
新增参数配置NO_IMPORT_ALL,值为1即可:
这里注意,对每个系统都要做配置。再次进入STMS时就会发现导入所有请求的按钮已经隐藏。