Ibm midrange AS400的DSPF中不显示ERRMSG

Ibm midrange AS400的DSPF中不显示ERRMSG,ibm-midrange,rpgle,Ibm Midrange,Rpgle,我有一个显示文件,其代码如下: A DSPSIZ(24 80 *DS3) A PRINT A ERRSFL A INDARA ... A

我有一个显示文件,其代码如下:

     A                                      DSPSIZ(24 80 *DS3)
     A                                      PRINT
     A                                      ERRSFL
     A                                      INDARA   
...
     A          R DSPBTM
     A                                      CF05
     A                                      CF01
     A                                      CF07
     A                                      OVERLAY 
...
     A            NEWFLD    R        B 12 12REFFLD(FLE/MYFIELD FIELDSFILE)
     A  40                                  DSPATR(PR)
     A                                      EDTCDE(Z)
     A  59                                  ERRMSG('New field and Original fiel-
     A                                      d must be different.' 59)      
...
以及相关的RPG代码:

...
    //If the old field and the new field are the same, error.
    if oldfld = newfld;
      *in59 = *on;
      iter;
    endif;
...
在调试过程中,我在exfmt之前验证了*in59是否处于启用状态。但是,当屏幕显示时,我什么也看不到。错误消息不会出现,字段不会突出显示,它的行为就像这是一个没有错误的正常循环

我在使用ERRMSGID时还有其他错误,这些错误确实有效。但是,我希望避免使用消息文件,因为这可能只会使用一次


我还没有找到任何有帮助的在线资源。有些教程似乎方向正确(如),但仍未解决此问题。

在59中更改*的状态后,您需要对记录格式DSPBTM进行写入。

谢谢。我知道这很简单。