SAP系统之间、SAP系统与外部系统传输业务数据的方法有多种,IDOC、EDI是比较常见的方式。
IDOC(Intermediate Document)是一个数据载体,描述了一个完整的业务对象,用于在同一SAP系统的不同应用之间、不同SAP系统之间、SAP系统与非SAP系统之间交互数据,并触发相应的业务应用。
IDOC的应用场景很多,例如:
- 跨公司销售业务,公司间发票通过IDOC触发财务的发票录入;
- 跨公司采购业务,公司间发票通过IDOC触发采购订单的发票校验;
- 采购订单通过IDOC产生销售订单;
1 IDOC应用示例
IDOC的应用场景很多,不同应用的逻辑基本相同,采购订单通过IDOC自动触发产生销售订单为典型的示例,下面就此典型案例介绍业务场景以及IDOC的操作过程、系统实现。
1.1案例说明
以采购订单通过IDOC自动触发产生销售订单为例,其业务场景如下。
1.业务场景
A、B两公司在同一个SAP系统中,A公司向B公司下达采购订单购买商品,B公司根据A公司的采购订单产生“相同”的销售订单,后续如果该采购订单发生变更,销售订单也应该发生相应的变更。
2.需求分析
我们介绍采购方创建、生成采购订单后,通过IDOC生成销售方的销售订单。
通过公司间采购来实现,只需要采购方创建采购间采购订单,无需销售方创建销售订单。
3.处理流程
IDOC的处理可以分为外向处理和内向处理两个部分:
- 外向处理(Outbound Processing),采购订单创建保存后,通过消息类型(如ZNEU)的输出功能,产生IDOC文件。
- 内向处理(Inbound Processing),当收到关于采购订单的IDOC文件后,生成销售订单。
1.2业务操作过程
实例讲解IDOC的业务操作过程。
某集团有两个公司,公司SH02为销售中心,公司SH03为某区域性的销售公司,公司SH03向公司SH02采购商品,然后销售给客户。
在SAP中,采购组织SH03向集团内供应商SH02采购商品,采购组织SH03为购买方,因此采购组织SH03在系统中有对应的客户代码(SH03),供应商SH02为售货方,因此在系统中建立对应的销售组织(SH02)。
采购组织SH03向供应商SH02采购数量为10的某物料,触发销售组织SHO2产生对客户SH03的销售订单,数量也为10个,后续修改采购订单,如改变采购数量为20个以及增加一行,将再次触发IDOC,修改相应的销售订单。具体操作步骤如下。
1.采购订单维护
1采购订单维护(ME21N)
如图1所示,”事务代码ME21N在采购组织SH03下维护对供应商SH02的采购订单,采购数量为10个。
2.采购订单输出
如图2所示,保存采购订单,生成采购订单:4500000475,单击已经生成的采购订单中的按钮Mesages(消息),可以查看到该采购订单产生两个输出。
2采购订单的输出(ME23N)
其中输出类型NEU为打印输出(系统默认的输出类型),用于打印采购订单,输出类型ZNEU为EDI的输出,用于生成IDOC文件,两个输出的状态都为绿色,代表成功输出。
注意:如果采购订单设置为需要审批,则在采购订单审批后,才可以输出。
3.查看采购订单的IDOC文件
如图3、图4所示,单击采购订单界面中菜单中的“Relationships”,可以看到采购订单产生了两个IDOC,一个是出站的IDOC,将采购订单信息转换为IDOC;一个是入站的IDOC,用来产生销售订单。
提示:两个IDOC中,其业务相关的内容基本完全一致。
跨公司采购业务中的公司间销售发票通过IDOC触发采购订单的发票校验,只会产生一个入站(Inbound)的IDOC;这里产生两个IDOC的原因在于一般采购订单应该是发给外部供应商,外部供应商在另外一个不同的系统中。
4 采购订单的IDOC界面(ME23N)
如图4所示,采购订单4500000475产生了销售订单296,双击销售订单号码296,可转到销售订单界面中。
4.销售订单与IDOC
如图5所示,在销售订单中,同样可以追溯对应的采购订单,双击采购订单编号,则转到采购订单界面中。
5 销售订单与IDOC(VA03)
5.采购订单修改触发新的IDOC如图18-6所示,修改采购订单4500000475中的第一行的数量,从数量10个修改到数量20个,并增加新的一行,保存采购订单。
6 采购订单修改(ME22N)
对采购订单修改将触发新的消息输出,如图7所示,查看采购订单的消息输出,产生一组新的消息输出。
7 采购订单的输出(ME23N)
这一组消息输出中多出一个“Change”标记,代表本次的输出是修改原来的采购订单,相应的修改原来的销售订单。
再次查看采购订单对应的IDOC,可以看到系统产生一组新的IDOC(一个出站,一个入站),注意此时新产生的IDOC对应的销售订单仍然为原来的销售订单296,具体截图略。
双击销售订单,可以看到销售订单发生同步变更。