2012-04-27 5 views
0

EDIFACTには、数値データ要素があります。フォーマットn.5として - 私たちはそれらのフィールドをデータベーステーブルに保存したい(英数字フィールドを持つので、チェックすることができる)。 dbフィールドがどれくらいの期間必要なのでしょうか?それで、すべての有効な値を確実に保存できるのですか?私はそれが少なくとも2つの付加的な文字(小数点(またはカンマまたは何でも)と場合によっては先頭のマイナス記号)であることを知っています。数字のEDIFACTデータ要素は何文字にできるのですか?

UN/EDIFACTの標準に従って作成していますが、具体的なガイドではなくメッセージに使用していますので、その標準に一致するものをすべて保存できるようにしたいと考えています。しかし、数値データ要素に関する文書は、実際には単純ではありません(少なくとも私はその部分を見つけることができませんでした)。任意のヘルプ

答えて

1

最終的にUN/EDIFACT規則Part 4. UN/EDIFACT rules Chapter 2.2 Syntax Rulesの文書にUNECE web siteに関する情報が見つかりました。彼らはそれを直接言うわけではありませんが、あなたがすべてのパーツを一緒に置くと、あなたはそれを手に入れます。 TOC-entry 10:数値データ要素の値の表現を参照してください。

は、ここでは基本的に言っていることだ:

10.1:(必要な場合)(常に1つの文字入れ、コンマまたはポイント)UNAに指定されている小数点
小数点を送信する必要があります。それは、データ要素の最大フィールド長を計算する際に、値の文字として数えてはならない。

10.2:トライアドセパレーター
トライアドのセパレータを交換して使用してはなりません。

10.3:値が負であることが示されるべきである場合、それは伝送に直ちにマイナス記号などが先行されなければならない[...]
サイン-112。マイナス符号は、データ要素の最大フィールド長を計算する際に値の文字として数えてはならない。しかし、送受信のキャラクターに余裕を持たせる必要があります。

は一緒にそれを置くために:小数点区切り文字とマイナス記号(ないブランクは任意の文字の間で許可されません):自体は数値フィールドで許可された唯一の2(オプション)文字がある数字以外の
。これら2つの余分な文字は、フィールド内の値の最大長に対してカウントされません。

数値フィールドの最大文字数は、数値フィールドの最大長に2を加えたものになります。n..17で指定されたフィールドに送信されたすべての構文的に正しい値をデータベースに格納できるようにするには、長さは19文字(varchar(19)のようなもの)でなければなりません。n..17で指定されたフィールドに19文字より長い値を持つすべてのEDIFACTメッセージは、すでに構文的に間違っていて拒否できるため、セマンティックチェックのためにDBに格納する必要はありません。

0

ため

おかげで私は、同様の課題を解決するためのリエゾンからのEDIのメモ帳を使用していました。 https://liaison.com/products/integrate/edi/edi-notepad

私はEDIを見て、少なくともEDIメモ帳の無料(Express)バージョンを入手することをお勧めします。

製品の「ハイエンド」バージョン(EDI Notepad Productivity Suite)には、要素の最小/最大長とタイプをエクスポートできる「辞書ビューア」ツールが付属しています。 ViewerツールからHTMLにドキュメントをエクスポートすることができます。また、ANSI X12も処理します。

+0

ヒントありがとうございます - あなたはそこに登録する必要があります(無料版の場合でも)、私は会社の情報でそれをするつもりはありません。 – kratenko

+0

いつでも偽の情報で埋め込むことができます。 :)ダウンロードページにアクセスするだけです。無料の電子メールアドレスでフォームに記入すると、ソフトウェアをダウンロードできるようになります。あなたがしたいと思わない限り、誰とでも話す必要はありません。 – Andrew

関連する問題