我正在使用三个具有不同记录格式的逻辑文件在第一个子文件中,我正在使用 LF1 和 LF2在第一个子文件中,我无法使用*LOVAL SETELL,它会给我运行时错误。不知道为什么?
然后程序将引导我进入第二个子文件我正在使用 LF3似乎没问题。
但是如果我回到第一个子文件,子文件将变为空白????为什么?
这是我构建子文件的子例程:
C CLRSR BEGSR
C EVAL *IN55='0'
C WRITE USQLSCTL
C EVAL *IN55='1'
C ENDSR
C*
C*BUILDING SUBFILE
C BLDSR BEGSR
C *LOVAL SETLL USRLGX
C EVAL RECNO=0
C EXSR TMISR1
C EXSR REDSR1
C DOW NOT %EOF
C IF USRID<>IDD
C EXSR MVESR
C EXSR DIMSR
C MOVE USRID IDD
C EVAL RECNO=RECNO+1
C WRITE USQLS
C ENDIF
C EXSR TMISR1
C EXSR REDSR1
C ENDDO
C ENDSR
和相关子程序
C TMISR1 BEGSR
C READ USRLGX
C MOVE USRTI MINTI
C ENDSR
C REDSR1 BEGSR
C READ USRLG
C MOVE USRTO MAXTO
C ENDSR 6
我使用的LF是USRLG和USRLGX。其中两个 LF 引用相同的记录格式。但是每个 LF 都有不同的排序顺序。*记录格式已在 F-Spec 上重命名
- 我有两个问题,即:
- 我只能使用*LOVAL设置逻辑文件一次。
- n 上面的编码结果有时它会给出 UserTime 的结果有时它等于空白。(000000)
当你使用*LOVAL时,你必须使用记录地址类型"k"(表示在程序中键入)