我有一个名为的表
EQRECORDS
如下-
A R REQ
A FNAME 10A
A LNAME 10A
A K FNAME
和程序如下-
fEQRECORDS if e k disk
d uwvar2 s 10a inz('ANKUR')
/free
setll *loval req;
reade uwvar2 req;
dow not %eof(eqrecords) and not %error;
dsply lname;
reade uwvar2 req;
enddo;
*inlr = *on;
/end-free
当第一次执行READE时,如果我想使用Eval查看Fname的值。为什么显示为空白?
表中的数据如下-
**FNAME LNAME**
VIKASH SHUKLA
VIKASH SHUKLA
ANKUR VERMA
ANKUR MEHTA
VIKASH MISHRA
VIKASH GUPTA
ANKUR GUPTA
BHASKAR MISHRA
CHINTU
BHUVI GUPTA
我假设您在调试器中使用'eval'。如果在H-规范或编译命令上有OPTION(*NOUNREF),则未引用的字段在调试器中不可用。将OPTION(*UNREF)放入您的H规范中,以便将其包括在内。
发布给出问题的确切代码。这应该有效:
fEQRECORDS if e k disk
d uwvar2 s 10a inz('ANKUR')
d message s 50a inz
/free
setll *loval req;
reade uwvar2 req;
dow not %eof(eqrecords) and not %error;
message = %trimr(fname) + ' ' + lname;
dsply message;
reade uwvar2 req;
enddo;
*inlr = *on;
/end-free
我得到了这个问题的解决方案。我在H-规范中使用了debug(*input)并得到了结果。
尝试此链接。。。关于调试(*输入)的描述