× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



uuid 4 is first supported by IBM i 7.3 PTF MF67674.
https://www.ibm.com/support/pages/node/1136152

LG

Markus

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Charles Wilt
Sent: Dienstag, 19. April 2022 16:15
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Generating UUID in RPG

Working as designed...

The UUID returned is a type 1, not a type 4.

Charles

On Tue, Apr 19, 2022 at 8:08 AM issemDan <residentialsleeper@xxxxxxxxx>
wrote:

Thanks, I'm getting a UUID now but after testing several times in a
row (calling via command line from fresh each time) I've noticed only
the first
8 characters are random whilst the rest are the same for each call and
not randomized

On Tue, 19 Apr 2022 at 15:00, Magne Kofoed <magne.kofoed@xxxxxxxxx> wrote:

Hi,

try using your original code and add this:

dcl-pr cvthc ExtProc('cvthc');
result char(65534) options(*varsize);
source char(32767) options(*varsize);
resultSize int(10) value;
end-pr;

dcl-c upper 'ABCDEF';
dcl-c lower 'abcdef';
dcl-s str char(32);

cvthc(str:uuid:%size(str));
pUuid = %xlate(upper:lower:%subst(str:1:8) + '-'
+ %subst(str:9:4) + '-'
+ %subst(str:13:4) + '-'
+ %subst(str:17:4) + '-'
+ %subst(str:21:12));

tir. 19. apr. 2022 kl. 15:35 skrev issemDan <
residentialsleeper@xxxxxxxxx
:

Thanks for the reply but when I run this I am getting a “template
value
not
valid for instruction” error message. Reason code is X’0000’

On Tue, 19 Apr 2022 at 14:20, Magne Kofoed
<magne.kofoed@xxxxxxxxx>
wrote:

**free
ctl-opt Option(*NoSrcStmt) DftActGrp(*No);

dcl-pr crtuuidr extpgm('CRTUUIDR');
pUuid char(36);
end-pr;

dcl-pr GenUuid ExtProc('_GENUUID');
UUID_template pointer Value;
end-pr;

dcl-pr cvthc ExtProc('cvthc');
result char(65534) options(*varsize);
source char(32767) options(*varsize);
resultSize int(10) value;
end-pr;

dcl-pi crtuuidr;
pUuid char(36);
end-pi;

dcl-ds UUID_template;
UtBytPrv uns(10) Inz( %Size(UUID_template));
UtBytAvl uns(10);
Version char(1) Inz(x'04');
*N char(7) Inz( *Allx'00' );
UUID char(16);
Reply char(1);
end-ds;


dcl-c upper 'ABCDEF';
dcl-c lower 'abcdef';
dcl-s str char(32);

GenUuid( %Addr( UUID_template )); cvthc(str:uuid:%size(str));
pUuid = %xlate(upper:lower:%subst(str:1:8) + '-'
+ %subst(str:9:4) + '-'
+ %subst(str:13:4) + '-'
+ %subst(str:17:4) + '-'
+ %subst(str:21:12)); *inlr = *on;

tir. 19. apr. 2022 kl. 15:03 skrev issemDan <
residentialsleeper@xxxxxxxxx
:

I have read some past posts regarding this however, I can't
seem to
get
this to work. I have been using the _GENUUID function and the
returned
UUID
field displays garbage characters.
I'm on version 7.2. Am I doing something wrong or is there a
better
way
to
generate a UUID? I need in following example format:
123e4567-e89b-12d3-a456-426614174000

See below code:
D UUID_template Ds
D UtBytPrv 10u 0 Inz( %Size(
UUID_template
))
D UtBytAvl 10u 0
D 8a Inz( *Allx'00' )
D UUID 16a

D GenUuid PR ExtProc('_GENUUID')
D UUID_template * Value

GenUuid( %Addr( UUID_template ));
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit:
https://urldefense.com/v3/__https://lists.midrange.com/mailman
/listinfo/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVK
MLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NaVCg1CN$
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://urldefense.com/v3/__https://archive.midrange.com/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NY7Z-NAF$ .

Please contact support@xxxxxxxxxxxxxxxxxxxx for any
subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link:
https://urldefense.com/v3/__https://amazon.midrange.com__;!!Cq
VFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DR
Qy55rAH3NTuLn12k$

--
This is the RPG programming on IBM i (RPG400-L) mailing list To
post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
https://urldefense.com/v3/__https://lists.midrange.com/mailman/l
istinfo/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw4
2NlM_77dZ4ykD8_P2p6DRQy55rAH3NaVCg1CN$
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://urldefense.com/v3/__https://archive.midrange.com/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NY7Z-NAF$ .

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link:
https://urldefense.com/v3/__https://amazon.midrange.com__;!!CqVF
ughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55
rAH3NTuLn12k$

--
This is the RPG programming on IBM i (RPG400-L) mailing list To
post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
https://urldefense.com/v3/__https://lists.midrange.com/mailman/lis
tinfo/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM
_77dZ4ykD8_P2p6DRQy55rAH3NaVCg1CN$
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://urldefense.com/v3/__https://archive.midrange.com/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NY7Z-NAF$ .

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link:
https://urldefense.com/v3/__https://amazon.midrange.com__;!!CqVFug
hQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3
NTuLn12k$

--
This is the RPG programming on IBM i (RPG400-L) mailing list To post
a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
https://urldefense.com/v3/__https://lists.midrange.com/mailman/listi
nfo/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77d
Z4ykD8_P2p6DRQy55rAH3NaVCg1CN$ or email:
RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://urldefense.com/v3/__https://archive.midrange.com/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NY7Z-NAF$ .

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link:
https://urldefense.com/v3/__https://amazon.midrange.com__;!!CqVFughQ
-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NTuL
n12k$

--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
https://urldefense.com/v3/__https://lists.midrange.com/mailman/listinf
o/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4yk
D8_P2p6DRQy55rAH3NaVCg1CN$ or email:
RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://urldefense.com/v3/__https://archive.midrange.com/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NY7Z-NAF$ .

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link:
https://urldefense.com/v3/__https://amazon.midrange.com__;!!CqVFughQ-R
E!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NTuLn12k
$

--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://urldefense.com/v3/__https://lists.midrange.com/mailman/listinfo/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NaVCg1CN$
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://urldefense.com/v3/__https://archive.midrange.com/rpg400-l__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NY7Z-NAF$ .

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://urldefense.com/v3/__https://amazon.midrange.com__;!!CqVFughQ-RE!29WE633g3yiF1VeiWTV7aKyBcVKMLw42NlM_77dZ4ykD8_P2p6DRQy55rAH3NTuLn12k$

As an Amazon Associate we earn from qualifying purchases.

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-2024 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.