什么是包含空值的物理文件的 DSPF 的良好替代品?

What is a good substitute for DSPF with physical files that contain nulls?

我发现命令 DSPF(显示物理文件)不能正确显示包含空值的记录。如果我在 DDS 中用字段上的 ALWNULL 关键字定义一个物理文件,然后用数据填充该文件,DSPF 将正确显示没有空值的记录的数据,但所有包含至少一个空值的记录null 将在 null 和非 null 字段中仅显示空白。

这可能会产生误导。例如在下面的屏幕截图中,看似空白的记录在其大部分字段中都有数据,只有日期为空。它在字符模式下显示为空白,在十六进制模式下显示为零,不表示存储在物理文件中的实际值是什么。

是否有不同的系统命令或免费提供的实用程序可以显示数据的真实情况?我发现 DSPF 在调试中非常有用,并且希望能够看到字符和十六进制值(尤其是压缩十进制)的真实含义。我可以使用 SQL 来查看数据,但有时获取原始转储会更好,尤其是当您使用 SETLLCHAIN 之类的 RPG 语句并且不想成为被 SQL 顺序误导。

SQL...

SQL 没有顺序,除非你给它一个。因此,如果您想按照 RPG RLA 程序使用它的顺序查看数据,请指定 'ORDER BY KEY1, KEY2'

还有其他商业选项,例如 ProData 的 DBU 实用程序。但是 SQL 是你最好的选择。

DSPPFM 显示非空字段的数据,它显示任何空字段的默认值,通常为空白或零,但您可以在创建文件时设置不同的默认值。