RPG

29. 日付の妥当性検査のサブルーチン

0001.00      C                     MOVE UDATE     DATE    60
0002.00      C                     EXSR DATCHK
0003.00      C******************************************************
0004.00      C           DATCHK    BEGSR
0005.00      C******************************************************
0006.00      C*( 日付 CHECK SUB-ROUTINE     FOR YY/MM/DD  )
0007.00      CSR                   MOVE *IN51     IN51    1
0008.00      CSR                   MOVE *IN52     IN52    1
0009.00      CSR         DATE      MULT .0001     \YEAR   30
0010.00      CSR                   ADD  100       \YEAR
0011.00      C**                   SUB  88        \YEAR              平成
0012.00      CSRN99      DATE      MULT .01       \MONTH  20     99
0013.00      CSRN99                Z-ADDDATE      \DAY    20     99
0014.00      CSRN99      \MONTH    COMP 12                   99
0015.00      CSRN99      \YEAR     MULT .25       \CHKLY  11     50
0016.00      CSRN99      \MONTH    COMP 2                        51
0017.00      CSRN99      \MONTH    MULT 1.07      \MONTH    H
0018.00      CSRN99      \MONTH    DIV  2         \CHKLY         52
0019.00      CSRN99N51 52\DAY      COMP 30                   99
0020.00      CSRN99N51N52\DAY      COMP 31                   99
0021.00      CSRN99 51N50\DAY      COMP 28                   99
0022.00      CSRN99 51 50\DAY      COMP 29                   99
0023.00      CSR                   MOVE IN51      *IN51
0024.00      CSR                   MOVE IN52      *IN52
0025.00      CSR         DATEND    ENDSR