AS400文件格式级别标识符不断变化

时间:2018-06-22 15:32:11

标签: ibm-midrange rpgle

我有一个奇怪的问题,在运行程序时出现级别检查错误。我通过重新编译文件和程序来纠正此问题。 我使用DSPFD检查文件的格式级别标识符,并使用DSPPGMREF检查程序的该文件的格式级别标识符,并确保它们在重新编译后匹配并且正确。

然后我使用CALL来运行程序,然后收到一个级别检查错误。当我使用相同的过程检查标识符时,文件的标识符已更改。

我已经尽了最大的努力,包括完全删除文件对象并编译并创建一个与程序相同的新对象。 我还尝试过将格式级别检查属性设置为* NO的文件和程序进行重新编译 同样,文件和程序名称上的WRKOBJ(* ALL / [文件名])在正确的库中仅显示一个对象。没有其他物体

请帮助,这非常令人沮丧。

下面的屏幕截图显示

之前: FILE Format Level Identifier Before Program Format Level Identifier for File Before 后: FILE Format Level Identifier After Program Format Level Identifier For File AFTER

1 个答案:

答案 0 :(得分:2)

文件记录格式级别的ID不会自动更改...

评论者都是正确的,并且您遇到了图书馆清单问题并处理了多个副本...

或者正在对文件进行更改记录格式级别ID的操作。

根据docs

  

系统在创建关联文件时为每种记录格式分配一个唯一的级别标识符。系统使用以下信息来确定级别标识符:

     
      
  • 记录格式名称
  •   
  • 字段名称​​(10个字符的系统名称,不包含长别名)
  •   
  • 记录格式的总长度
  •   
  • 记录格式的字段数
  •   
  • 字段属性(例如,长度和小数位)
  •   
  • 记录格式的字段顺序
  •   

您可能会尝试在编译之前和级别检查之后使用“显示文件字段描述”(DSPFFD)命令,以便您确定要进行的更改。然后,只需跟踪一下位置/原因。