整个全新IDOC的开发包含几个部分:idoc basic type的开发、message type的开发,他们之间的关联,然后还有各种配置,当然最重要的就是调用函数的开发,可能还要做一些增强(BADI和出口,出口增强比较多),下面一步步讲一个完整的例子:
1、idoc basic type的开发:
首先要WE31去创建idoc segment(一般还是去参考原来标准的字段类型):
创建了你需要的segment之后(一般建议使用标准的segment)然后WE30去创建idoc type:
有时,标准的basic type满足不了你的需求,你还可以通过“继承”一个标准的idoc basic type,创建Extension,然后在WE20配置IDOC的时候就不使用basic type,而使用Extension。
2、message type的开发:
WE81去创建message type:
这个没啥好说的,就是编辑,然后点击new entries。
3、idoc type和message type的联合:
把你上面创建的idoc type或者是idoc extension 和创建的message type通过WE82去链接起来:
4、各种关联配置:(inbound和outbound的配置是不一样的)
1)配置idoc inbound 过程:
BD51创建inbound function module:
WE57,创建inbound FM和idoc basic type和message type,他们的关联:
WE42,创建FM的process logic:
’
上面的填写完,保存,填写弹出来的框:
WE20,给对应的idoc partner添加idoc的信息如下(下面要填写的信息都是上面已经配好的):
2)outbound IDOC的配置:
前面的segment, idoc basic type, message type,等都和inbound 一样,然后后面就没有WE57,WE42,直接进入WE20,去配置。
3)还有一些RFC的配置: BD64、WE21、SM59 (这部分配置是在WE20之前需要完成)
5、IDOC的FM开发:
6、IDOC的增强:
根据IDOC的触发方式(是某个标准程序触发,还是标准t-code例如F110等),再根据博客的另外一篇文章提到的工具(查找t-code和程序的增强),去寻找出口和BADI增强。根据目前积累的经验,IDOC的增强一般都是出口里。每个模块里的出口都不一样。自己总结。反正来来去去也就那几个。