Primero deben crear un nuevo objeto del tipo procedimiento y poner lo siguiene
En Rules
parm(In:&Rut,In:&DvR,Out:&validado);
/*
* Asigno como no validado a la variable a devolver
*
*/
&validado=0
/*
* Rutina de validación del rut
*/
&R = &Rut
&Y = 2
&Acum = 0
&Prod = 0
do while &R <> 0
&V1 = &R
&R = int(&R / 10)
&V2 = &V1 - (&R * 10)
&Prod = &V2 * &Y
&Acum = &Acum + &Prod
&Y = &Y + 1
if &Y = 8
&Y = 2
endif
enddo
&Resto = &Acum - (int(&Acum/11) * 11)
if &Resto = 1
&Dv = 'K'
else
if &Resto = 0
&Dv = '0'
else
&Dv = str(11 - &Resto, 1)
endif
endif
/*
* Fin Rutina de validación del rut
*/
/*
* Si es valido retorno un SN.Si=1
* Si no es Valido retorno un SN.No=2
*/
if &DvR=&Dv
&validado=1
else
&validado=0
endif
DONDE
Acum N(6)
Dv CHR(1)
DVR CHR(1)
Pro N(2)
R N(8)
Resto N(6)
Rut N(8)
V1 N(8)
V2 N(8)
validadoN(1)
Y (N1)
LUEGO EN LA TRANSACCION TIENES LOS ATRIBUTOS
EmpleadoRut N(8)
EmpleadoDigitoV C(1)
EN RULES PONES
&EsValido=(PPValidarRut(EmpleadoRut,EmpleadoDigitoV));
Error('Error: Debe ingresar un Rut correcto...') IF &EsValido= 0 ;
Saludos
Gracias compadre. Se agradecen estos tips
ResponderEliminarno lo tienes en vb 2010 'o' 2008
ResponderEliminarImpecable, muchas gracias por compartir!
ResponderEliminar