我们如何了解edifact文件中的数据属于什么?

问题描述 投票:0回答:1

我已使用此存储库将任何 edi 文件转换为 xml edifact-reader-github-repository。有关实例,请参阅以下 xml 文件:

这是我的 un/edifact 文件:

UNB+UNOA:1+US::US+50138::THEM+140531:0305+001934++ORDERS'
UNH+1+ORDERS:91:2:UN'
BGM+220+A761902+4:20140530:102+9'
RFF+CT:EUA01349'
RFF+AAV::C'
TXT+THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... '
NAD+BY++OUR NAME PLC::::+++++EW4 34J'
CTA+PD'
COM+01752 253939:TE+01752 253939:FX+0:TL'
CTA+OC+:A.SURNAME'
COM+2407:EX'
CTA+TI+:B.BROWN'
COM+0:EX'
CTA+SU'
COM+0161 4297476:TE+01752 670633:FX'
UNT+15+1'
UNZ+1+001934'

这是我通过 edifact 文件转换的 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<ediroot>
    <interchange Standard="EDIFACT" SyntaxId="UNOA" SyntaxVersion="1" Date="140531" Time="0305" Control="001934" ApplRef="ORDERS" Decimal=".">
        <sender>
            <address Id="US" Qual="" Extra="US"/>
        </sender>
        <receiver>
            <address Id="50138" Qual="" Extra="THEM"/>
        </receiver>
        <group>
            <transaction Control="1" DocType="ORDERS" Version="91" Release="2" Agency="UN">
                <segment Id="BGM">
                    <element Id="BGM01">220</element>
                    <element Id="BGM02">A761902</element>
                    <element Id="BGM03" Composite="yes">
                        <subelement Sequence="1">4</subelement>
                        <subelement Sequence="2">20140530</subelement>
                        <subelement Sequence="3">102</subelement>
                    </element>
                    <element Id="BGM04">9</element>
                </segment>
                <segment Id="RFF">
                    <element Id="RFF01" Composite="yes">
                        <subelement Sequence="1">CT</subelement>
                        <subelement Sequence="2">EUA01349</subelement>
                    </element>
                </segment>
                <segment Id="RFF">
                    <element Id="RFF01" Composite="yes">
                        <subelement Sequence="1">AAV</subelement>
                        <subelement Sequence="3">C</subelement>
                    </element>
                </segment>
                <segment Id="TXT">
                    <element Id="TXT01">THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... </element>
                </segment>
                <segment Id="NAD">
                    <element Id="NAD01">BY</element>
                    <element Id="NAD03" Composite="yes">
                        <subelement Sequence="1">OUR NAME PLC</subelement>
                    </element>
                    <element Id="NAD08">EW4 34J</element>
                </segment>
                <segment Id="CTA">
                    <element Id="CTA01">PD</element>
                </segment>
                <segment Id="COM">
                    <element Id="COM01" Composite="yes">
                        <subelement Sequence="1">01752 253939</subelement>
                        <subelement Sequence="2">TE</subelement>
                    </element>
                    <element Id="COM02" Composite="yes">
                        <subelement Sequence="1">01752 253939</subelement>
                        <subelement Sequence="2">FX</subelement>
                    </element>
                    <element Id="COM03" Composite="yes">
                        <subelement Sequence="1">0</subelement>
                        <subelement Sequence="2">TL</subelement>
                    </element>
                </segment>
                <segment Id="CTA">
                    <element Id="CTA01">OC</element>
                    <element Id="CTA02" Composite="yes">
                        <subelement Sequence="2">A.SURNAME</subelement>
                    </element>
                </segment>
                <segment Id="COM">
                    <element Id="COM01" Composite="yes">
                        <subelement Sequence="1">2407</subelement>
                        <subelement Sequence="2">EX</subelement>
                    </element>
                </segment>
                <segment Id="CTA">
                    <element Id="CTA01">TI</element>
                    <element Id="CTA02" Composite="yes">
                        <subelement Sequence="2">B.BROWN</subelement>
                    </element>
                </segment>
                <segment Id="COM">
                    <element Id="COM01" Composite="yes">
                        <subelement Sequence="1">0</subelement>
                        <subelement Sequence="2">EX</subelement>
                    </element>
                </segment>
                <segment Id="CTA">
                    <element Id="CTA01">SU</element>
                </segment>
                <segment Id="COM">
                    <element Id="COM01" Composite="yes">
                        <subelement Sequence="1">0161 4297476</subelement>
                        <subelement Sequence="2">TE</subelement>
                    </element>
                    <element Id="COM02" Composite="yes">
                        <subelement Sequence="1">01752 670633</subelement>
                        <subelement Sequence="2">FX</subelement>
                    </element>
                </segment>
            </transaction>
        </group>
    </interchange>
</ediroot>

我现在想做的是这个。我想通过使用一个将任何 xml-i java 模型类转换为我的类的库来做到这一点。 但这就是我遇到麻烦的部分。 我将在模型类中创建的变量将提供 edifact 文件中的数据。我的意思是,我不知道我的 edifact 文件中的哪些文本存储什么值。

java edi edifact
1个回答
0
投票

当您需要了解 EDIFACT 格式时,您可以使用几个选项作为主要来源。
Truugo 就是其中之一:https://www.truugo.com/edifact/912/orders/

Stylus Studion 是另一个,但不直接支持 91.2。
对于更常见的 edifact 格式,如 ORDERS D96A 或更新的格式,他们的库构建得非常好并且易于挖掘。
例如:http://www.stylusstudio.com/edifact/D96A/ORDERS.htm

请注意:ORDERS 91.2 并未得到广泛支持。
版本之间的实现可能会略有不同

ChatGPT 受到许多机构的青睐,但对于 edifact,我发现回复往好里说是令人困惑,往坏了说是错误的。
在这种情况下我不会推荐

© www.soinside.com 2019 - 2024. All rights reserved.