- RPG4 SUBFILE SCREEN error occur when to go back to subfile
- 0002.05 F**** USRMF = USE FOR REFERENCE/CHECKING THE EXISTED/VALID ID OF USER
- 0002.06 F**** USRTS = USE FOR UPDATING DATE,TIME IN AND TIMEOUT KEYIN BY USER
- 0002.07 ***********************************************************************
- 0002.08
- 0002.09 FUSRMF UF A E K DISK
- 0002.10 FUSRTS UF A E K DISK
- 0002.13 FUSRRT2 CF E WORKSTN SFILE(TASSFL:RECNO)
- 0003.00 F*
- 0005.01 DRECNO S 4 0 INZ(0)
- 0005.12 DRST01 S 2 0
- 0005.13 DRST02 S 2 0
- 0005.14 DMIN S 6 0
- 0005.15 DMAX S 6 0
- 0005.16
- 0005.17 DDATDS DS
- 0005.18 DALDDS 1 6 0
- 0005.19 DDAYDS 1 2 0
- 0005.20 DMTHDS 3 4 0
- 0005.21 DYERDS 5 6 0
- 0005.22
- 0005.23 DTINDS DS
- 0005.24 DTIHDS 1 2 0
- 0005.25 DTIMDS 3 4 0
- 0005.26 DTISDS 5 6 0
- 0005.27
- 0005.28 DTONDS DS
- 0005.29 DTOHDS 1 2 0
- 0005.30 DTOMDS 3 4 0
- 0005.31 DTOSDS 5 6 0
- 0005.54
- 0005.55 C
- 0005.56 C*
- 0006.01 C EXSR CLRSR
- 0006.02 C EXSR BLDSR
- 0006.03 C WRITE TASSFTR
- 0006.04 C* EVAL *IN05='0'
- 0006.05 C EVAL *IN06='0'
- 0006.06 C EXFMT TASSCTL
- 0007.00 C DOW (*IN03 = '0')
- 0007.01 C MOVE *BLANKS MSG001
- 0007.08 C READC TASSFL 88
- 0007.09 C DOW (*IN88='0')
- 0009.05 C OPT CASEQ '5' CRTSR
- 0010.00 C ENDCS
- 0010.03 C UPDATE TASSFL
- 0010.04 C READC TASSFL 88
- 0010.05 C ENDDO
- 0010.06 C CLEAR OPT
- 0010.08 C WRITE TASSFTR
- 0011.00 C EXFMT TASSCTL
- 0011.01 C ENDDO
- 0013.00 C EVAL *INLR = '1'
- 0014.00 C*
- 0015.00 C*SUBROUTINE
- 0015.14 C*
- 0015.15 C*CLEARING SUBFILE
- 0015.16 C CLRSR BEGSR
- 0015.18 C EVAL *IN55='0'
- 0015.19 C WRITE TASSCTL
- 0015.20 C EVAL *IN55='1'
- 0015.22 C ENDSR
- 0015.23 C*
- 0015.24 C*BUILDING SUBFILE
- 0015.25 C BLDSR BEGSR
- 0015.27 C *LOVAL SETLL USRMF
- 0015.28 C EVAL RECNO=0
- 0015.29 C READ USRMF 99
- 0015.30 C DOW *IN99='0'
- 0015.31 C EVAL RECNO=RECNO+1
- 0015.32 C WRITE TASSFL
- 0015.33 C READ USRMF 99
- 0015.34 C ENDDO
- 0015.36 C ENDSR
- 0015.41
- 0015.42 C CALSR BEGSR
- 0015.43
- 0015.44 C MOVE USRDT1 DATDS
- 0015.45 C MOVE USRTI1 TINDS
- 0015.46 C MOVE USRTO1 TONDS
- 0015.47
- 0015.48 C MTHDS DIV 2 RST01
- 0015.49 C MVR RST02
- 0015.50 C ENDSR
- 0015.54 C ERDSR BEGSR
- 0015.55 C EXSR CALSR
- 0015.56
- **0015.57 C N12 EXSR MAXSR**
- 0015.58 C**********DATE ERROR HANDLING*********************
- 0015.64
- 0015.65 C N12 IF USRDT1=0
- assuming this part is correct
- 0015.69 C ELSE
- 0015.70
- 0015.71 C N12 IF DAYDS=0
- move error message and on indicator
- 0015.76 C ELSE
- 0015.77
- 0015.78 C N12 IF (USRDT1<USRDT)
- move error message and on indicator
- 0015.81 C ELSE
- 0015.82
- 0015.83 C N12 IF (MTHDS>12)OR(MTHDS=0)
- move error message and on indicator
- 0015.86 C ELSE
- 0015.87
- 0015.88 C N12 IF (MTHDS=2)AND(DAYDS>28)
- move error message and on indicator
- 0015.91 C ELSE
- 0015.92
- 0015.93 C N12 IF (MTHDS<=7)AND(RST02=1)AND(DAYDS>31)
- move error message and on indicator
- 0015.97 C ELSE
- 0015.98
- 0015.99 C N12 IF (MTHDS<=7)AND(RST02=0)AND(DAYDS>30)
- move error message and on indicator
- 0016.04 C ELSE
- 0016.05
- 0016.06 C N12 IF (MTHDS>=8)AND(RST02=1)AND(DAYDS>30)
- move error message and on indicator
- 0016.11 C ELSE
- 0016.12
- 0016.13 C N12 IF (MTHDS>=8)AND(RST02=0)AND(DAYDS>31)
- move error message and on indicator
- 0016.18 C ELSE
- 0016.29
- 0016.30 C N12 IF (USRTI1=0)
- move error message and on indicator
- 0016.35 C ELSE
- 0016.36
- 0016.37 C N12 IF (TIHDS>=24)
- move error message and on indicator
- 0016.42 C ELSE
- 0016.43
- 0016.44 C N12 IF (TIMDS>=60)
- move error message and on indicator
- 0016.49 C ELSE
- 0016.50
- 0016.51 C N12 IF (TISDS>=60)
- move error message and on indicator
- 0016.56 C ELSE
- 0016.57
- 0016.58 C N12 IF (USRTI1>=USRTO1)
- move error message and on indicator
- 0016.63 C ELSE
- 0016.64
- 0016.67
- 0016.68 C N12 IF (USRTI1<MAX)AND(USRDT1=MIN)
- move error message and on indicator
- 0016.73 C ELSE
- 0016.74
- 0016.90
- 0016.91 C N12 IF (TOHDS>=24)
- move error message and on indicator
- 0016.96 C ELSE
- 0016.97
- 0016.98 C N12 IF (TOMDS>=60)
- move error message and on indicator
- 0017.03 C ELSE
- 0017.04
- 0017.05 C N12 IF (TOSDS>=60)
- move error message and on indicator
- 0017.30 C ENDIF *asuming ENDIF is enough
- 0017.32 C N12 EXFMT TASUPD
- 0017.33 C CLEAR TSREC
- 0017.34 C ENDSR
- 0017.40 C*SUBROUTINE FOR UPDATING SELECTED RECORD 120720
- 0017.41 C CRTSR BEGSR
- 0017.42 C USRID CHAIN(N) USRMF 81
- 0017.43 C EVAL *IN12='0'
- 0017.44
- 0017.46
- 0017.47 C EVAL *IN41='0'
- 0017.48 C EVAL *IN42='0'
- 0017.49 C EVAL *IN43='0'
- 0017.50 C EVAL MSG01=*BLANKS
- 0017.51
- 0017.52 C IF *IN81='1'
- 0017.53 C N12 MOVEL MSG1 MSG001
- 0017.54 C ELSE
- 0017.55
- 0017.56 C EVAL *IN41='0'
- 0017.57 C EVAL *IN42='0'
- 0017.58 C EVAL *IN43='0'
- 0017.59 C N12 EXFMT TASUPD
- 0017.60 C DOW *IN12='0'
- 0017.61 C IF *IN81='0'
- 0017.62 C N12 EXSR ERDSR
- 0017.63 C IF (*IN41='0')AND(*IN42='0')AND(*IN43='0')
- 0017.64 C EVAL USRDT=USRDT1
- 0017.65 C EVAL USRTI=USRTI1
- 0017.66 C EVAL USRTO=USRTO1
- 0017.67 C N12 WRITE TSREC
- 0017.68 C N12 MOVEL MSG2 MSG01
- 0017.69 C CLEAR USRDT1
- 0017.70 C CLEAR USRTI1
- 0017.71 C CLEAR USRTO1
- 0017.72 C N12 WRITE TASUPD
- 0017.73 C N12 EXFMT TASUPD
- 0017.74 C ENDIF
- 0017.75 C ENDIF
- 0017.77 C ENDDO
- 0017.78 C EVAL *IN41='0'
- 0017.79 C EVAL *IN42='0'
- 0017.80 C EVAL *IN43='0'
- 0017.83 C ENDIF
- 0017.84 C CLEAR MSG01
- 0017.85 C ENDSR
- 0018.00 C*
- 0019.00 C MAXSR BEGSR
- 0019.01 C *HIVAL SETGT USRTS
- 0019.03 C USRID READPE USRTS 55
- 0019.05 C IF (*IN55='0')
- 0019.06 C MOVE USRTO MAX
- 0019.07 C MOVE USRDT MIN
- 0019.08 C ENDIF