我们有一个定制的遗留应用程序,它从 SQL 服务器数据库收集数据,构建一个 IDOC,然后将该 IDOC“发送”到 ECC。(此应用程序是用 VB6 编写的,并使用 SAPGUI 6 SDK 来完成。)
我正在尝试停用此解决方案并将其替换为 MII 中内置的解决方案。
据我所知,我需要在 MII 中使用创建 IDOC,IDOC_Asynchronous_Inbound
但我不知道应该如何填充所需的字段。
IDOC_Asynchronous_Inbound
有两个部分:IDOC_CONTROL_REC_40
和IDOC_DATA_REC_40
IDOC_CONTROL_REC_40/item
我通过查看旧的 VB 应用程序的源代码来猜测要填写该段的字段。我认为这应该这样做:
IDOC_INBOUND_ASYNCHRONOUS/TABLES/IDOC_CONTROL_REC_40/item
- IDOCTYP: WMMBID01
- MESTYP: WMMBXY
- SNDPRN: <value>
- SNDPRT: LI
- SNDPOR: <value>
- RCVPRN: <value>
- RCVPRT: LS
- EXPRSS: X
查看旧 VB 应用程序的源代码,我现在应该添加一个类型段,E1MBXYH
并填充以下字段:
- BLDAT: <date>
- BUDAT: <date>
- TCODE: MB31
- XBLNR: <value>
- BKTXT: <value>
根据猜测和一些博客文章,我猜我必须将此段作为item
段添加到IDOC_DATA_REC_40
段中。
我的猜测是,我应该为我想发送到 SAP 的所有“记录”添加item
类型段,其中包含以下字段:E1MBXYI
- MATNR: <value>
- WERKS: <value>
- LGORT: <value>
- CHARG: <value>
- BWART: 261
- ERFMG: <value>
- SHKZG: H
- ERFME: <value>
- AUFNR: <value>
- SGTXT: <value>
现在,查看IDOC_DATA_REC_40
MII 中的细分,这些是可用的字段:
- SEGNAM
- MANDT
- DOCNUM
- SEGNUM
- PSGNUM
- HLEVEL
- SDATA
我的猜测是段名称应该进入SEGNAM
,数据(结构/间距正确)应该进入SDATA
. 我不确定我应该在其他字段中输入什么(如果有的话)。(我有这个 IDOC 类型的描述文件,所以我知道如何“结构化”我必须放入SDATA
段中的数据......计算空格,耶!)
为了希望阐明 IDOC 的结构,这是当前 VB 应用程序发布的 IDOC 的屏幕截图(链接到 a):
我希望这里有人可以确认我在填写数据段时走在正确的轨道上,并且有人知道我应该在数据段中填写哪些字段。
亲切的问候,
托马斯
PS参考的 一些资源:
PPS完全披露:我还在 SAP 社区问答板上发布了这个问题。