Trabalhando com GUIDs
Às vezes nos deparamos com situações onde precisamos criar uma identificação única para um registro no banco de dados, e ao mesmo tempo garantir que, no ambiente da rede, ninguém mais esteja usando esta mesma identificação para outra coisa.
Normalmente este tipo de situação é resolvido com a criação de campos do tipo contador, ou coisa similar. No entanto, sempre existem casos onde soluções como esta não se aplicam.
Imagine por exemplo uma situação onde você precise gerar um conjunto de registros em uma dimensão temporária, para que os mesmos sejam posteriormente listados em um relatório que será executado na seqüência. Você precisa que o relatório liste apenas os registros que você gerou, ignorando registros que qualquer outro usuário possa ter gerado.
Como você vai gerar um conjunto de registros, não é viável usar a abordagem de campo contador, seria melhor ter um identificador único que pudesse ser gravado em todos os registros gerados de forma que o relatório poderia ter um filtro simples buscando apenas os registros em que o campo seja igual ao identificador usado na geração.
Uma forma razoavelmente segura de gerar um identificador que não causasse conflitos entre execuções simultâneas é o uso do Global Unique Identifier (GUID). Pode-se dizerque um GUID é como uma sequência de números e letras gerada por um algoritmo especial que, praticamente, nunca irá se repetir (na verdade, até pode, mas levaria muitos anos para isso ocorrer). Dessa forma, se todos os usuários da rede gerarem GUIDs ao mesmo tempo, a probabilidade de dois deles gerarem o mesmo número é nula.
Para gerar um guid dentro de um módulo do Kankei, pode-se usar a sintaxe abaixo:
var guid = K.CreateObject("KankeiBasic.ckaGlobalFunctions").GetGuid();
