如果您对EDI项目实施有一定的了解,想必您一定知道,在正式开始EDI项目实施之前,都会有EDI顾问与您接洽,沟通EDI项目需求。其中,会包含EDI通信双方使用哪种传输协议,传输的报文是符合什么标准的,传输的业务报文都包含哪些种类,标准的EDI报文转换成什么格式,是否与企业现有业务系统集成。以上问题,在项目需求沟通初期都务必要确认清楚。

以上,我们提到标准的EDI报文转换成什么格式,这一问题其实也是很多客户在项目实施中比较纠结的一点。实际上,这主要取决于您企业的信息化情况。通常,企业如已有业务系统,为了实现数据自动化处理,都会选择与现有的业务系统集成,支持的方式有很多,比如金蝶、用友可以通过数据库表方式与EDI系统集成,某客户的物流管理系统选择API方式与EDI系统集成,诸如此类。当然,也存在部分客户没有业务系统的情况,那EDI数据转换成什么格式才方便业务人员读取、操作呢?

本文以X12 830报文转换为CSV格式文件为例,从收到X12 830报文开始,依次按照系统处理顺序,介绍如何使用知行EDI系统将X12 830报文转换为CSV格式。实际上,CSV这种方案不只是适用于没有业务系统的企业,有的业务系统也是支持直接导入CSV格式文件的,同样也适用CSV方案。

以下,是一个完整的X12 830报文转换为CSV格式的工作流。其中,经由3个端口处理,最终解析得到CSV格式的830文件。

csv文件转java代码的工具_CSV

X12ToXML端口

首先,配置X12端口转换类型(Translation Type)为X12 to XML,用于将X12标准报文转换为XML格式。此外,还要配置Sender Id Qualifier及Sender Identifier等信息。

csv文件转java代码的工具_CSV_02

配置完后,在Input界面上传需要转换为CSV格式的X12 830报文。

 

 

ISA*00**00**ZZ*O0013000111111 *ZZ*123456*200227*0700*U*00200*000000045*0*P*>
GS*PS*O00130001111*123456*20200227*0700*000000045*X*004010
ST*830*450001
BFR*05**21*DL*A*20200217**20200227
N1*MI
PER*SC**TE*123456788
N1*ST*ABC*92*1100
N1*SU*CAB Automotive
LIN*00020*BP*12AB4356*PO*1234546543
UIT*PC
PID*F****HOUSING-TEST
FST*4032*C*D*20200217*20200217
FST*6048*C*D*20200224*20200224
SHP*01*6048*050*20200210
SHP*02*75456*050*20200210
CTT*1
SE*15*450001
GE*1*000000045
IEA*1*000000045

 

系统默认已开启自动处理,当前X12ToXML端口会自动将X12 830报文转换为XML格式。在Output页面中可以下载并查看。

 

 

