Craig, I hope this helps add some background (or maybe just some extra academic thinking) on the topic.
I hate to, again, point out that acronyms suck. ( I really hate to repeat myself. ) But "GUID" may not mean what you think it means. Ref: http://en.wikipedia.org/wiki/Globally_Unique_Identifier Ref: http://en.wikipedia.org/wiki/Universally_Unique_Identifier I have often heard GUID vs GGUID used too. For me: GUID = Guaranteed Unique ID (or IDentifier) GGUID = Guaranteed Globally Unique ID (or IDentifier) (You might call this a UUID.) In spite of the "Guarantee" that these names seem to provide their really is no guarantee when you have multiple systems generating values without some kind of unique/specific context being accounted for in addition to the values being used. There are some good statistics/probibility math that you can find somewhere if you really want to know the odds. But the details all matter to some extent if you relay on just the GUID/UUID algorithms. In other words, a given system can assert that it's ID's are unique to that system (and actually know that it is true at a processing cost). However when you start mixing data from multiple systems you run a risk ( a very small one, but it is still there) that you could get the same "GUID" (or GGUID, or UUID) from multiple systems for different "things". With that said I would quote the manual about what an AR System GUID's should be relied on to be: REF: Workflow-Objects-710.pdf pg. 206 " Application-Generate-GUID [ "<GUID_prefix>" ] Generates a globally unique identifier (GUID). The prefix can be a maximum of two characters, which can contain non-alpha characters (although alpha characters are recommended). If you do not include the GUID prefix, it defaults to ID. " And I note that the definition of an AR System GUID is: REF: Form-App-Objects-710.pdf pg. 314 " Data type: Character Maximum length: 38 " (Oddly similar to the "Universally_Unique_Identifier" article with two extra leading characters... hum...) While I can not say that "this was the plan", it seems reasonable that the point of the two leading characters was to provide some kind of "context" to the GUID value. ( A limited one, but a context all the same.) So if you do decide to never use a prefix of "XX" in your AR System applications then you should be able to carve out a (sub) name space of that total range of AR System GUID values and know that you will never have a conflict. Then you can generate a GUID in the other application and stuff an "XX" on the front of it. This approach seems like a better design than trying to "make then look like each other" to me. I think the only thing that you might want to try to keep the same is the overall data type between the two systems. (Char, Length "38": Note your other systems likely generate GUID values of Char 36. They lack an embedded context value, IMHO. :) ) Hope that helps. -- Carey Matthew Black BMC Remedy AR System Skilled Professional (RSP) ARS = Action Request System(Remedy) Love, then teach Solution = People + Process + Tools Fast, Accurate, Cheap.... Pick two. On Wed, Dec 30, 2009 at 5:52 PM, Craig Carter <[email protected]> wrote: > We were primarily trying to keep consistency between the million or so > records we already have with the old format that will still be there. We'll > investigate the UUID function on MySQL and see if that will work. Having > never used MySQL, I wasn't aware that existed. > > Craig Carter > Information Technology Manager, RSP > > -----Original Message----- > From: Action Request System discussion list(ARSList) > [mailto:[email protected]] On Behalf Of Grooms, Frederick W > Sent: Wednesday, December 30, 2009 2:24 PM > To: [email protected] > Subject: Re: Q: GUID Generation > > I'm not exactly clear why you need to use Remedy's GUID. > On MS SQL server you could use the NewID() function to generate a unique ID > On MySQL you can use UUID() function > Either one of those will give you a "Unique" ID to work with. > > Fred > > > -----Original Message----- > From: Action Request System discussion list(ARSList) > [mailto:[email protected]] On Behalf Of Craig Carter > Sent: Wednesday, December 30, 2009 2:57 PM > To: [email protected] > Subject: Re: Q: GUID Generation > > We're actually on SQL Server and they are on MySQL and we can't use a simple > sequencer anyway. After reviewing GUID and UUID, there are several variances > on this and I'd like to basically duplicate what the BMC/Remedy function does > rather than have them call a Remedy web service and pass one back. We're > basically migrating certain processes to another system but keeping them > integrated so it would be easier if their system could generate a like value > going forward. > > Craig Carter > Information Technology Manager, RSP > > -----Original Message----- > Date: Wed, 30 Dec 2009 21:28:07 +0100 > Subject: Q: GUID Generation > From: Craig Carter <[email protected]> > To: [email protected] > > ** > > Anyone know if the actual code behind "Application_Generate_GUID" is > available anywhere? We need to try and duplicate this functionality in a > different system for integration purposes and wondered if this information is > available anywhere? > Regards, > Craig Carter > Information Technology Manager, RSP _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum Sponsor:[email protected] ARSlist: "Where the Answers Are"

