1\. 概述
由于SAP在2028年开始停止ECC系统维护,老客户想要使用SAP新功能,需要做系统升级或S4全新实施项目,S4全新实施成本较高,大部分客户会选择ECC->S4升级。
2\. 升级前准备
整理系统中所有自开发程序并记录文档,方便我们初步了解整个系统,以及对于调整的工作量有个初步判断。包括REPORT、增强、接口、FUNCTION、CLASS等。
接口可进行分类RFC,REST,WEBSERVICE及其他。
记录好每个阶段产生的请求,后续QAS,PRD升级时,将请求传输,减少重复调整及停机时间。
SE38->SNIF
该程序可以查询系统中的增强,包括字段增强(附加结构和CI_*开头的结构),BADI,BTE,BAPI,CMOD的。不包括隐式增强和代码强改
隐式增强在可在表ENHHEADER中查询,代码强改只能在升级后SPAU调整时才能识别
REPORT在表TRDIR中,FUNCTION在TFDIR中,TFDIF中模式字段为R的为RFC接下来在旧系统开发事务码/接口使用频率跟踪程序,记录使用频率。方便之后业务测试知道侧重点是哪些,我在113升级项目中是跟踪系统进程,获取进程信息来记录。如果您有其他更方便快捷的方法,有空一起交流。主要使用以下两个函数,刷新进程间隔可自行设置
APPL_INFO中的信息比较重要,以下是外围系统以RFC方式访问SAP系统的信息
若是以WEBSERVICE方式访问,APPL_INFO中会显示P=访问路径,通过访问路径我们去表ZTWS_FUNC查询对应的函数名
将此程序设置后台JOB
集成测试之前,业务会要求把下发外围系统的接口关闭,若旧系统是使用LPCONFIG创建逻辑端口,逻辑端口信息会在表SRT_LP中。若BASIS没有方法批量将接口关闭。我们可自开发程序批量取消激活逻辑端口,ACTIVE为I标识未激活,A激活,以下为关键代码截图
若是SOAMANAGER创建的逻辑端口,我目前未找到批量关闭逻辑端口的方法。
3\. SIC检查/简化项检查
SE38运行/SDF/RC_START_CHECK
系统会将升级到目标系统需要做的不一致调整显示,我们需要将爆红灯的行处理掉,BASIS才能进行后续升级,该步骤一般情况是业务顾问操作。单击后面NOTE号,SAP官方会给出具体解决方案,照着NOTE文档操作即可。此处比较复杂的是BP转换,BP转换官方有一个指导文档
涉及到相关程序及事务码,若系统中无以下事务或程序,联系BASIS参照NOTE
2832085并实施,转换之前检查KNVK是否有联系人数据,若有,业务讨论是否启用标准联系人,涉及到之后联系人转换
CVI_MIGRATION_PRECHK
程序执行完毕后
单击RUNID查看详细信息
该程序转换前检查,能检查出税号类别缺失,必输字段未输入等有问题的数据,提前处理。
税号缺失
SE11->V_TFKTAXNUMTYPE,维护缺失的税号,功能模块使用BUPA_TAX_NUMBER_CHECK
处理国家、邮政编码等字段必输的数据
CVI_CUSTOMIZING_RESOLVE
该事务码是进行BP->客户/供应商业务配置,点击定制按钮可跳转到配置位置
BP配置参考文档
事务码MDS_LOAD_COCKPIT
执行BP转换,去掉后台处理,执行一条数据测试是否成功,成功后全量进行后台处理
选择刚才执行的转换,点击此处,注册并激活队列,等待执行
执行完毕后若状态为红灯,选中点击此处,查看报错数据
处理错误数据,重新执行转换。处理完毕后,对比表LFA1与CVI_VEND_LINK,表KNA1与CVI_CUST_LINK条目数是否相等,相等则转换完毕。
联系人转换,若启用系统标准联系人,转换客户与供应商时,联系人会自动转换。
若不启用标准联系人,使用BP屏幕增强维护联系人,转换前将KNVK表转换至自建表(可复制KNVK表)中并将KNVK表中数据删除,系统升级成功后使用事务码BUPT开发BP屏幕增强,将自建表数据展示到增强屏幕。使用该方法转换BP时速度会快一些,后面会多了一些开发量。
启用标准联系人,转换供应商时,报错,参照NOTE号2711712。
若还出现以下报错
处理办法
SFW5
点击选择框选中并激活,观察最左侧小灯泡变亮即可
XO80创建VTBSTC1,参照NOTE 2256149/1555393,最好将视频中相关的MEMORY OBJECTS都创建
4\. SPAU/SPAU_ENH/SPDD
系统升到S4后,新系统与旧系统在标准功能上有不一致的地方,由用户自行决定是否启用新系统或保留旧系统。隐式增强大部分都会保留,代码强改的地方判断当前位置是否合适,若不合适阅读上下文代码,寻找合适的地方加入。
首次执行事务码SPAU时,会让创建一个协议,协议名称Z开头就行,执行,红框里都勾上
会出现需要调整的列表,在这里我们除了注释页签不处理,其他页签下报红灯与黄灯的都需要处理。选中要处理的行,右侧执行比较版本
左侧为新系统,右侧为旧系统
若要保留旧系统,点击恢复修改(调整)按钮
若要使用新系统,点击放弃修改(重置)按钮,确认调整,状态为绿色对钩即可
重置过的行,可通过事务码SE95进行放弃重置,重新调整
该事务码会把系统所有隐式增强和代码强改列出来,红灯与黄灯均需要处理
双击要调整的增强,点修改
双击1处,底下会出现调整的页面,点击2出会对比代码,最左侧出现不等号则是代码不一致的地方,调整完毕后点击3处即可
有些增强系统会要求删除,但是删除后会影响原有系统业务,我们可以先删除,再参照旧系统把原有增强新建。
5\. ATC检查
ATC检查的作用将系统自开发代码进行语法检查,业务测试之前根据检查结果将代码进行初步调整,保证程序不DUMP。
进入事务码ATC
执行调度运行,创建运行序列
创建成功后,选中点击调度,执行
回到初始屏幕,双击监控和控制运行
输入运行序列名称
可监控当前序列运行到什么阶段
执行结束后,回到初始屏幕,双击管理结果,输入运行序列,选中展示
会出现以下界面
重点关注以下标红的
此处检查的是使用了二分法,删除重复项,at语法等的地方。如果没排序都需要加上排序,双击对象名称可跳转至问题行,双击其他列第三屏会出现详细信息
第三屏,详细信息
这三项可先调整,第二和第三项,这里面是会导致程序DUMP的地方
第一项内容比较多,可将内容导出本地EXCEL,并不是所有程序都需要调整,关注CHECK MESSAGE为以下的程序
形式参数与实际参数不兼容(物料号长度发生变化,批次特性/分类特性相关函数)
对于形式参数,STRUCTURE 参数过短
文字与形式参数不兼容
未调用函数模块参数
程序不存在
无效字符
调用的函数模块不存在(新系统将旧系统中部分函数删除导致不存在)
缺少函数模块参数
未写入参考
不能更改字段
字段在工作区中不具有相应字段
工作区不包含任何相应
...