在ABAP中生成UUID

2020-09-04 08:57发布

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

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


嗨,

我的要求是生成UUID版本4(随机)。

通用唯一标识符(UUID)是软件构造中使用的标识符标准,由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分进行了标准化。

参考:

http://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_。 28random.29

我已经找到函数GUID_CREATE,但是此函数生成的向导不符合UUID版本4。

也有这个SAP注释0001391070,但是它没有解释如何在abap程序中生成uuid。

我正在使用ECC6 EHP4SAP系统。

有人知道我的问题的解决方案吗?

此致

丹妮尔

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

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


嗨,

我的要求是生成UUID版本4(随机)。

通用唯一标识符(UUID)是软件构造中使用的标识符标准,由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分进行了标准化。

参考:

http://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_。 28random.29

我已经找到函数GUID_CREATE,但是此函数生成的向导不符合UUID版本4。

也有这个SAP注释0001391070,但是它没有解释如何在abap程序中生成uuid。

我正在使用ECC6 EHP4SAP系统。

有人知道我的问题的解决方案吗?

此致

丹妮尔

付费偷看设置
发送
6条回答
樱桃小丸子0093
1楼 · 2020-09-04 09:28.采纳回答

嗨,

从头开始实施它看起来很简单,请参见

第4.4节/rfc4122#page-14"> RFC 4122-通用唯一标识符(UUID)URN命名空间

95年老男孩
2楼-- · 2020-09-04 09:15

我已经测试了Daniele代码并在线验证了结果,效果很好, 谢谢Daniele和Lars。

Bunny_CDM
3楼-- · 2020-09-04 09:15

嗨! 您可以使用以下代码生成v4 uuid:

 cl_system_uuid => if_system_uuid_rfc4122_static〜create_uuid_c36_by_version(version = 4)。
Nan4612
4楼-- · 2020-09-04 09:25

if_system_uuid_rfc4122_static由注释2619546-无法生成基于RFC4122的UUID (但它似乎适用于新类CL_SYSTEM_UUID_X,我看不出有什么线索表明它何时出现在CL_SYSTEM_UUID中)。

在此之前,还有(7.52 SP01,但我不知道它何时出现):

 cl_system_uuid => create_uuid_c36_static()。

但它似乎只有 添加破折号,并且应该符合rfc4122版本4的位似乎未设置。 而且我不确定它是否完全符合注释2619546的要求。还有一种检查一致性的方法,但仅适用于rfc4122,而不适用于版本4:

 IF abap_true = cl_system_uuid => IS_UUID_X16_RFC4122_COMPLIANT(guid_x16  )。
CPLASF-自律
5楼-- · 2020-09-04 09:40

嗨,

看看这个OSS注意:

935047-创建和使用GUID(UUID)


最诚挚的问候,

Pablo

何必丶何苦呢
6楼-- · 2020-09-04 09:23

功能模块GUID_CREATE使用类CL_SYSTEM_UUID生成GUID,因此它也不兼容版本4。

一周热门 更多>