? ValCif("01234567D")
*----------------------------------------------------------------------
* Jose Maria Arrabal Alcañiz
* Funcion para validar CIF (Código de Identificacion Fiscal)
* Entrada: Cadena
* Salida : Cadena con CIF calculado
*----------------------------------------------------------------------
FUNCTION ValCIF
PARAMETER cdni
PRIVATE A
LOCAL impar,par,simpar,SPAR
A = UPPER(ALLTRIM(CHRTRAN(cdni,",.-","")))
IF LEN(A) # 9
WAIT WINDOW "Error en la longitud del CIF" TIME 3
RETURN ""
ENDIF
cNumero = SUBSTR(A,2,7)
IF PADL(VAL(cNumero),7,"0") # cNumero
WAIT WINDOW "Error en la contrucción del CIF" TIME 3
RETURN
ENDIF
cLetra = LEFT(A,1)
*
* Sumar cifras pares y las impares las multiplicamos por 2
*
SPAR = 0
simpar = 0
par = 0
impar = 0
FOR nI = 1 TO 7 STEP 2
impar = VAL(SUBSTR(cNumero,nI,1))*2
impar = INT(impar/10) + impar%10
par = VAL(SUBSTR(cNumero,nI+1,1))
simpar = simpar+impar
SPAR = SPAR+par
NEXT
R = 10-(SPAR+simpar)%10
cCif = cLetra+cNumero
IF cLetra $ "ABCDEFGH"
cCif = cCif+CHR(ASC('0')+R)
ELSE
cCif = cCif+SUBSTR("JABCDEFGHI",R+1,1)
ENDIF
IF A # cCif
MESSAGEBOX("El CIF "+A+" introducido es incorrecto "+CHR(13)+;
"El correcto sería "+cCif+CHR(13)+;
"Compruebe que los datos son correctos",16)
ENDIF
RETURN cCif
ENDFUNC
*----------------------------------------------------------------------
Jose Maria Arrabal Alcañiz
26 de diciembre de 2002
Validar CIF (Código de Identificacion Fiscal) [Solo España]
Función para validar CIF (Código de Identificación Fiscal)
Suscribirse a:
Comentarios de la entrada
(
Atom
)
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.