| Categoría : Programación
Autor : Mark Luis Copara
Título : Valida campo numérico
Descripción del truco:
A menudo nos topamos con campos alfanumericos que tienen
o deben tener digitos y se nos hace un problema pasarlos
a numericos porque previamente tenemos que validarlos
y asi estar seguros de que no tiene blancos, letras
o signos. Esta rutina resuelve ese problema, espero
que les ayude.
F*****************************************************************
F* Valida campo CODSUN. CODSUN es un campo alfa de 10 posiciones
F* y el programa lo verifica y si esta ok lo mueve al campo WCINTIA.
F*****************************************************************
D Wlong s 3s 0
D DS inz
D WCINTID 1 10S 0
D WCINTIA 1 10
D WCINTIB 11 20
d*
C*------------------------------------
c*- sbrchk – Cheque campo -
C*------------------------------------
C sbrchk begsr
c eval wcintia = *zeros
C* testea campo numerico.
C TESTN codsun 21
c* todos numeros o.k.
c if *in21 = *on
c eval wcintia = codsun
c else
c eval *in21 = *off
c eval wcintib = \'0000000000\'
c* Obtiene cantidad de caracteres
c eval wlong = %len(%trim(codsun))
c if wlong = 0
C clear wcintid
c leavesr
c endif
c* Mueve caracteres a la derecha
c eval %subst(wcintib:11-wlong) = %trim(codsun)
c* Muevo cero a blanco de la izquierda
c \' \':\'0\' xlate wcintib wcintib
C* testea campo numerico
C TESTN wcintib 21
c if *in21 = *on
c* todos numeros o.k.
c eval wcintia = wcintib
c else
c eval wcintia = *zeros
c endif
c endif
c end
Código
en formato texto
Fecha Mayo 2006
Tienes algún truco que quieras compartir con todos
los profesionales de Recursos iSeries AS400?.Envianoslo
y si resulta seleccionado te enviaremos un vale de Amazon
por valor de 50$
|