Для этой цели я создал собственную функцию для возврата уникального идентификатора. Когда у меня появляется новая запись, я просто сканирую базу данных и заставляю функцию заменить поле уникального идентификатора (я называю мой UID) в базе данных новым идентификатором, если у записи его нет.
FUNCTION UIDgenerator()
LOCAL c_UID
LOCAL c_dump
c_UID = STRTRAN(SYS(2015),"_","") + [-]
c_dump = STRTRAN(SYS(2015),"_","")
c_dump = STRTRAN(SYS(2015),"_","")
c_dump = STRTRAN(SYS(2015),"_","")
c_UID = c_UID + STRTRAN(SYS(2015),"_","")
RETURN c_UID
endfunction() &&UIDGenerator
Вам не нужно делать c_dump 3 раза, но я хотел, чтобы идентификаторы были немного дальше друг от друга.