setll reade for前缀文件



我在RPGLE程序中读取文件时遇到了这个奇怪的问题。

fmosdp00   if   e           k disk    prefix(xx:2)              
  SetLL ('HF':'30':'032':'SK':'0095320':'002':0:0001) mosdp00a; 
  Reade ('HF':'30':'032':'SK':'0095320':'002':0) mosdp00a;      
  *Inlr = *On;  

上面的setll和reade似乎并未根据需要设置MOSDP00文件的字段值。

当我以调试模式运行此程序并执行eval xxmord(MOSDP00字段)后,它是空白的。

但是,如果我使用以下任何字段添加了一些操作,例如DSPLY XXMORD,则该程序似乎设置了此字段值。

有人可以帮助理解这一点。

RPG编译器优化了未使用的变量。因此,在调试中,如果您尝试查看仅由记录格式隐式定义但未在程序中使用的变量,则不会看到一个值。这不是前缀的问题。添加DSPLY XXMORD操作时,您添加了该字段的用法,这阻止了编译器将其优化。这使您可以在调试中查看该字段。如果您在未使用的记录格式上尝试另一个字段,它将再次在调试中显示空白。

相关内容

  • 没有找到相关文章

最新更新