我发现命令DSPF
(显示物理文件)无法正确显示包含空值的记录。如果我在DDS中使用ALWNULL
关键字在字段中定义物理文件,然后用数据填充文件,DSPF
将正确显示没有空值的记录数据,但所有包含至少一个的记录null将在null和non-null字段中仅显示空白。
这可能会产生误导。例如,在下面的屏幕截图中,看似空白的记录在其大多数字段中都有数据,仅在日期中为null。它在字符模式下显示为空白,在十六进制模式下显示为零,不显示物理文件中存储的实际值。
是否有不同的系统命令或可自由使用的实用程序来显示数据的真实含义?我发现DSPF
在调试时非常有用,并且希望能够看到字符和十六进制值(特别是对于压缩小数)的确是什么。我可以使用SQL来查看数据,但有时最好获得原始转储,特别是如果您使用的是SETLL
或CHAIN
之类的RPG语句,并且不希望被SQL排序误导
答案 0 :(得分:1)
... SQL
除非你给它一个,否则SQL没有排序。因此,如果您想按照RPG RLA程序使用它的顺序查看数据,请指定'ORDER BY KEY1,KEY2'还有其他商业选项,例如ProData的DBU实用程序。但SQL是你最好的选择。
答案 1 :(得分:1)
DSPPFM显示不为空的字段的数据,它显示任何空字段的默认值,通常为空或零,但您可以在创建文件时设置不同的默认值。 / p>