E L1021 同一キーは認められていません

1:E L1021 同一キーは認められていません
やぎ 02/22 15:30
741 RDBファイルをキーファイル経由で使用 やぎ 2006/02/22 14:57


いつも勉強させていただいております。
このたび、既存システムを改修する事になったのですが
件名のことで少々困っています。


表名 XXX-DB データファイル XXX-D  キーファイル XXX-K
というファイルを使用する場合

SELECT XXX ASSIGN XXX-MSD

VALUE OF IDENTIFICATION ”XXX-K”

と記述されているのですが
いざ実行しようとすると

「E L1021 同一キーは認められていません」というエラーが発生し
実行することができません。

社内の開発環境はA-VX4、実際の稼働環境はA-VX01ですが
プログラム自体は10年以上前に作られたものなので
OSなどに依存しているとは考えにくいのですが

このままですと環境構築でつまづいてしまうことになります。


なにかヒントでもあれば教えていただけないでしょうか。


よろしくお願いいたします



2:Re:E L1021 同一キーは認められていません
NNN3 02/22 16:28
COBOLの記述的なことなら下記で

FILE-CONTROL.
SELECT XXXXX-K1 ASSIGN XK1-MSD XK2-MSD
            ORGANIZATION INDEXED
            ACCESS MODE DYNAMIC
            RECORD KEY XXXX-KEY
          二重キーなし
    ALTERNATE RECORD KEY XXXX-KEY2 WITH DUPLICATES.
    二重キーあり

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

   ALTERNATE RECORD KEY XXXX-KEY2.
二重キーなし

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

データの更新時に同時更新する場合は、すべてのファイルの記述を

参照だけの場合は、参照したいファイル1つだけでも大丈夫です。



---------------------

FILE SECTION.
FD XXXXX-K1
BLOCK CONTAINS 10 RECORDS
  LABEL RECORD IS STANDARD
  VALUE OF IDENTIFICATION ”XXXXX-K1”
  ALTERNATE IDENTIFICATION ”XXXXX-K2”.

------------------------------------------------

記述の問題でなくて、実データの場合は

#MAPで、ファイルのKEYの位置と桁数と二重KEYのYES/NOを再確認して

合っていて、出る場合は、データの復旧等で

二重KEYが発生しているのかも.....

その場合は、データを一度他のファイルに

退避して、書き戻せば、いいのですが、二重KEYのデータを先に整理して

正しいデータを作成してから、戻してください。



3:Re:E L1021 同一キーは認められていません
やぎ 02/22 16:29
自己レスです。

ファイルの領域確保を#DDMで行っていたのを
#ABCでの領域確保に変更したところ、解決しました。


表定義が、構造体ではなく、桁数指定であったため
連続したキー項目であっても、キー項目を複数指定して
キーファイルの領域を確保したのが原因だったようです。





4:Re:E L1021 同一キーは認められていません
NNN3 02/22 16:41
#DDMで仮データのアロケートならいいのですが、細かい指定が

ある時に、利用するとわかりにくいと思います。

5:Re:E L1021 同一キーは認められていません
やぎ 02/22 20:38
キーファイルの適切な容量が自動的に確保されるので便利だ、と教えてもらったんですが。

おっしゃるとおりかもしれないですね。

6:Re:E L1021 同一キーは認められていません?追伸
NNN3 03/01 17:55
AVXの新HIのデータ操作支援−−A/領域−−S/登録−−−−−

の領域登録機能で領域サイズの所でアロケート時にサイズ単位 ◎ 1.セクタ ○ 2.レコード

の所で 件数指定でアロケートができます。

新HIを利用していない RUN^^^^^^^の方式の時は #SABC1;でデータ操作支援\r

のメニューが、表示されます。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

#DDMでの領域の作成時にKEY指定時にDDMのライブラリィが、4回まで指定

可能で4回以内にKEY指定が網羅できれば、いいですが、出来ない場合は、

指定ができないので、ライブラリィを階層化して、作成しないと網羅できませんでした。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

実の所#DDMでMIXファイルの作成を試みたことが、なかったので今回初めて

わかりました。

1-

BluesBB ©Sting_Band