Progress - Codigo 4gl Calculo letra nif

 
Vista:

Codigo 4gl Calculo letra nif

Publicado por Sergio (1 intervención) el 20/05/2001 02:25:09
Por favor, si alguien tuviera el código para calcular la letra del nif (en progress), le agradecería que me lo enviara. [email protected]

GRACIAS A TODOS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Codigo 4gl Calculo letra nif

Publicado por Emilio (1 intervención) el 27/05/2001 13:51:21
DEFINE VAR Viejocif AS CHAR FORMAT "x(15)" NO-UNDO.
DEFINE VAR Letra AS CHAR FORMAT "x" NO-UNDO.
DEFINE VAR Numdni AS INT FORMAT "99999999" NO-UNDO.
DEFINE VAR Numerocif AS INT FORMAT "99999999" NO-UNDO.
DEFINE VAR letracif AS CHAR FORMAT "x" EXTENT 24 NO-UNDO.
DEFINE VAR Contador AS INT FORMAT "99999" NO-UNDO.

letracif [01] = "T".
letracif [02] = "R".
letracif [03] = "W".
letracif [04] = "A".
letracif [05] = "G".
letracif [06] = "M".
letracif [07] = "Y".
letracif [08] = "F".
letracif [09] = "P".
letracif [10] = "D".
letracif [11] = "X".
letracif [12] = "B".
letracif [13] = "N".
letracif [14] = "J".
letracif [15] = "Z".
letracif [16] = "S".
letracif [17] = "Q".
letracif [18] = "V".
letracif [19] = "H".
letracif [20] = "L".
letracif [21] = "C".
letracif [22] = "K".
letracif [23] = "E".
letracif [24] = "T".

Viejocif=Clientes.Clidni:SCREEN-VALUE.
Letra=SUBSTRING(Viejocif,1,1).
IF Letra = " " THEN
DO:
SUBSTRING(Viejocif,1,1)="0".
Letra="0".
END.
IF Letra < "0" OR Letra > "9" THEN RETURN NO-APPLY.

Viejocif=TRIM(Viejocif, "-.,abcdefghijklmnopqrstuvxyz").
Numdni=ABSOLUTE(INT(Viejocif)).
Contador=0.
Numerocif = TRUNCATE( (numdni / 23),0).
Numerocif = Numerocif * 23.
Contador=(Numdni - Numerocif) + 1.

IF contador < 1 OR contador > 24 THEN contador = 1.

Clientes.Clidni:SCREEN-VALUE=STRING(Numdni,"99999999") + letracif[Contador].
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar