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




This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].