业务场景(Business Scenario)
公司的采购部门在SAP系统创建了一份询价单,通过EDI消息实时发送给了供应商;供应商的销售部门会得到工作流通知,从而及时处理接收到的客户询价。
技术分析
SAP标准为MM和SD的单据预定义了基于Message的EDI处理方式。IDoc是EDI的一种具体实现,基于ALE架构传递,我们可以用来处理SAP系统之间的数据交互,从而实现我们的业务需求。
实现步骤
在本公司的SAP系统(记为系统A)创建物料(1-01-01)和供应商(11001)主数据:
TCODE: MM01
保存,物料创建OK。TCODE:MK01
保存,供应商创建OK。TCODE:ME41
Header=>vendor address
工具栏=>overview, 返回后点选工具栏的messages
到达这一步后,需要创建一个EDI类型的Medium,partner function为LS(逻辑系统),partner为11001(对应供应商)的输出类型(先保存次RFQ,编号为6000000019,登配置好了,再通过ME42修改次RFQ的输出类型)。
创建2个逻辑系统,一个用来标识公司SAP系统中创建RFQ的Client对应的逻辑系统,这将作为供应商系统接收IDoc时的标识;另一个是用来配置连接供应商SAP的。
TCODE:SALE
New Entries:
保存后,21001分配给RFQ的Client,assign logical system to client
双击800进入,把Logical system 改成刚才创建的。
保存,需要挂一个请求(TR)
逻辑系统创建OK。TCODE:WE20,创建partner profile
保存后,在此partner 11001 中创建一个Outbound pamtrs.用来发送RFQ:
到这一步后,需要提供一个Receiver Port,需先创建好。TCODE:SM59
创建一个ABAP Connection到供应商SAP系统的连接(系统B):
Target Host输入供应商系统的服务器IP
输入系统B的客户端,用户名,密码。保存后,RFC Definition定义完毕,TCODE:WE21,创建上面outbound要用到的receiver port
选中transaction RFC,点创建,回车
RFC destination 输入刚才创建的11001。保存,receiverport创建OK。返回到outbound创建,输入刚创建的port,记得output mode选为立即传送:
选中message control标签页,添加message的处理: