gpt4 book ai didi

ibm-midrange - 只能读取一个值

转载 作者:行者123 更新时间:2023-12-04 05:37:39 26 4
gpt4 key购买 nike

我编写了一个程序来读取物理文件:

0002.00 A REF(USRMF)
0002.01 A R TSREC
0005.00 A USRID R *用户 ID
0006.00 A USRDT R *日期
0007.00 A USRTI R *time IN
0008.00 A USRTO R *超时
0009.00 A K USRID

我允许用户输入日期、时间和超时的地方。

当然它会复制 USRID :

在我的程序中,我像这样检查以前的最大值:

0019.01 C *LOVAL SETLL USRTS
0019.03 C USRID 读 USRTS 45
0019.04 C DOW (*IN45='0')
0019.05 C IF (USRDT>=MIN)
0019.06 C 移动 USRTO MAX
0019.07 C 移动 USRDT MIN
0019.08 C ENDIF
0019.09 C USRID 读 USRTS 45
0019.10 C端
0029.00 C ENDSR

我有以下用户:

选择 USR ID 用户名
A0000001 萨姆苏阿里平米斯达
A0000002 NUR QISTINA SAFIYYAH
A0000003 李泽云
A0000004 SOFFUAN SAURI

但是当我尝试与以前的值进行比较时。
我的程序只能检查用户 A000000001 ,而不是其他用户。

如何修改程序以便检查所有用户?

最佳答案

在 19.01 行,你为什么使用 *LOVAL 来设置下限?在我看来,您最好使用“USRID ... SETLL”,这应该可以解决您的问题。 SETLL 时,您将光标定位到因子 1 中的值。当因子 1 为 *LOVAL 时,这将定位到文件的开头。

下一个 (READE) 操作然后检索当前位置之后/处的记录,并将其键值与因子 1 中指定的键进行比较。由于您定位到文件的开头,READE 将仅匹配第一个 (最低阶)键,所以效果是只有最低的键才会起作用。

出于好奇,你为什么不以自由形式写作?比较/对比...

SETLL usrid USRTS ;
READE usrid USRTS ;
DOW Not %EOF(USRTS) ;
IF USRDT >= MIN ;
MAX = USRTO ;
MIN = USRDT ;
EndIF ;
READE usrid USRTS ;
EndDO ;
EndSR ;

关于ibm-midrange - 只能读取一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com