SAP作为ERP解决方案的先驱,已经被越来越多的客户使用。而在EDI(Electronic Data Interchange的简称,电子数据交换)集成业务系统解决方案中,与SAP系统集成方案越来越普遍。本文将详细介绍如何通过SAP IDoc端口,完成EDI解决方案。
在SAP(IDoc) PORT配置中详细介绍了如何使用知行EDI系统自带的SAP IDoc端口和SAP系统最对接,传输数据。在开始数据传输之前,需要提前配置好SAP系统和SAP IDoc端口。 知行EDI系统的SAP IDoc端口可以选择和SAP对接时传输的文件类型,分为XML IDoc和Raw IDoc。
XML IDoc
XML IDoc是知行EDI系统对接SAP系统后,获取消息类型以及结构后自行转换的格式。知行EDI系统将XML作为产品内部数据转换流通的主要格式,使用XML IDoc是便于在SAP系统中获取数据后,可以在进行其他的数据处理。 格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
<?xml version="1.0" encoding="utf-8" ?> <IDOC> <EDI_DC40> <TABNAM>EDI_DC40</TABNAM> <MANDT></MANDT> <DOCNUM></DOCNUM> <DOCREL>30A</DOCREL> <STATUS></STATUS> <DIRECT>2</DIRECT> <OUTMOD>2</OUTMOD> <EXPRSS></EXPRSS> <TEST></TEST> <IDOCTYP>ORDERS01</IDOCTYP> <CIMTYP></CIMTYP> <MESTYP>ORDERS</MESTYP> <MESCOD></MESCOD> <MESFCT></MESFCT> <STD></STD> <STDVRS></STDVRS> <STDMES></STDMES> <SNDPOR>SENDER</SNDPOR> <SNDPRT>LS</SNDPRT> <SNDPFC></SNDPFC> <SNDPRN>SENDER</SNDPRN> <SNDSAD></SNDSAD> <SNDLAD></SNDLAD> <RCVPOR>RECEIVER</RCVPOR> <RCVPRT>LS</RCVPRT> <RCVPFC></RCVPFC> <RCVPRN>RECEIVER</RCVPRN> <RCVSAD></RCVSAD> <RCVLAD></RCVLAD> <CREDAT>20151029</CREDAT> <CRETIM>160000</CRETIM> <REFINT></REFINT> <REFGRP></REFGRP> <REFMES></REFMES> <ARCKEY></ARCKEY> <SERIAL>20151029160000</SERIAL> </EDI_DC40> <E1EDK01> <CURCY>EUR</CURCY> <WKURS>1.00000</WKURS> <ZTERM>0001</ZTERM> <BSART>NB</BSART> <BELNR>4500000327</BELNR> <RECIPNT_NO>WTBLIEF</RECIPNT_NO> </E1EDK01> <E1EDK14> <QUALF>014</QUALF> <ORGID>0001</ORGID> </E1EDK14> <E1EDK14> <QUALF>009</QUALF> <ORGID>001</ORGID> </E1EDK14> <E1EDK14> <QUALF>013</QUALF> <ORGID>NB</ORGID> </E1EDK14> <E1EDK14> <QUALF>011</QUALF> <ORGID>0001</ORGID> </E1EDK14> <E1EDK03> <IDDAT>012</IDDAT> <DATUM>19990621</DATUM> <UZEIT>0930</UZEIT> </E1EDK03> <E1EDKA1> <PARVW>LF</PARVW> </E1EDKA1> <E1EDKA1> <PARVW>WE</PARVW> <LIFNR>0001</LIFNR> <NAME1>Company, Inc</NAME1> <NAME2>FirstName LastName</NAME2> <STRAS>Street Address</STRAS> <ORT01>City</ORT01> <PSTLZ>00000</PSTLZ> <LAND1>NC</LAND1> </E1EDKA1> <E1EDK02> <QUALF>001</QUALF> <BELNR>4500000327</BELNR> <DATUM>20150621</DATUM> <UZEIT>154951</UZEIT> </E1EDK02> <E1EDP01> <POSEX>00010</POSEX> <ACTION>001</ACTION> <PSTYP>0</PSTYP> <MENGE>1.000</MENGE> <MENEE>PCE</MENEE> <BMNG2>1.000</BMNG2> <PMENE>PCE</PMENE> <VPREI>07.20</VPREI> <PEINH>1</PEINH> <NETWR>7.20</NETWR> <NTGEW>13.43</NTGEW> <GEWEI>KGM</GEWEI> <MATKL>004</MATKL> <BPUMN>1</BPUMN> <BPUMZ>1</BPUMZ> </E1EDP01> <E1EDP05> <MWSKZ>VAT</MWSKZ> <MSATZ>00000000000000020</MSATZ> </E1EDP05> <E1EDP20> <WMENG>17.000</WMENG> <EDATU>20150621</EDATU> </E1EDP20> <E1EDP19> <QUALF>002</QUALF> </E1EDP19> <E1EDP19> <QUALF>001</QUALF> <KTEXT>Some goods</KTEXT> </E1EDP19> <E1EDP01> <POSEX>00020</POSEX> <ACTION>001</ACTION> <PSTYP>0</PSTYP> <MENGE>2.000</MENGE> <MENEE>PCE</MENEE> <BMNG2>02.000</BMNG2> <PMENE>PCE</PMENE> <VPREI>6.6</VPREI> <PEINH>1</PEINH> <NETWR>13.20</NETWR> <NTGEW>2149.35</NTGEW> <GEWEI>KGM</GEWEI> <MATKL>001</MATKL> <BPUMN>1</BPUMN> <BPUMZ>1</BPUMZ> </E1EDP01> <E1EDP05> <MWSKZ>VAT</MWSKZ> <MSATZ>00000000000000020</MSATZ> </E1EDP05> <E1EDP20> <WMENG>23.000</WMENG> <EDATU>19990621</EDATU> </E1EDP20> <E1EDP19> <QUALF>002</QUALF> </E1EDP19> <E1EDP19> <QUALF>001</QUALF> <KTEXT>Some goods</KTEXT> </E1EDP19> <E1EDS01> <SUMID>00</SUMID> <SUMME>20.40</SUMME> <SUNIT>EUR</SUNIT> </E1EDS01> </IDOC> |
完成XML IDoc对接SAP系统,需要以下几个步骤:
1. 在接收到交易伙伴发送来的EDI文件后,可以使用EDI端口,将EDI文件转换为EDI系统的标准XML。参考常见EDI端口配置:
如需支持更多EDI标准,请联系我们。
2. 梳理EDI标准XML 和XML IDoc的关系,并建立映射mapping关系。知行EDI系统中提供了图形化操作界面,支持使用拖拽和UI操作完成两个XML 文件之间的关系映射。详细操作可参考XML MAP端口。
提醒:这一步的挑战在于,需提前处理XML IDoc业务字段与EDI标准XML 字段的对应关系。请务必仔细阅读贸易伙伴提供的EDI规范,可参考如何快速读懂贸易伙伴提供的EDI规范?
3. 将XML IDoc发送到SAP IDoc端口,发送到SAP系统。
4. 反之,也是一样的。通过SAP IDoc端口从SAP系统中收到的数据是XML IDoc格式,可以按照业务需求,转换为EDI标准XML,再转换为EDI文件发送给交易伙伴。
Raw IDoc
Raw IDoc就是一般的IDoc格式,包含消息头,数据,消息尾。在不了解IDoc消息类型以及结构的情况下,Raw IDoc的可读性较低。用户想直接阅读IDoc文件的难度高,并在系统中继续处理的难度也增高了。但是作为两个SAP系统直接的对接,Raw IDoc的安全性和稳定性更高。 格式如下:
1 2 3 4 5 6 7 8 |
EDI_DC40 30A 22 ORDERS01 ORDERS SENDER LS SENDER RECEIVER LS RECEIVER 20151029160000 20151029160000 E1EDK01 00000100000001 EUR 1.00000 0001 NB 4500000327 WTBLIEF E1EDK14 000002000000010140001 E1EDK14 00000300000001009001 E1EDK14 00000400000001013NB E1EDK14 000005000000010110001 E1EDK03 00000600000001012199906210930 E1EDKA1 00000700000001LF |
完成Raw IDoc对接SAP系统,接收EDI文件,发送到SAP系统的步骤与XML IDoc对接SAP系统的操作步骤一致,唯一不同的是,需要在SAP IDoc端口的Settings界面将传输的文件类型设置为“Raw IDoc”。
而通过SAP IDoc端口从SAP系统接收数据后,需要以下几个步骤:
1. 通过SAP IDoc端口从SAP系统接收到Raw IDoc文件。
2. 使用Script端口,借助SAP IDoc的IDoc 结构将Raw IDoc转换为XML IDoc。
1 2 3 4 5 |
<rsb:set attr="idoc.data" value="" /> <rsb:set attr="idoc.portid" value="IDoc" /> <rsb:call op="idocportTranslator" in="idoc" out="xml"> [xml.data | htmlencode] </rsb:call> |
扩展阅读:为什么工作流中围绕XML做EDI报文数据解析/生成?
3. 梳理EDI标准XML 和XML IDoc的映射关系,并建立映射mapping关系。详细操作可参考XML MAP端口。
提醒:这一步的挑战在于,需提前处理XML IDoc业务字段与EDI标准XML 字段的对应关系。请务必仔细阅读贸易伙伴提供的EDI规范,可参考如何快速读懂贸易伙伴提供的EDI规范?
4. 利用EDI端口,将EDI标准XML转换为EDI文件,发送给交易伙伴。
在SAP IDoc端口中,无论是XML IDoc和Raw IDoc,都只是在界面上显示的文件格式,数据没有发生变化,主要的区别在于收发方向,以及是否需要对接收到IDoc进一步处理。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。
发表评论
要发表评论,您必须先登录。