2017-11-14 10 views
1

RPGLE固定フォーマットをフリーフォーマットに変換中です。変換中にキーリストの問題がありました&フィールドがデータ構造に変換されました。基本的には、すでに直接または間接的に定義されたフィールドを再定義している...フリーフォーマットのキーリストを置き換えるSQLRPGLE

DCL-DS Key_List;                    
    Field1 CHAR(4);                    
    Field2 CHAR(4); 
END-DS; 

両方のフィールド1フィールド2 &は、ファイルのフィールドです。以下の古いスタイル(固定フォーマット)

C  Key_list  KLIST       
C     KFLD     Field1 
C     KFLD     Field2  

アドバイスください...プログラムをコンパイル与えている時エラー(SQL0314)フィールド1 &フィールドがユニーク

答えて

5

ではありませんされてあなたは、構造化データと%KDS()を使用することができます... EXTNAME(...:*KEY)またはLIKEREC(...:*KEY)

dcl-ds key_list likerec(myfileR:*key); 
// 
chain %kds(key_list) myfile; 

で定義されるか、またはそれらが既に定義されているので、単純に直接フィールドを使用

chain (field1:field2) myfile; 

どちらの方法でも、重複定義を取り除き、プリコンパイラからのSQL0314エラーを停止する必要があります。

+0

@ MAS400は答えを受け入れることを忘れないでください – Charles