× 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.



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://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: https://amazon.midrange.com

--
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://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: https://amazon.midrange.com

--
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://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
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://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
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://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


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.