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

时间:2014-10-07 13:30:18

标签: eval ibm-midrange rpg

我有一个名为

的表
  

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 

3 个答案:

答案 0 :(得分:1)

我假设你在调试器中使用'eval'。如果在H-spec或编译命令上有OPTION(* NOUNREF),那么调试器中没有未引用的字段。将OPTION(* UNREF)放入您的H-spec中以包含它们。

答案 1 :(得分:0)

发布给您提供问题的确切代码。这应该有效:

 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

答案 2 :(得分:0)

我得到了这个问题的解决方案。我在H-spec中使用了debug(* input)并获得了结果。

试试这个链接...... Descreption about debug(*input)