<Interchange Delimiters=":*. ^~"xmlns="http://www.rssbus.com"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Meta/>
<ISA01>00</ISA01>
<ISA02></ISA02>
<ISA03>00</ISA03>
<ISA04></ISA04>
<ISA05>ZZ</ISA05>
<ISA06>O0013000111111</ISA06>
<ISA07>ZZ</ISA07>
<ISA08>123456</ISA08>
<ISA09>200227</ISA09>
<ISA10>0700</ISA10>
<ISA11>U</ISA11>
<ISA12>00200</ISA12>
<ISA13>000000045</ISA13>
<ISA14>0</ISA14>
<ISA15>P</ISA15>
<ISA16>></ISA16>
</Meta>
<FunctionalGroup>
        
 
<Meta/>
<GS01>PS</GS01>
<GS02>O00130001111</GS02>
<GS03>123456</GS03>
<GS04>20200227</GS04>
<GS05>0700</GS05>
<GS06>000000045</GS06>
<GS07>X</GS07>
<GS08>004010</GS08>
</Meta>
<TransactionSet>
<TX-00401-830type="TransactionSet">
                
 
<Meta/>
<ST01>830</ST01>
<ST02>450001</ST02>
</Meta>
<BFR type="Segment">
<BFR01>05</BFR01>
<BFR02 xsi:nil="true"/>
<BFR03>21</BFR03>
<BFR04>DL</BFR04>
<BFR05>A</BFR05>
<BFR06>20200217</BFR06>
<BFR07 xsi:nil="true"/>
<BFR08>20200227</BFR08>
</BFR>
<N1Loop1 type="Loop">
<N1 type="Segment">
<N101>MI</N101>
</N1>
<PER type="Segment">
<PER01>SC</PER01>
<PER02 xsi:nil="true"/>
<PER03>TE</PER03>
<PER04>123456788</PER04>
</PER>
</N1Loop1>
<N1Loop1 type="Loop">
<N1 type="Segment">
<N101>ST</N101>
<N102>ABC</N102>
<N103>92</N103>
<N104>1100</N104>
</N1>
</N1Loop1>
<N1Loop1 type="Loop">
<N1 type="Segment">
<N101>SU</N101>
<N102>CAB Automotive</N102>
</N1>
</N1Loop1>
<LINLoop1 type="Loop">
<LIN type="Segment">
<LIN01>00020</LIN01>
<LIN02>BP</LIN02>
<LIN03>12AB4356</LIN03>
<LIN04>PO</LIN04>
<LIN05>1234546543</LIN05>
</LIN>
<UIT type="Segment">
<UIT01 type="Composite">
<UIT0101>PC</UIT0101>
</UIT01>
</UIT>
<PID type="Segment">
<PID01>F</PID01>
<PID02/>
<PID03/>
<PID04 xsi:nil="true"/>
<PID05>HOUSING-TEST</PID05>
</PID>
<FSTLoop1 type="Loop">
<FST type="Segment">
<FST01>4032</FST01>
<FST02>C</FST02>
<FST03>D</FST03>
<FST04>20200217</FST04>
<FST05>20200217</FST05>
</FST>
</FSTLoop1>
<FSTLoop1 type="Loop">
<FST type="Segment">
<FST01>6048</FST01>
<FST02>C</FST02>
<FST03>D</FST03>
<FST04>20200224</FST04>
<FST05>20200224</FST05>
</FST>
</FSTLoop1>
<SHPLoop1 type="Loop">
<SHP type="Segment">
<SHP01>01</SHP01>
<SHP02>6048</SHP02>
<SHP03>050</SHP03>
<SHP04>20200210</SHP04>
</SHP>
</SHPLoop1>
<SHPLoop1 type="Loop">
<SHP type="Segment">
<SHP01>02</SHP01>
<SHP02>75456</SHP02>
<SHP03>050</SHP03>
<SHP04>20200210</SHP04>
</SHP>
</SHPLoop1>
</LINLoop1>
<CTT type="Segment">
<CTT01>1</CTT01>
</CTT>
</TX-00401-830>
</TransactionSet>
</FunctionalGroup>
</Interchange>

 

XMlMap830端口

经由X12ToXML端口端口处理后,得到以上XML格式文件。接下来,通过XMlMap830端口处理可以将原本多层复杂结构的知行EDI系统默认XML格式文件转换为单层结构的XML文件。与上一步X12转换为XML不同的是,XMlMap830端口是需要通过界面操作拖拽完成数据关系映射来完成。

csv文件转java代码的工具_CSV_03

转化后,得到以下单层结构的XML格式文件,以便后续CSV端口处理。

 

 

