我正在将RPGLE固定格式转换为自由格式,而在转换时我遇到了一个问题,KEY-LIST&Fields被转换为数据结构.这基本上是重新定义已经直接或间接定义的字段......
DCL-DS Key_List;
Field1 CHAR(4);
Field2 CHAR(4);
END-DS;
Run Code Online (Sandbox Code Playgroud)
field1和field2都是文件的字段.下面是旧式(固定格式)
C Key_list KLIST
C KFLD Field1
C KFLD Field2
Run Code Online (Sandbox Code Playgroud)
请注意...程序给出编译时错误(SQL0314)field1&field不是唯一的
您可以将%kds()与使用EXTNAME(...:*KEY)
或定义的数据结构一起使用LIKEREC(...:*KEY)
dcl-ds key_list likerec(myfileR:*key);
//
chain %kds(key_list) myfile;
Run Code Online (Sandbox Code Playgroud)
或者直接使用这些字段,因为它们已经定义了......
chain (field1:field2) myfile;
Run Code Online (Sandbox Code Playgroud)
这两种方法都应该摆脱重复的定义并从预编译器中停止SQL0314错误.
归档时间: |
|
查看次数: |
925 次 |
最近记录: |