我正在使用具有不同记录格式的三个逻辑文件 我在第一个子文件中使用LF1和LF2 在第一个子文件的地方我不能使用* LOVAL SETLL它会给我运行时错误。 不确定为什么?
然后程序将引导我到第二个子文件 我正在使用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上重命名