1:KEYファイルの並び替え あずみ 08/25 13:57 初めて投稿します。 複数索引順編成ファイルのKEYに、日本語(2バイト)項目があるのですが、うまくデータが読めないので教えて下さい。 KEYは 数字項目6桁+日本語15桁 で、例えば1件目が000002+東日本、2件目が000003+東日本、3件目000003+名古屋 となっているデータで 000003 + ALL NC” ” をKEYセットしSTART命令を実行した場合、該当データなしとなります。 日本語データにおいて、最小値は NC” ” (NX”2121”)ではないのでしょうか? 上記START命令で、000003を含む最初のレコードに指示子が当たることを望んでいるのですが。そうするには どの様にコーディングしたら良いのでしょうか? 宜しくお願いします。 2:Re:KEYファイルの並び替え 温泉好きのうさぎ 08/25 23:09 ファイル上の日本語項目のデータは、JISコードの値で記録されているのではなく、NEC独自の内部コードで記録されています。 すなわち、日本語のスペース(NX”2121”)は、内部コードで表現すると、””794F”” となり、最小値ではありません。 また、NC”東”(NX”456C”)は、内部コードで ””0671”” であり、NC”名”(NX”4C3E”)は、””096E”” なので、いずれも日本語スペースより小さな値です。 従って、まずキー項目全体(集団項目)に対して LOW-VALUE を送った後、数字項目に 000003 を送った状態で START 命令を実行すれば 000003 を含む最初のレコードが読めます。 ただし、READ 命令で読み出される順番は、上で説明したとおり日本語項目のJISコード順ではなく、内部コード順となります。 3:Re:KEYファイルの並び替え あずみ 08/29 18:00 うまくできました。 有り難うございました。 |