PROGRAMME RPGLE CHKDAT. * CONTROLER UNE DATE * * £HDATE DATE A CONTROLER * £HKLMI LIMITE INFERIEURE PAR RAPPORT A AUJOURD'HUI * £HKLMS LIMITE SUPERIEURE PAR RAPPORT A AUJOURD'HUI * £HKMEA SI DOIT ETRE DANS LA MEME ANNÉE (*YES/*NO) * £HKERR RETOUR '1' SI DATE INVALIDE SINON '0' C CHKDAT BEGSR * C MOVE £HKMEA £HMEAM 4 C CALL 'CHKDATE4' C PARM £HDATE 6 0 C PARM £HKLMI 5 0 C PARM £HKLMS 5 0 C PARM £HKMEA 4 C £HKMEA IFEQ '*ERR ' C MOVE '1' £HKERR 1 C MOVE £HMEAM £HKMEA C ELSE C MOVE '0' £HKERR C ENDIF * C ENDSR PROGRAMME CHKDATE4 qui est appelé par le CHKDAT H DATFMT(*DMY) D £HDMY S D DATFMT(*DMY) D £HCAMJ S D DATFMT(*ISO) D £hdatlow S D DATFMT(*ISO) D £hdathig S D DATFMT(*ISO) D Today S D DATFMT(*DMY) D £HAn1 S 4 0 * D £HCAMJDS DS D £HAn 1 4 0 D £HMois 6 7 0 D £HJour 9 10 0 * C *entry plist C parm £HDATE 6 0 C parm £hklmi 5 0 C parm £hklms 5 0 C parm £hkmea 4 * date valide ? C *DMY test(d) £HDATE 01 C *in01 ifeq '1' C eval £hkmea='*ERR' C return C endif * date en CYMD C *DMY move £HDATE £HCAMJ C move £HCAMJ £HCAMJDS * limite inférieure ? C £hklmi ifne -99999 C £hklmi andne 0 C *MDY move Udate Today C today adddur £hklmi:*days £hdatlow C £HCAMJ iflt £hdatlow C eval £hkmea='*ERR' C return C endif C endif * limite supérieure ? C £hklms ifne -99999 C £hklms andne 0 C *MDY move Udate Today C today adddur £hklms:*days £hdatlow C £HCAMJ ifgt £hdatlow C eval £hkmea='*ERR' C return C endif C endif * dans la même année ? C £hkmea ifeq '*YES' C move *YEAR £HAn1 C £Han ifne £HAn1 C eval £hkmea='*ERR' C return C endif C endif C eval *inlr=*on