3.固定長メッセージで運用する場合

固定長で従来と同様な方法をとる場合についてはあえて解説する必要はないと思われますので、省略します。(その内容についてはⅣ.固定長メッセージ編を参照して下さい。)ここでは、固定長で暫定的に運用しながらも近い将来可変長メッセージを使ったEDIにしたいといった場合について解説します。


(1)可変長運用をにらんだ固定長運用

 当概要書では可変長メッセージの中に固定長メッセージの項目をほとんど包含させていますので、移行は容易ですが、特別に暫定的な固定長メッセージフォーマットを定義しなければならない時には可変長の同データ種のメッセージ項目から選択できる範囲で構成するようにします。それでも不足がある場合には追加をすることになりますが、可変長に移行した後で最後のメッセージ項目の後に新項目を追加することができます。後に追加しなければならない理由は、DBを構成した場合に単純に「カンマ編集されたテキスト」を入力するとした場合、その間に新規項目が追加されてしまうと項目の順番が異なってしまい処理がしにくくなるからです。DBによっては、項目の順番を自由に定義できる場合もありますが、この順番はほかの企業でも共通して使用しますので、できればそのまま守って後ろに追加してください。また先頭の行でお互いに定義した項目名称(例えば商品コードのJANを□SCDJAN1□など)を送り、その名称に従ってDBに入力することができる機能もあったりするので、それを活かせば問題が解決する場合もあります。(尚、新規項目の桁数設定については次項(2)を参照して下さい。)


(2)固定長での桁数設定

 当概要書の固定長ではむやみに最大桁数を設定できないので「標準的に使用できるであろう桁数」を採用しています。逆に当概要書の可変長では様々な消費財業界で使われている代表的な事例に基づき、その中の最大桁数を採用しています。そのことからメッセージフォーマットの項目ごとの桁数定義が固定長と可変長では異なっています。(当然可変長の桁数が多くなっています。)従って固定長メッセージフォーマットに新規項目を追加するような場合には、可変長メッセージフォーマットの項目の中から選び、その桁数かまたはそれより少ない桁数で定義すれば良いと考えられます。そうすることでDB定義で通常行われるチェックのうち桁数オーバーについてはそのエラーを回避できることになります。


(3)サイン処理について

 COBOLなどの言語では項目の定義の際にプラスマイナスを示すサイン記号をつけるかつけないか指定することになります。可変長ではそれが数値を精度で表す程度の定義はありますが、通常サイン記号をどうするかについては定義しません。当概要書のメッセージフォーマットの各項目ではこのような考え方の違いがあるため、固定長ではS9(2)V9(2)(プラスマイナスを認め、整数2桁少数2桁の意味)というように記述していますが、一方可変長ではNUM(Numeric:数値のこと)で6桁などという表現で記述しています。


(4)数値のコンパクション

 数値データのファイル上のバイト数を節約する目的でCOBOLでいうCOMP-3などの定義がありますが、新世代機で使われる言語では数値はバイナリーで表現されることが標準となっていることがほとんどなので、COMP-3のような定義はあまり使われません。従って固定長メッセージフォーマットのある項目をそのCOMP-3で定義しようとする場合などには、そのCOBOLなどの規則に従って算出して下さい。