分享

SAP操作手册之 IDOC开发篇

 黄昏的昏黄 2021-06-22

前言

网上有一个介绍IDOC的文章, 讲的非常详细. 有兴趣的可以看一下.

https://www.cnblogs.com/jiangzhengjun/p/4292135.html#_Toc411677416

为了讲解更有条理, 本文介绍的内容是开发一个IDOC用于实现采购订单的修改(数量/价格)及审批

开发及配置步骤

按下列步骤完成开发及配置

01

创建IDOC段

TCODE: WE31-创建IDOC的段(如下图示例,创建之前需要先定义好相关的数据元素).

注意保存后, 需要设置批准,在下面界面菜单中选择 编辑->设置批准.(同理,后续修改前,需要取消释放 编辑->取消释放)

段配置涉及到三个表. 特殊情况可以直接更改表内容 :

  1. EDISDEF IDoc 开发:IDoc 段定义

  2. EDISEGMENT IDoc 开发:IDoc 段

  3. EDSAPPL EDI: IDoc 段应用程序结构

02

创建IDOC类型

TCODE: WE30创建IDOC类型 ZSPOCL.

创建的时候,使用之前定义好的段类型. 编辑相应段的属性. 这些属性系统在产生IDOC的时候会校验.

03

配置信息类型

TCODE: WE81-创建信息类型,很简单的配置界面.

04

关联信息类型与IDOC类型

WE82-关联信息类型与IDOC类型.简单的配置界面

05

创建IDOC处理函数

参考函数IDOC_INPUT_MBGMCR 创建一个自己的函数,调整下面提到的三个部分的逻辑即可. (暂时没有理解标准逻辑怎么建立IDOC和单据的关系的,估计逻辑包含在第三部分中,自定义的IDOC无需考虑建立IDOC和单据的关系)

统一的界面

第一部分: IDOC解析部分

第二部分: BAPI函数调用部分.

(下图中的BAPI函数是一个自定义的函数,整合了BAPI_PO_CHANGE 与 BAPI_PO_RELEASE 函数的调用, 根据数据比较阶段是否需要执行PO_CHANNGE. 最后执行PO_RELEASE . 两者都成功, 才表示BAPI成功. )

第三部分:BAPI返回的处理

06

注册IDOC处理函数

TCODE: BD51 ALE属性. 参照BAPI_IDOC_INPUT1添加自定义的函数

07

关联函数与IDOC类型

TCODE: WE57 创建消息类型/IDOC类型/函数的对应关系

08

维护进站代码

TCODE: WE42 创建进站代码(可以用代码BAPI复制)双击进站代码, 修改对应的函数

09

封装一个产生IDOC的函数

这个过程不是必须的, 但是会简化后续产生IDOC的过程, 建议执行该步骤.

Z_CREATE_IDOC_OF_POCL

函数中添加如下功能

  1. 函数中实现IDOC的控制段的生成

  2. IDOC单据重复的校验

  3. 补充特定业务逻辑

  4. 调用标准函数IDOC_INBOUND_SINGLE产生IDOC

总结

上述过程完成后, 就实现了一个自定义功能的IDOC开发及开发相关配置过程. 后续只需要配置IDOC的使用即可

详见链接无峰,公众号:ABAP 技巧与实战SAP操作手册之 IDOC配置篇

实际项目中, 可以把常用IDOC的创建过程封装到函数中调用,封装的函数中实现IDOC的重复性检查,附加业务功能及IDOC的赋值 等

THE

END 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多