我在同一屏幕上遇到多个子文件的问题。我水平显示两个子文件,我只能在第二个加载的文件上使用上一页和下一页。我读过某个地方,您可以更改“活动”子文件,但未找到任何进一步的内容。
RPG代码:
// display screen
if #rrn02 <> 0 and #rrn03 <> 0;
write msgctlw;
write win01;
write ctl03;
write ctl02;
read ctl02;
read ctl03;
else;
*in02 = *on;
@err00 = *on;
@errmsg = '*Error: No Records Retrieved';
@errmsgs1(@errmsg);
ENDIF;
第一个子文件:
A R SFL02 SFL
A WINCD1 5 2 1
A COLOR(YLW)
A WINST1 2 2 7
A COLOR(YLW)
A WINCITY1 15 2 11
A COLOR(YLW)
A 3 1'*-----------------------*'
A R CTL02 SFLCTL(SFL02)
A N61 SFLDSPCTL
A N60 SFLDSP
A SFLPAG(5)
A SFLSIZ(500)
A WINDOW(4 8 13 25)
A OVERLAY
A N60 SFLEND(*MORE)
A 62 SFLCLR
A SFLCSRRRN(&#CSR02)
A SFLFOLD(CA11)
A CF06
A CF15
A WDWBORDER((*DSPATR ND))
A
A #RRN02 4S 0H SFLRCDNBR(CURSOR)
A #CSR02 5S 0H
A @CURRCD 10A H
A @CURFLD 10A H
A @CURPOS 4S 0H
A 1 1'Zip '
A COLOR(GRN)
A DSPATR(RI)
A DSPATR(UL)
A 1 7'St'
A COLOR(GRN)
A DSPATR(RI)
A DSPATR(UL)
A 1 11'City '
A COLOR(GRN)
A DSPATR(RI)
A DSPATR(UL)
第二个子文件:
A R SFL03 SFL
A WINCD2 5 2 1
A COLOR(YLW)
A WINST2 2 2 7
A COLOR(YLW)
A WINCITY2 15 2 11
A COLOR(YLW)
A 3 1'*-----------------------*'
A R CTL03 SFLCTL(SFL03)
A N61 SFLDSPCTL
A N60 SFLDSP
A SFLPAG(5)
A SFLSIZ(500)
A WINDOW(4 41 13 25)
A OVERLAY
A N60 SFLEND(*MORE)
A 62 SFLCLR
A SFLCSRRRN(&#CSR03)
A SFLFOLD(CA11)
A CF06
A CF15
A WDWBORDER((*DSPATR ND))
A
A #RRN03 4S 0H SFLRCDNBR(CURSOR)
A #CSR03 5S 0H
A @CURRCD 10A H
A @CURFLD 10A H
A @CURPOS 4S 0H
A 1 1'Zip '
A COLOR(GRN)
A DSPATR(RI)
A DSPATR(UL)
A 1 7'St'
A COLOR(GRN)
A DSPATR(RI)
A DSPATR(UL)
A 1 11'City '
A COLOR(GRN)
A DSPATR(RI)
A DSPATR(UL)
答案 0 :(得分:0)
不要READ
特定的格式...
代替读取文件。您可以设置指示器来告诉您用户按下命令键时所使用的子格式。
答案 1 :(得分:0)
经过更多研究,我发现了问题的根源。当操作系统只能处理垂直堆叠的两个子文件时,我试图并排放置两个子文件。
摘自this博客文章:
并排子文件必须通过编程处理,因为OS / 400不会自动处理它。
要达到我想要的结果(并排的两个列表),我将把数据放入一个子文件中,并使用DDS中的SFLLN(2)将其分成两行。