<?xml version="1.0"encoding="UTF-8"?>
<Items>
<_830>
<ForecastNo></ForecastNo>
<ReleaseNo>21</ReleaseNo>
<ScheduleType>DL</ScheduleType>
<ScheduleQtyType>A</ScheduleQtyType>
<StartDate>20200217</StartDate>
<ForecastCreateDate>20200227</ForecastCreateDate>
<NotesID></NotesID>
<Notes></Notes>
<RoutingSequenceCode></RoutingSequenceCode>
<CarrierCode></CarrierCode>
<TransportMethodCode></TransportMethodCode>
<RoutingInformation></RoutingInformation>
<MaterialReleaseIssuerID></MaterialReleaseIssuerID>
<MaterialReleaseIssuerName></MaterialReleaseIssuerName>
<MaterialReleaseIssuerAddress1></MaterialReleaseIssuerAddress1>
<MaterialReleaseIssuerAddress2></MaterialReleaseIssuerAddress2>
<MaterialReleaseIssuerCity></MaterialReleaseIssuerCity>
<MaterialReleaseIssuerState></MaterialReleaseIssuerState>
<MaterialReleaseIssuerPostal></MaterialReleaseIssuerPostal>
<MaterialReleaseIssuerCountry></MaterialReleaseIssuerCountry>
<MaterialReleaseIssuerContactCode>SC</MaterialReleaseIssuerContactCode>
<MaterialReleaseIssuerCommunicationType>TE</MaterialReleaseIssuerCommunicationType>
<MaterialReleaseIssuerCommunicationNumber>123456788</MaterialReleaseIssuerCommunicationNumber>
<ShiptoID>1100</ShiptoID>
<ShiptoName>ABC</ShiptoName>
<ShiptoAddress1></ShiptoAddress1>
<ShiptoAddress2></ShiptoAddress2>
<ShiptoCity></ShiptoCity>
<ShiptoState></ShiptoState>
<ShiptoPostal></ShiptoPostal>
<ShiptoCountry></ShiptoCountry>
<ShiptoContactCode></ShiptoContactCode>
<ShiptoCommunicationType></ShiptoCommunicationType>
<ShiptoCommunicationNumber></ShiptoCommunicationNumber>
<SupplierID></SupplierID>
<SupplierName>CAB Automotive</SupplierName>
<SupplierAddress1></SupplierAddress1>
<SupplierAddress2></SupplierAddress2>
<SupplierCity></SupplierCity>
<SupplierState></SupplierState>
<SupplierPostal></SupplierPostal>
<SupplierCountry></SupplierCountry>
<SupplierContactCode></SupplierContactCode>
<SupplierCommunicationType></SupplierCommunicationType>
<SupplierCommunicationNumber></SupplierCommunicationNumber>
<POLineNumber>00020</POLineNumber>
<BuyerPartNumber>12AB4356</BuyerPartNumber>
<PartDescription>HOUSING-TEST</PartDescription>
<PartRevisionLevel></PartRevisionLevel>
<PONumber>1234546543</PONumber>
<Unit>PC</Unit>
<UnitPrice></UnitPrice>
<ExpeditorName></ExpeditorName>
<ExpeditorTel></ExpeditorTel>
<MaterialSchedulerName></MaterialSchedulerName>
<MaterialSchedulerTel></MaterialSchedulerTel>
<ResourceAuthorizationCode></ResourceAuthorizationCode>
<AuthorizationThroughDate></AuthorizationThroughDate>
<AuthorizationCumulatedQuantity></AuthorizationCumulatedQuantity>
<CumulativeStartDate></CumulativeStartDate>
<Quantity>4032</Quantity>
<ForecastCode>C</ForecastCode>
<ForecastTime>D</ForecastTime>
<ScheduleStartDate>20200217</ScheduleStartDate>
<ScheduleEndDate>20200217</ScheduleEndDate>
<ForecastReferenceNumber></ForecastReferenceNumber>
<LastReceivedQty>6048</LastReceivedQty>
<CumulativeQtyReceived></CumulativeQtyReceived>
<CumulativeScrapQtyReceived></CumulativeScrapQtyReceived>
<LastReceivedDate>20200210</LastReceivedDate>
<CumulativeQtyReceivedStartDate></CumulativeQtyReceivedStartDate>
<CumulativeQtyReceivedEndDate></CumulativeQtyReceivedEndDate>
<CumulativeScrapQtyReceivedStartDate></CumulativeScrapQtyReceivedStartDate>
<CumulativeScrapQtyReceivedEndDate></CumulativeScrapQtyReceivedEndDate>
</_830>
<_830>
<ForecastNo></ForecastNo>
<ReleaseNo>21</ReleaseNo>
<ScheduleType>DL</ScheduleType>
<ScheduleQtyType>A</ScheduleQtyType>
<StartDate>20200217</StartDate>
<ForecastCreateDate>20200227</ForecastCreateDate>
<NotesID></NotesID>
<Notes></Notes>
<RoutingSequenceCode></RoutingSequenceCode>
<CarrierCode></CarrierCode>
<TransportMethodCode></TransportMethodCode>
<RoutingInformation></RoutingInformation>
<MaterialReleaseIssuerID></MaterialReleaseIssuerID>
<MaterialReleaseIssuerName></MaterialReleaseIssuerName>
<MaterialReleaseIssuerAddress1></MaterialReleaseIssuerAddress1>
<MaterialReleaseIssuerAddress2></MaterialReleaseIssuerAddress2>
<MaterialReleaseIssuerCity></MaterialReleaseIssuerCity>
<MaterialReleaseIssuerState></MaterialReleaseIssuerState>
<MaterialReleaseIssuerPostal></MaterialReleaseIssuerPostal>
<MaterialReleaseIssuerCountry></MaterialReleaseIssuerCountry>
<MaterialReleaseIssuerContactCode>SC</MaterialReleaseIssuerContactCode>
<MaterialReleaseIssuerCommunicationType>TE</MaterialReleaseIssuerCommunicationType>
<MaterialReleaseIssuerCommunicationNumber>123456788</MaterialReleaseIssuerCommunicationNumber>
<ShiptoID>1100</ShiptoID>
<ShiptoName>ABC</ShiptoName>
<ShiptoAddress1></ShiptoAddress1>
<ShiptoAddress2></ShiptoAddress2>
<ShiptoCity></ShiptoCity>
<ShiptoState></ShiptoState>
<ShiptoPostal></ShiptoPostal>
<ShiptoCountry></ShiptoCountry>
<ShiptoContactCode></ShiptoContactCode>
<ShiptoCommunicationType></ShiptoCommunicationType>
<ShiptoCommunicationNumber></ShiptoCommunicationNumber>
<SupplierID></SupplierID>
<SupplierName>CAB Automotive</SupplierName>
<SupplierAddress1></SupplierAddress1>
<SupplierAddress2></SupplierAddress2>
<SupplierCity></SupplierCity>
<SupplierState></SupplierState>
<SupplierPostal></SupplierPostal>
<SupplierCountry></SupplierCountry>
<SupplierContactCode></SupplierContactCode>
<SupplierCommunicationType></SupplierCommunicationType>
<SupplierCommunicationNumber></SupplierCommunicationNumber>
<POLineNumber>00020</POLineNumber>
<BuyerPartNumber>12AB4356</BuyerPartNumber>
<PartDescription>HOUSING-TEST</PartDescription>
<PartRevisionLevel></PartRevisionLevel>
<PONumber>1234546543</PONumber>
<Unit>PC</Unit>
<UnitPrice></UnitPrice>
<ExpeditorName></ExpeditorName>
<ExpeditorTel></ExpeditorTel>
<MaterialSchedulerName></MaterialSchedulerName>
<MaterialSchedulerTel></MaterialSchedulerTel>
<ResourceAuthorizationCode></ResourceAuthorizationCode>
<AuthorizationThroughDate></AuthorizationThroughDate>
<AuthorizationCumulatedQuantity></AuthorizationCumulatedQuantity>
<CumulativeStartDate></CumulativeStartDate>
<Quantity>6048</Quantity>
<ForecastCode>C</ForecastCode>
<ForecastTime>D</ForecastTime>
<ScheduleStartDate>20200224</ScheduleStartDate>
<ScheduleEndDate>20200224</ScheduleEndDate>
<ForecastReferenceNumber></ForecastReferenceNumber>
<LastReceivedQty>6048</LastReceivedQty>
<CumulativeQtyReceived></CumulativeQtyReceived>
<CumulativeScrapQtyReceived></CumulativeScrapQtyReceived>
<LastReceivedDate>20200210</LastReceivedDate>
<CumulativeQtyReceivedStartDate></CumulativeQtyReceivedStartDate>
<CumulativeQtyReceivedEndDate></CumulativeQtyReceivedEndDate>
<CumulativeScrapQtyReceivedStartDate></CumulativeScrapQtyReceivedStartDate>
<CumulativeScrapQtyReceivedEndDate></CumulativeScrapQtyReceivedEndDate>
</_830>
</Items>

 

