Dans un programme rpgle, j'aurais à valider un zone texte contenant une adresse email venant d'une saisie à l'écran.
Pour simplifier le programme je voulais utiliser la fonction regexp_like
mais je n'arrive pas à utiliser cette fonction en SQLRPGLE.
j'ai trouvé le code pour utiliser REGEXP_LIKE !!!
je met le code ci-dessous avec l'expression régulière qui fonctionne
si cela peut etre utile à quelqu'un et l’écran si vous voulez tester !!!
#--ecran TEST --------------------------------------------------------
A R TEST1
A CF03(03)
A 9 7'Email'
A WEMAIL 60A B 9 14DSPATR(HI)
A WMESS 40A O 14 14
#-----------------------------------------------------------
H dftactgrp( *no ) decedit('0,')
FTEST CF E WORKSTN
dex s 72
dxflag s 1 0
/free
ex='^([a-zA-Z0-9]{1}[a-zA-Z0-9\.\-_]+\@[a-zA-Z0-9\.\-_]+\.[a-zA-Z]{2,6}\+
s*)$';
dou *in03;
exfmt test1;
exec sql set
:xflag=case when REGEXP_like(:wemail,:ex) then 1 else 0 end ;
if xflag<>0;
wmess='Adresse email valide ...';
else;
wmess='Adresse email incorrecte ...';
endif;
enddo;
*inlr=*on;
/end-free