RPGLE中如何按KEY FIELD DATE做LOOP记录?
How to do LOOP record by KEY FIELD DATE in RPGLE?
我无法获得完整输出。
假设输出需要如下所示:
这是我的物理文件:
我在物理文件中有三个字段,它们是:
- EXGDAT = 日期
- EXGCOD = 兑换码
- EXGRAT = 汇率
我的输出是这样的:
我的输出仅显示 6 月 1 日的记录,而不是 5 月 31 日和 6 月 1 日的记录。我应该怎么做才能获得我想要的确切输出?请帮我。提前致谢
内部循环运行到 %eof
。然后你写入子文件。写入子文件后的 reade
将 return %eof 因为进入文件的光标尚未重置。
write sfl01
exgdat reade curexg
使用SETGT
然后READ
读取到下一组货币汇率记录的EXGDAT
。
write sfl01
exgdat setgt curexg
read curexg
要调试未读取预期记录的问题,请尝试将每次读取的结果写入打印文件。这样你就可以在程序运行后查看一些东西。可能有助于理解阅读的内容和原因。
FQSYSPRT o f 132 printer OflInd(*inOf)
d lineData s 132a
if *inof = '1' ;
except newPage ;
endif ;
lineData = %eof + ' ' + exgcod + ' ' +
%editc(exgrat:'J') +
' ' + %char(exgdat:*iso) ;
except detail ;
OQsysprt E NewPage 1
O LineData 132
O E Detail 1
O LineData 132
我无法获得完整输出。
假设输出需要如下所示:
这是我的物理文件:
我在物理文件中有三个字段,它们是:
- EXGDAT = 日期
- EXGCOD = 兑换码
- EXGRAT = 汇率
我的输出是这样的:
我的输出仅显示 6 月 1 日的记录,而不是 5 月 31 日和 6 月 1 日的记录。我应该怎么做才能获得我想要的确切输出?请帮我。提前致谢
内部循环运行到 %eof
。然后你写入子文件。写入子文件后的 reade
将 return %eof 因为进入文件的光标尚未重置。
write sfl01
exgdat reade curexg
使用SETGT
然后READ
读取到下一组货币汇率记录的EXGDAT
。
write sfl01
exgdat setgt curexg
read curexg
要调试未读取预期记录的问题,请尝试将每次读取的结果写入打印文件。这样你就可以在程序运行后查看一些东西。可能有助于理解阅读的内容和原因。
FQSYSPRT o f 132 printer OflInd(*inOf)
d lineData s 132a
if *inof = '1' ;
except newPage ;
endif ;
lineData = %eof + ' ' + exgcod + ' ' +
%editc(exgrat:'J') +
' ' + %char(exgdat:*iso) ;
except detail ;
OQsysprt E NewPage 1
O LineData 132
O E Detail 1
O LineData 132