ECCS4升级项目 ABAP 分享

作者:郑德鼎 约 11 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, CO, Cloud Architecture, Data Engineering, FI, SD, 云架构, 开发, 数据工程, 系统管理, 财务, 销售分销
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

1\. 概述

由于SAP在2028年开始停止ECC系统维护,老客户想要使用SAP新功能,需要做系统升级或S4全新实施项目,S4全新实施成本较高,大部分客户会选择ECC->S4升级。

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

2\. 升级前准备

整理系统中所有自开发程序并记录文档,方便我们初步了解整个系统,以及对于调整的工作量有个初步判断。包括REPORT、增强、接口、FUNCTION、CLASS等。

接口可进行分类RFC,REST,WEBSERVICE及其他。

记录好每个阶段产生的请求,后续QAS,PRD升级时,将请求传输,减少重复调整及停机时间。

SE38->SNIF

该程序可以查询系统中的增强,包括字段增强(附加结构和CI_*开头的结构),BADI,BTE,BAPI,CMOD的。不包括隐式增强和代码强改

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

隐式增强在可在表ENHHEADER中查询,代码强改只能在升级后SPAU调整时才能识别

REPORT在表TRDIR中,FUNCTION在TFDIR中,TFDIF中模式字段为R的为RFC
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

接下来在旧系统开发事务码/接口使用频率跟踪程序,记录使用频率。方便之后业务测试知道侧重点是哪些,我在113升级项目中是跟踪系统进程,获取进程信息来记录。如果您有其他更方便快捷的方法,有空一起交流。主要使用以下两个函数,刷新进程间隔可自行设置

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

APPL_INFO中的信息比较重要,以下是外围系统以RFC方式访问SAP系统的信息

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

若是以WEBSERVICE方式访问,APPL_INFO中会显示P=访问路径,通过访问路径我们去表ZTWS_FUNC查询对应的函数名

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

将此程序设置后台JOB

集成测试之前,业务会要求把下发外围系统的接口关闭,若旧系统是使用LPCONFIG创建逻辑端口,逻辑端口信息会在表SRT_LP中。若BASIS没有方法批量将接口关闭。我们可自开发程序批量取消激活逻辑端口,ACTIVE为I标识未激活,A激活,以下为关键代码截图

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

若是SOAMANAGER创建的逻辑端口,我目前未找到批量关闭逻辑端口的方法。

3\. SIC检查/简化项检查

SE38运行/SDF/RC_START_CHECK

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

系统会将升级到目标系统需要做的不一致调整显示,我们需要将爆红灯的行处理掉,BASIS才能进行后续升级,该步骤一般情况是业务顾问操作。单击后面NOTE号,SAP官方会给出具体解决方案,照着NOTE文档操作即可。此处比较复杂的是BP转换,BP转换官方有一个指导文档

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

涉及到相关程序及事务码,若系统中无以下事务或程序,联系BASIS参照NOTE

2832085并实施,转换之前检查KNVK是否有联系人数据,若有,业务讨论是否启用标准联系人,涉及到之后联系人转换

CVI_MIGRATION_PRECHK

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

程序执行完毕后

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

单击RUNID查看详细信息

该程序转换前检查,能检查出税号类别缺失,必输字段未输入等有问题的数据,提前处理。

税号缺失

SE11->V_TFKTAXNUMTYPE,维护缺失的税号,功能模块使用BUPA_TAX_NUMBER_CHECK

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

处理国家、邮政编码等字段必输的数据

CVI_CUSTOMIZING_RESOLVE

该事务码是进行BP->客户/供应商业务配置,点击定制按钮可跳转到配置位置

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

BP配置参考文档

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

事务码MDS_LOAD_COCKPIT

执行BP转换,去掉后台处理,执行一条数据测试是否成功,成功后全量进行后台处理

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

选择刚才执行的转换,点击此处,注册并激活队列,等待执行

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

执行完毕后若状态为红灯,选中点击此处,查看报错数据

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

