質問
以前にXMLを見たことがありますが、 EDI のようなものは一度も見たことがありません。
このファイルを読み取り、必要なデータを取得するにはどうすればよいですか? 〜、REF、N1、N2、N4のようなものが表示されますが、これらのものの意味がわかりません。
例とドキュメントを探しています。 どこで見つけることができますか?
アスロ 私が見つけたEDIガイドは、それが"に基づいていると言っていますANSI ASC X12 / ver。 4010」。 フォームX12を検索する必要がありますか?
親切なヘルプ。
解決
うわー、フラッシュバック。 16年以上経っています...
原則として、各行は「セグメント」であり、識別子は行の始まりであり、セグメント識別子です。各セグメントには「要素」が含まれます。これらは本質的に定位置フィールドです。それらは「要素区切り文字」で区切られています。
異なるセグメントは異なることを意味し、ループ構造、繰り返しなどを示すことができます。
基本的な解析のための標準の最新バージョンを取得する必要があります。次に、扱っているドキュメントのコンテンツを説明するデータ辞書が必要です。次に、業界プロファイル、実装ガイド、または環境内の特定のドキュメントタイプの規則を扱うのと同様です。
例?最新ではありませんが、お好みの検索エンジンを使用してたくさんの情報を見つけることができると確信しています。基本的なセグメント/要素の解析が完了したら、アプリケーションレベルのデータを処理していることになります。一般的な例がどれほど役立つかはわかりません。
他のヒント
これらの他の回答のいくつかは非常に優れています。彼らが言及していないいくつかのことを記入しようとします。
EDIは一連の標準であり、最も一般的なものは次のとおりです。
- ANSI X12(州で人気)
- EDIFACT(ヨーロッパで人気)
X12バージョン4010を見ているように聞こえます。これが最も広く使用されている(とにかく私の経験では)バージョンです。たくさんの異なるバージョンがあります。
ファイル、または適切に"インターチェンジ"セグメントと要素(およびsomtimesサブ要素)で構成されます。各セグメントは、2ワードまたは3ワードの識別子(ISA、GS、ST、N1、REF)で始まります。
すべてのドキュメントの構造は、エンベロープで始まり、エンベロープで終わります。エンベロープは通常、ISAセグメントとGSセグメントで構成されます。ファイルごとに複数のGSセグメントが存在する可能性がありますが、ファイルごとにISAセグメントは1つだけである必要があります(全員がルールに従ってプレイするわけではないことに注意してください)。
ISAは特別なセグメントです。他のすべてのセグメントは区切られているため、長さを変えることができますが、ISAセグメントは固定幅です。これは、残りのファイルの読み方を教えてくれるからです。
ISAセグメントの最後の3文字から始めます。これらは、要素の区切り文字、サブ要素の区切り文字、およびセグメントの区切り文字を示します。 ISA行の例を次に示します。
ISA:00::00::01:1515151515:01:5151515151:041201:1217:U:00403:000032123:0:P:*〜
この場合、":"は要素の区切り文字で、" *"はサブ要素の区切り文字で、"〜"セグメント区切り文字。ファイルを見て、各セグメント区切り文字(〜)の後に改行を入れるだけの場合は、はるかに簡単です。
ISAは、ドキュメントの送信元、送信先、バージョン(00403、4030とも呼ばれます)、および交換管理番号(0000321233)も通知します。この段階では、他のものはおそらく重要ではありません。
この文書は送信者からのものです" 01:1515151515"および受信者「01:5151515151」へ。では、「01:」の意味は何ですか?さて、これはEDIの重要な概念である修飾子を紹介します。いくつかの要素には修飾子があり、次の要素がどのタイプのデータであるかを示します。この場合、01はDunn and Bradstreetの番号になるはずです。 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で始まるドキュメントのループがあります。この場合、それらはすべてPOです。
EDIは、構造化テキストファイルのファイル形式であり、標準的なデータベース交換のために多くの大規模な組織や企業で使用されています。これは、データパケットを小さくする必要があったときに優れていたXMLよりもはるかに短い傾向があります。多くのメインフレームシステムがXMLの代わりにEDIを使用しているため、多くの組織が引き続き使用しています。
EDIメッセージでは、特定の形式に一致するテキストメッセージを処理します。これはXMLスキーマに似ていますが、実際にはEDIには標準化されたスキーマ言語がありません。 EDIメッセージ自体は実際には人間が読めるわけではありませんが、ほとんどの仕様は実際には機械可読ではありません。これは基本的にXMLの利点であり、XMLとそのスキーマの両方を人間とマシンが読み取ることができます。
チャンスは、クライアント側のソフトウェア(ブラウザベースではない)を介して電子バンキングを行う場合、システム上にいくつかのEDIファイルが既にある可能性があることです。銀行は依然としてトランザクションデータを送信するためにXMLよりもEDIを好んでいますが、多くの銀行は独自のカスタムテキストベースの形式も使用しています。
EDIを理解するには、最初にデータに加えて、従うEDI標準を理解する必要があります。
データストリームが“ ISA”で始まると仮定すると、先頭に向かってセクション“〜ST *”があるはずです3桁の数字が続きます。これら3桁の数字を投稿できる場合は、おそらくより多くの情報を提供できます。また、業界を知ることは役立ちます。たとえば、ヘルスケアでは270、271、276、277、および他のいくつかを使用しています。