34

XMLは以前に見たことがありますが、EDIのようなものは見たことがありません。

このファイルを読み取って、必要なデータを取得するにはどうすればよいですか?〜、REF、N1、N2、N4のようなものが表示されますが、これらが何を意味するのかわかりません。

例とドキュメントを探しています。どこで見つけることができますか?

私が見つけたAsloEDIガイドには、「ANSI ASC X12/ver.4010」に基づいていると書かれています。フォームX12を検索する必要がありますか?

親切に助けてください。

4

4 に答える 4

85

これらの他の答えのいくつかは非常に良いです。彼らが言及していないいくつかのことを記入しようと思います。

EDIは一連の標準であり、その中で最も一般的なものは次のとおりです。

  • ANSI X12(州で人気)
  • EDIFACT(ヨーロッパで人気)

X12バージョン4010を見ているように聞こえます。これは、(とにかく、私の経験では)最も広く使用されているバージョンです。たくさんの異なるバージョンがあります。

ファイル、または適切に「交換」は、セグメントと要素(および場合によってはサブ要素)で構成されます。各セグメントは、2ワードまたは3ワードの識別子(ISA、GS、ST、N1、REF)で始まります。

すべてのドキュメントの構造は、封筒で始まり、封筒で終わります。エンベロープは通常、ISAセグメントとGSセグメントで構成されます。ファイルごとに複数のGSセグメントが存在する可能性がありますが、ファイルごとに1つのISAセグメントのみが存在する必要があります(全員がルールに従ってプレイするわけではないことに注意してください)。

ISAは特別なセグメントです。他のすべてのセグメントは区切られているため、長さを変えることができますが、ISAセグメントの幅は固定されています。これは、ファイルの残りの部分を読み取る方法を説明しているためです。

ISAセグメントの最後の3文字から始めます。これらは、要素の区切り文字、サブ要素の区切り文字、およびセグメントの区切り文字を示します。これがISAラインの例です。

ISA:00::00::01:1515151515:01:5151515151:041201:1217:U:00403:00032123:0:P:*〜

この場合、「:」は要素の区切り文字、「*」はサブ要素の区切り文字、「〜」はセグメントの区切り文字です。各セグメント区切り文字(〜)の後に改行を入れるためにファイルを調べようとしているだけの場合は、はるかに簡単です。

ISAは、ドキュメントの送信元と送信元、バージョン(00403、4030とも呼ばれます)、および交換管理番号(0000321233)も通知します。他のものは、この段階ではおそらくあなたにとって重要ではありません。

このドキュメントは、送信者「01:1515151515」と受信者「01:5151515151」からのものです。では、「01:」とは何ですか?さて、これはEDIの重要な概念である修飾子を紹介します。いくつかの要素には修飾子があり、次の要素がどのタイプのデータであるかを示します。この場合、01はDunnandBradstreet番号であると想定されています。ISA05およびISA07要素の他の修飾子は、電話番号の場合は12、「ユーザー定義」の場合はZZです。修飾子の概念は、EDIセグメント全体にあります。適切な経験則では、2文字の場合は、修飾子です。すべての修飾子の意味を知るには、標準ガイドが必要です(EDI標準化団体からのハードコピー、または一部のソフトウェアのいずれか)。

次の行はGSです。これは機能グループです(インターチェンジ内で同様のドキュメントをグループ化する方法)。たとえば、ISA内で複数の発注書と複数の機能確認を行うことができます。これらは別々の機能グループ(GSセグメント)に配置する必要があります。最初のGS01要素を確認することで、GSセグメントに含まれるドキュメントのタイプを把握できます。

GS:PO:9988776655:1122334455:20041201:1217:128:X:004030

ドキュメントタイプの他に、from(9988776655)とto(1122334455)が再び表示されます。今回は異なる識別子を使用していますが、これは合法です。他の誰かに代わって交換を受け取っている可能性があるためです(たとえば、仲介者の場合)。また、バージョン番号も表示されますが、今回は末尾に「0」(0004030)が付いています。有効数字ロジックを使用して、先行ゼロを取り除きます。ISAになく、ここに余分なゼロがあるのはなぜですか?知らない。最後に、このGSセグメントにも独自の識別子128があります。

封筒の冒頭は以上です。その後、STで始まるドキュメントのループが発生します。この場合、それらはすべてコード(850)を持つPOであるため、行はST:850:blablablaで始まります。

エンベロープはGS識別子(128)を参照するGEセグメントで終わるため、どのセグメントが閉じられているかがわかります。次に、同様にISAを終了するIEAが登場します。

GE:1:128〜IEA:1:000032123〜

これが構造の概要とその読み方です。それを理解するには、参考書またはソフトウェアが必要です。そうすれば、コード、多くの時間、そして多くの練習を理解できます。幸運を祈ります。具体的な質問がある場合は、もう一度投稿してください。

于 2009-10-22T10:01:58.357 に答える
30

うわー、フラッシュバック。16年以上経ちます...

原則として、各行は「セグメント」であり、行の先頭にある識別子はセグメント識別子です。各セグメントには、本質的に位置フィールドである「要素」が含まれています。それらは「要素区切り文字」で区切られます。

異なるセグメントは異なることを意味し、ループ構造、繰り返しなどを示すことができます。

基本的な構文解析の標準の現在のバージョンを取得する必要があります。次に、処理するドキュメントのコンテンツを説明するデータディクショナリが必要です。次に、業界プロファイル、実装ガイドなどが必要になる場合があります。ご使用の環境の特定のドキュメントタイプの規則に従ってください。

例?現在ではありませんが、選択した検索エンジンを使用して、たくさんの情報を見つけることができると確信しています。基本的なセグメント/要素の解析が完了すると、アプリケーションレベルのデータを処理することになりますが、一般的な例がどの程度役立つかはわかりません。

于 2009-09-16T05:03:08.023 に答える
6

EDIは、構造化テキストファイルのファイル形式であり、多くの大規模な組織や企業が標準のデータベース交換に使用しています。これは、データパケットを小さくする必要があるときに優れていたXMLよりもはるかに短い傾向があります。多くのメインフレームシステムはXMLではなくEDIを使用しているため、多くの組織が今でもこれを使用しています。

EDIメッセージでは、特定の形式に一致するテキストメッセージを処理します。これはXMLスキーマに似ていますが、EDIには実際には標準化されたスキーマ言語がありません。EDIメッセージ自体は実際には人間が読める形式ではありませんが、ほとんどの仕様は実際には機械が読める形式ではありません。これは基本的にXMLの利点であり、XMLとそのスキーマの両方を人間とマシンが読み取ることができます。

クライアント側のソフトウェア(ブラウザベースではない)を介して電子バンキングを実行している場合、システムにすでにいくつかのEDIファイルがある可能性があります。多くの銀行は独自のカスタムテキストベースの形式も使用していますが、銀行は依然としてトランザクションデータを送信するためにXMLよりもEDIを好みます。

EDIを理解するには、最初にデータを理解し、さらに従う必要のあるEDI標準を理解する必要があります。

于 2009-09-16T15:16:40.663 に答える
1

データストリームが「ISA」で始まると仮定すると、最初に「〜ST *」のセクションがあり、その後に3桁の数字が続きます。これらの3桁を投稿できれば、おそらくより多くの情報を提供できます。また、業界を知ることは役に立ちます。たとえば、ヘルスケアは270、271、276、277およびその他のいくつかを使用します。

于 2009-09-16T07:33:26.660 に答える