处理错误数据,重新执行转换。处理完毕后,对比表LFA1与CVI_VEND_LINK,表KNA1与CVI_CUST_LINK条目数是否相等,相等则转换完毕。

联系人转换,若启用系统标准联系人,转换客户与供应商时,联系人会自动转换。

若不启用标准联系人,使用BP屏幕增强维护联系人,转换前将KNVK表转换至自建表(可复制KNVK表)中并将KNVK表中数据删除,系统升级成功后使用事务码BUPT开发BP屏幕增强,将自建表数据展示到增强屏幕。使用该方法转换BP时速度会快一些,后面会多了一些开发量。

启用标准联系人,转换供应商时,报错,参照NOTE号2711712。

若还出现以下报错

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

处理办法

SFW5

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

点击选择框选中并激活,观察最左侧小灯泡变亮即可

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

XO80创建VTBSTC1,参照NOTE 2256149/1555393,最好将视频中相关的MEMORY OBJECTS都创建

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

4\. SPAU/SPAU_ENH/SPDD

系统升到S4后,新系统与旧系统在标准功能上有不一致的地方,由用户自行决定是否启用新系统或保留旧系统。隐式增强大部分都会保留,代码强改的地方判断当前位置是否合适,若不合适阅读上下文代码,寻找合适的地方加入。

首次执行事务码SPAU时,会让创建一个协议,协议名称Z开头就行,执行,红框里都勾上

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

会出现需要调整的列表,在这里我们除了注释页签不处理,其他页签下报红灯与黄灯的都需要处理。选中要处理的行,右侧执行比较版本

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

左侧为新系统,右侧为旧系统

若要保留旧系统,点击恢复修改(调整)按钮

若要使用新系统,点击放弃修改(重置)按钮,确认调整,状态为绿色对钩即可

重置过的行,可通过事务码SE95进行放弃重置,重新调整

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

该事务码会把系统所有隐式增强和代码强改列出来,红灯与黄灯均需要处理

双击要调整的增强,点修改

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

双击1处,底下会出现调整的页面,点击2出会对比代码,最左侧出现不等号则是代码不一致的地方,调整完毕后点击3处即可

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

有些增强系统会要求删除,但是删除后会影响原有系统业务,我们可以先删除,再参照旧系统把原有增强新建。

5\. ATC检查

ATC检查的作用将系统自开发代码进行语法检查,业务测试之前根据检查结果将代码进行初步调整,保证程序不DUMP。

进入事务码ATC

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

执行调度运行,创建运行序列

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

创建成功后,选中点击调度,执行

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

回到初始屏幕,双击监控和控制运行

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

输入运行序列名称

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

可监控当前序列运行到什么阶段

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

执行结束后,回到初始屏幕,双击管理结果,输入运行序列,选中展示

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

会出现以下界面

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

重点关注以下标红的

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

此处检查的是使用了二分法,删除重复项,at语法等的地方。如果没排序都需要加上排序,双击对象名称可跳转至问题行,双击其他列第三屏会出现详细信息

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

第三屏,详细信息

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

这三项可先调整,第二和第三项,这里面是会导致程序DUMP的地方

ECCS4升级项目 ABA - 封面图
ECCS4升级项目 ABA - 封面图

第一项内容比较多,可将内容导出本地EXCEL,并不是所有程序都需要调整,关注CHECK MESSAGE为以下的程序

形式参数与实际参数不兼容(物料号长度发生变化,批次特性/分类特性相关函数)

对于形式参数,STRUCTURE 参数过短

文字与形式参数不兼容

未调用函数模块参数

程序不存在

无效字符

调用的函数模块不存在(新系统将旧系统中部分函数删除导致不存在)

缺少函数模块参数

未写入参考

不能更改字段

字段在工作区中不具有相应字段

工作区不包含任何相应

...

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ECCS4升级项目ABAP分享.md」整理生成,仅用于内部技术分享与学习交流。