我修改了一个已经在生产中运行的程序,该程序使用文件替换。我无法编译它,因为声明为输入的文件与另一个文件具有相同的格式名称。这个相同的输入文件在运行时被另一个替换,其字段在链操作的其余代码中使用,由于这个没有声明,这些字段不会被识别:
FFILELCT IF E DISK
F KRECNO RCDNBR
FEXTRPHOTO E DISK A
这两个文件具有相同的格式名称===>编译错误当作业正在运行时:使用wrkusrjob+5+选项15,我可以看到文件替换FILELCT DB到文件(XXXXXXXX/FILE2(
你有什么解决方案可以编译它吗?
正如@nfgl所说,您需要使用K RENAME来重命名第二个文件的格式。对于下面的代码,我假设格式的名称是";ELCFMT";。我将EXTRPHOT文件的格式重命名为EXTRFM。
FFILELCT IF E DISK
F KRECNO RCDNBR
FEXTRPHOTO E DISK A
F ELCFMT KRENAMEEXTRFM
您可以先使用cvtRpgSrc
创建ILE程序。然后再次尝试编译。
通过将文件1复制到qgpltemp并用文件名2重命名它,然后将qgpltemp-库放在库列表的第一位,解决了此问题。感谢大家对的支持