XMlMap830端口

csv文件转java代码的工具_XML_04

最后一步,通过CSV端口就可以将XML格式的文件转换为CSV格式。无需代码,使用端口现有功能即可快速将XML格式转换为CSV格式文件。

 

 

"ForecastNo","ReleaseNo","ScheduleType","ScheduleQtyType","StartDate","ForecastCreateDate","NotesID","Notes","RoutingSequenceCode","CarrierCode","TransportMethodCode","RoutingInformation","MaterialReleaseIssuerID","MaterialReleaseIssuerName","MaterialReleaseIssuerAddress1","MaterialReleaseIssuerAddress2","MaterialReleaseIssuerCity","MaterialReleaseIssuerState","MaterialReleaseIssuerPostal","MaterialReleaseIssuerCountry","MaterialReleaseIssuerContactCode","MaterialReleaseIssuerCommunicationType","MaterialReleaseIssuerCommunicationNumber","ShiptoID","ShiptoName","ShiptoAddress1","ShiptoAddress2","ShiptoCity","ShiptoState","ShiptoPostal","ShiptoCountry","ShiptoContactCode","ShiptoCommunicationType","ShiptoCommunicationNumber","SupplierID","SupplierName","SupplierAddress1","SupplierAddress2","SupplierCity","SupplierState","SupplierPostal","SupplierCountry","SupplierContactCode","SupplierCommunicationType","SupplierCommunicationNumber","POLineNumber","BuyerPartNumber","PartDescription","PartRevisionLevel","PONumber","Unit","UnitPrice","ExpeditorName","ExpeditorTel","MaterialSchedulerName","MaterialSchedulerTel","ResourceAuthorizationCode","AuthorizationThroughDate","AuthorizationCumulatedQuantity","CumulativeStartDate","Quantity","ForecastCode","ForecastTime","ScheduleStartDate","ScheduleEndDate","ForecastReferenceNumber","LastReceivedQty","CumulativeQtyReceived","CumulativeScrapQtyReceived","LastReceivedDate","CumulativeQtyReceivedStartDate","CumulativeQtyReceivedEndDate","CumulativeScrapQtyReceivedStartDate","CumulativeScrapQtyReceivedEndDate"
"","21","DL","A","20200217","20200227","","","","","","","","","","","","","","","SC","TE","123456788","1100","ABC","","","","","","","","","","","CAB Automotive","","","","","","","","","","00020","12AB4356","HOUSING-TEST","","1234546543","PC","","","","","","","","","","4032","C","D","20200217","20200217","","6048","","","20200210","","","",""
"","21","DL","A","20200217","20200227","","","","","","","","","","","","","","","SC","TE","123456788","1100","ABC","","","","","","","","","","","CAB Automotive","","","","","","","","","","00020","12AB4356","HOUSING-TEST","","1234546543","PC","","","","","","","","","","6048","C","D","20200224","20200224","","6048","","","20200210","","","",""

 

经过以上3个端口的一次处理,原本生涩难懂的X12 830报文已经转为了CSV格式。不论是直接导入现有业务系统或是直接打开查看,您就能轻松地读取到重要的业务信息。