为什么未使用的文件字段的值为空



我有一个名为的表

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)并得到了结果。

尝试此链接。。。关于调试(*输入)的描述

相关内容

  • 没有找到相关文章

最新更新