2016-12-05 85 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),你可能會得到不同的令人費解的行爲(調試器可能會說該字段不存在)。 –