生成GUID,范围?

2020-08-30 02:22发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

我们正在将定制解决方案从一个系统迁移到新的s4系统。 (很多程序和表格...)

他们希望将自定义表的旧数据保留在新系统中,这些表具有GUID作为关键字段。
我们在程序中使用FM CMS_API_GENERAL_GUID_CREATE生成此GUID(在此FM中使用cl_system_uuid类)

我的问题是; 当我们将所有数据从旧系统复制到新系统并生成数千GUID并尝试创建新系统时,会发生什么? 可能会发生冲突? 可以生成与旧值相同的GUID吗?

我们可以初始化任何范围以从旧系统中创建的最后一个GUID开始生成GUID吗?

cl_system_uuid类使用一些内核模块,但不清楚其工作原理。

有什么建议吗?

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

我们正在将定制解决方案从一个系统迁移到新的s4系统。 (很多程序和表格...)

他们希望将自定义表的旧数据保留在新系统中,这些表具有GUID作为关键字段。
我们在程序中使用FM CMS_API_GENERAL_GUID_CREATE生成此GUID(在此FM中使用cl_system_uuid类)

我的问题是; 当我们将所有数据从旧系统复制到新系统并生成数千GUID并尝试创建新系统时,会发生什么? 可能会发生冲突? 可以生成与旧值相同的GUID吗?

我们可以初始化任何范围以从旧系统中创建的最后一个GUID开始生成GUID吗?

cl_system_uuid类使用一些内核模块,但不清楚其工作原理。

有什么建议吗?

谢谢。

付费偷看设置
发送
5条回答
槿木_熙
1楼 · 2020-08-30 02:26.采纳回答

您好,里卡多

如果您将遇到重复的ID,则CL_SYSTEM_UUID的开发人员做得不好。 根据定义, UUID(通用唯一标识符)必须是真实唯一的。 由于UUID生成器通常不仅将时间用作组件,而且还使用MAC地址(除了其他一些计算),而且我猜您已为新系统切换了硬件,因此,永远不要与您的旧ID发生冲突。/p>

N-Moskvin
2楼-- · 2020-08-30 02:27

谢谢,这就是我需要知道的全部内容!

callcenter油条
3楼-- · 2020-08-30 02:28

也许您可以直接使用类-CL_SYSTEM_UUID和方法-CONVERT_UUID *来使用生成您的唯一ID 输入键(可以传递时间戳)。

软件心理学工程师
4楼-- · 2020-08-30 02:32

谢谢,我们将考虑更改FM。 在我们的旧解决方案中,有很多程序都在使用此FM。...无论如何,在此过时的FM中,类cl_system_uuid正在我们的系统中使用。 (如我所见,不在其他系统中……)

哎,真难
5楼-- · 2020-08-30 02:46

@ 里卡多·罗梅罗 Mata 顾名思义,通用唯一标识符在使用KERNEL方法生成时必须明显是唯一的。

我注意到的一个有趣的地方是,功能模块'GUID_CREATE'被标记为过时 通过SAP,我建议最好使用CL_SYSTEM_UUID及其方法并捕获异常,例如下面的示例(根据Class文档)。

数据:l_uuid_x16 TYPE sysuuid_x16。
 数据:system_uuid类型参考if_system_uuid。
 数据:引用到cx_uuid_error的oref类型。


 system_uuid = cl_uuid_factory => create_system_uuid()。


 尝试。
     l_uuid_x16 = system_uuid-> create_uuid_x16()。  "创建uuid_x16


   捕捉cx_uuid_error INTO oref。 捕获错误
     数据:s1 TYPE字符串。
     s1 = oref-> get_text()。
 ENDTRY。
 

一周热门 更多>