Basándome en ese SQL, se me ha ocurrido uno que a partir del número
aleatorio generado por RAND(), y sustituyendo cada dígito por la letra
que, gráficamente, más se le parece, te genera directamente el código
RANDOM alfanumérico:
Select
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Trim(Char(Int(rand()*100000)))
, '0', 'O'), '1', 'I'), '2', 'Z'), '3', 'E'), '4', 'A'), '5', 'S'), '6',
'b'), '7', 'T'), '8', 'B'), '9', 'q') As Random
from sysibm.sysdummy1
Obtiene el número aleatorio con 5 dígitos y reemplaza:
0 = O
1 = I
2 = Z
3 = E
4 = A
5 = S
6 = b
7 = T
8 = B
9 = q
Saludos
Juan Carlos
---
https://paredes.info
juancar...@paredes.info
El 29/06/2018 12:47, alberto escribió:
El punto y coma del final es para Free Si no trabajas en free se lo
tienes que quitar
/free
exec SQL Set :RandomNumSQL = Cast(Rand(:InzVal) as Numeric(6, 5));
RandomNum = %Int(RandomNumSQL * 100000);
*inlr=*on;
/End-free
Albert Martinez de Urda
Director TIC
Roler España SLU
Grupo Arcadie
De: "Javier B." <reiv...@hotmail.com>
Para: "forum.help400" <forum.help400@listas.combios.es>
Fecha: 29/06/2018 10:48
Asunto: ** Newsletter ** Re: Algoritmo para generar código
alfanumérico
Enviado por: forum.help400-boun...@listas.combios.es
-------------------------
Hola Jordi, lo he probado y no me funciona.
Me da error aquí.
Saludos,
Javier
De: Javier B.
Enviado: jueves, 21 de junio 12:16
Asunto: Re: Algoritmo para generar código alfanumérico
Para: forum.help400
Gracias Jordi!!, lo probaré.
Un saludo,
Javier
FROM: forum.help400-boun...@listas.combios.es
<forum.help400-boun...@listas.combios.es> on behalf of Jordi S.G.
<fhelp...@yahoo.es>
SENT: Thursday, June 21, 2018 9:42:11 AM
TO: forum.help400@listas.combios.es
SUBJECT: Re: Algoritmo para generar código alfanumérico
Hola Javier,
Puedes utilizar la funcion SQL Rand().
sería algo parecido a esto:
d RandomNumSQL s 6s 5
d RandomNum s 5s 0
d Inzval s 10i 0
Exec SQL Set :RandNumSQL = Cast(Rand(:InzVal) as Numeric(6, 5));
RandomNum = %Int(RandomNumSQL * 100000;
Si te aseguras en cada llamada a la función, que inzval tenga un
valor distinto al anterior (por ejemplo el valor numérico de un
timestamp + 1 milisegundo), te aseguras un número aleatorio
Espero te sirva de idea.
Jordi.
En miércoles, 20 de junio de 2018 19:55:35 CEST, Javier B.
<reiv...@hotmail.com> escribió:
Hola a todos :
Necesitaría buscar algún algoritmo para programarlo en rpg/400 que
genere un código aleatorio alfanumérico de 5 posiciones y que no se
repita.
Un saludo y gracias por anticipado,
Javier
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.