I have been working on a random number generator this week for a client. My
solution centered around needing to deeplink into a RPG CGI program without
passing predictable business data on the url (i.e. PF key fields) but
instead keep it obscure by giving a url like
http://company.com/cgi-bin/vieword?guid=39281739472394827. I then use an
"association" table to relate the GUID to an order id. The code I use to
generate the random number is below. <disclaimer>Note that this code is
still in development and hasn't been fully tested.</disclaimer> I posted
this code because you could change the parm list to pass a field by
reference vs. pass-back-parm and then front-end with a SQL External Stored
Procedure (to adhere to your SQL solution need).
HTH,
Aaron Bartell
http://mowyourlawn.com
P Rater_genRandom...
P b export
D Rater_genRandom...
D pi 30a
D StdInt S 10I 0
integer
D StdBinStream S 8A
binary stream
D StdType S 1A
type
D StdParity S 1A
parity
D QUSEC DS
D QUSBPRV 1 4B 0
D QUSBAVL 5 8B 0
D QUSEI 9 15
D QUSERVED 16 16
D QUSED01 17 116
D fips186_1 PR EXTPROC('Qc3GenPRNs')
D parm1 LIKE(StdBinStream)
D parm2 LIKE(StdInt)
D parm3 LIKE(StdType)
D parm4 LIKE(StdParity)
D parm5 LIKE(Qusec)
D ds1 DS
D var1a 1 8A
D var1u 1 8U 0
D var2 S LIKE(StdInt)
D var3 S LIKE(StdType)
D var4 S LIKE(StdParity)
D ds6 DS
D var6a 1 8A
D var6u 1 8U 0
/FREE
var6a = X'FFFFFFFFFFFFFFFF';
QUSBPRV = 100;
QUSBAVL = 0;
var2 = %len(var1a);
var3 = '0';
var4 = '0';
fips186_1(var1a:var2:var3:var4:QUSEC);
return %char(var1u / var6u);
/end-free
P e
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Paul Nelson
Sent: Saturday, October 20, 2007 6:34 AM
To: 'Midrange Systems Technical Discussion'
Subject: Calling all math wizards
A client has posed an interesting problem. His employee master file contains
a 2 digit company number, a 3 digit division number, and a 5 digit employee
number. He needs to have some math done to generate a unique 7 digit number.
I've thought about using random numbers, square roots, logarithms, etc., but
this has to tie back into his application software, and the number has to be
sent out to a third party employee benefits administrator so duplicates are
not permitted.
I could come up with something via RPG, but the client's desire is to be
able to do this via SQL. Any thoughts?
Paul Nelson
Cell 708-670-6978
Office 512-392-2577
nelsonp@xxxxxxxxxxxxx
As an Amazon Associate we earn from qualifying purchases.