第一步为Client创建逻辑系统(SALE)
如果参与ALE的两个集团不在同一SAP系统中,则需要在两边系统中分别为这两个集团设定逻辑系统名称,且要相同;如果是在同一SAP系统中不同集团之间,则只需要进行一次逻辑系统名称的定义即可,因为该设定是跨集团Client的。
我选择了500作为发送方,而600作为接收方。我将从 500发送物料主数据到600中
Tcode:SALE
第二步、为Client指派逻辑系统(SALE)
系统中已经分配了逻辑系统的,只能重新分配了(即修改逻辑系统):
第三步维护RFC目标(SM59)
ALE的通信实例技术是RFC,需要为数据交换的对方维护RFC目标,以建立通信连接。由于是在SAP系统之间通信,所以选择ABAP连接类型
第四步在发送端创建Distribution Model(BD64)
分布模型用于描述业务对象在逻辑系统间的分布流程。分布模型视图将所有系统分布情景组织起来集中维护,一旦在其视图中为两个逻辑系统分配了消息类型或BAPI,即建立了两个系统之间的连接
点击“创建模型视图”按钮:
选择刚创建的模型视频,点击“添加消息类型”按钮(或者点击“Add BAPI”以BAPI的方式实例ALE)
点击保存。
第五步在发送系统中创建伙伴参数(BD82)
伙伴参数(partner profile)是Idoc发送和接收过程中的基本连接设定。在ALE中,需要将另一方设为伙伴,定义类型为逻辑系统的伙伴参数,才可完成通信。
输入BD82(或在BD64界面选中上一步所创建的模型视图,则点击菜单
这样在下图中就不用输入模型视图了),在下图中输入分布模型视图(为上一步所创建的模型视图)以及伙伴系统,伙伴系统应该ALE另一方的逻辑系统名,而不是当前系统:
第六步检查发送端端口配置(WE21)
Doc或其状态记录总是通过端口和外部系统进行传递的,是IDoc接口中系统通信相关的基础配置,代表SAP系统和伙伴系统的通信途径。对于每个外部系统都至少需要配置一个端口。在端口配置需指定目标系统
上一步中,从日志发现自动创建了A000000008的端口,并且使用的是前面我们创建RFC目标,可以使用WE21,展开事务性RFC,可以查看:
第七步在发送端修改伙伴参数文件Partner Profile(WE20)
双击 MATMAS消息,可以对其修改,将基本类型修改为MATMAS01:
第八步向目的端发布Distribution Model(BD64)
在发送系统500中维护了分布模型视图并根据该视图生成接收系统伙伴参数之后,还需在接收系统600中为发送系统维护伙伴参数,但目前接收系统中还不存在ALE分布模型视图,因此不能够自动创建伙伴参数。一个简单的解决方法是:将相关的ALE分布模型视图发布到接收系统中,然后就可以通过同样的视图在目标系统中自动生成发送系统的伙伴参数了,在500系统中,进入BD64界面,并选中MATMAS消息(否则有可能发布不了):
第九步在目的端生成Partner profile(BD64)
登录到600,T-code:BD64
第十步检查接收端端口号(WE21)
第十一步调整接收端Partner Profile(WE20)
、
该界面中最重要的内容是处理代码(即为进行具体IDoc处理的功能模块或工作流的代号),数据在所指定的处理中被写入IDoc或是从IDoc中读取出
将其Process code改成MATM,保存。如果你不修改这个,默认情况下它自动选择了以A打头的Process code,而并非物料主数据需要的MATM处理码:
至此,整个IDoc发送与接收配置工作已经完成。
测试
第一步在发送方创建物料
第二步发送物料主数据(BD10)
第三步查看发送与接收的IDOC(BD87)
接收端600
发送端500
客户端600查看物料
异常问题处理
当发送端发送是OK 的,但是接收端报错
BD87在接收端报错。提示立即处理被取消。
根据错误执行Tcode:ST22检查错误
报错的原因是:
在一些以前发布的文章中我也提到过,在S/4 HANA系统中,有一些功能将不再可用,SAP在每个版本中逐渐淡化或者启用一些功能,可能在以后更新的版本中就不再支持一些ECC原有的功能了。所以出现了prevented,你可以理解为不再兼容。
考虑到一些客户是实施的迁移或升级,而不是新实施S/4 HANA,因此SAP给出了一系列的向下兼容措施,以保证迁移或升级可以顺利进行,所以我们会看到一些功能临时被禁用或者给出其替代方案,在这些暂时不能使用的功能中,SAP会给出暂时启用类似原来系统中的功能,如果顾问在实施过程中,出现不确定是否可以暂时启用的时候,可以发送message给SAP的development support,确保没有问题之后再使用。
问题解决
针对上面的这个问题,很多标准程序都会出现,
执行程序:Tcode :SE38 ABLM_MODIFY_ITEMS,没错,这是一个可执行程序。如下图所示:
我这里把参数解释一下。点开Type的F4,可以看到有几种参数可供选择(TRAN,FUNC,PROG,METH,FORM),然后分析一下这几个参数构成error的内容会是怎么样的。
对于TRAN和PROG类型,你需要在name中输入之前出现dump的事务代码名称,或者会出现类似这样的error:error:Type: “P” Object : “xxxxx” Procedure : " " Class : " “.”。
对于FUNC和METH类型,同样会看到和上面差不多的error内容,这里就需要把Procedure填入到name中了。
上面的这几种类型可以归纳为:
Transactions(TRAN)–> Type ‘T’
Function Modules(FUNC)–> Type ‘C’
Reports (PROG)–> Type ‘P’
Class Methods (METH)–> Type ‘M’
Form Routines (FORM)–> Type ‘F’
这样看就比较清晰了,按照我上面列出的这些type,就可以很容易知道怎么选择参数了。
先点击测试运行,OK以后
然后重新执行IDOC就正常了。
更多SAP文章请点击
更多SAP文章更新,大家一起学习进步!
文章中如有错误处。敬请指正!
搜索公众号:SAP资料文库
微信号:SPRO_PP
写于:深圳坪山
时间:2021-07-13