2016-12-05 54 views
0

我在过去使用外部描述的数据结构来使用文件字段。现在,当我调试数据结构是空白。我无法回忆如果我错过了任何事情。请协助。RPGLE外部描述的数据结构

H option(*nodebugio) cvtopt(*datetime)       
FEMPMSTP IF E   K disk prefix(A_)     
D empDs   E DS     extname(EMPMSTP) prefix(A_) 

      dou %eof(EMPMSTP);          
       read EMPMSTP;          
       if %eof;           
        leave;           
       endif;            
      enddo;             

      *inlr = *on;  

在读取语句之后,empD将具有读取的记录的值。

回答

2

RPGLE编译器非常聪明。它知道你不使用任何数据从文件...

尝试增加..
h debug(*input)

注意,行为改变,阅读变得更聪明,在6.1。所以这可能是为什么现在这对你来说是新的。从芭芭拉·莫里斯后IBM的编译器团队在这里

更多信息:https://www.ibm.com/developerworks/community/blogs/b542d3ac-0785-4b6f-8e53-f72051460822/entry/are_you_using_option_nounref_if_so_good_if_not_read_on?lang=en

+2

查尔斯,没有什么变化6.1关于编译器是否加载未使用的字段。在调试过程中,这总是令人费解的RPG行为。在6.1中改变的是,如果你指定OPTION(* NOUNREF),你可能会得到不同的令人费解的行为(调试器可能会说该字段不存在)。 –