UUID含义是通用唯一识别码 (Universally Unique Identifier),通俗一点就是一个不重复的字符串,有时会把UUID作为数据库的一个主键,这样就不用担心主键重复的问题。
SAP中有个专门生成CL_SYSTEM_UUID,提供了4个静态方法创建生成不同类型的UUID:2进制,16进制,64位以及32位uuid。
也可以进行不同类型UUID之间的相互转换。
<img class="alignnone size-full wp-image-3963" src="http://www.baidusap.com/wp-content/uploads/2017-03-20_14-47-29.png" alt="" width="864" height="349" srcset="http://www.baidusap.com/wp-content/uploads/2017-03-20_14-47-29.png 864w, http://www.baidusap.com/wp-content/uploads/2017-03-20_14-47-29-740x299.png 740w, http://www.baidusap.com/wp-content/uploads/2017-03-20_14-47-29-768x310.png 768w" sizes="(max-width: 864px) 100vw, 864px" />代码:
REPORT ztest_uuid. DATA:l_uuid22 TYPE sysuuid_c22, l_uuid32 TYPE sysuuid_c32, l_uuid26 TYPE sysuuid_c26, l_uuid16 TYPE sysuuid_x16. TRY. CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_x16 RECEIVING uuid = l_uuid16. CATCH cx_uuid_error . ENDTRY. TRY. CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_c22 RECEIVING uuid = l_uuid22. CATCH cx_uuid_error . ENDTRY. TRY. CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_c32 RECEIVING uuid = l_uuid32. CATCH cx_uuid_error . ENDTRY. TRY. CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_c26 RECEIVING uuid = l_uuid26. CATCH cx_uuid_error . ENDTRY. WRITE: `Binary Format UUID:`,l_uuid16. WRITE:/ `Base64 UUID: `,l_uuid22. WRITE:/ `Base32 UUID: `,l_uuid26. WRITE:/ `Hex Format UUID: `,l_uuid32.
运行结果:
<img class="alignnone size-full wp-image-3966" src="http://www.baidusap.com/wp-content/uploads/2017-03-20_15-03-16.png" alt="" width="541" height="207" />也可以通过函数SYSTEM_UUID_CREATE来生成UUID,SE37
<img class="alignnone size-full wp-image-3970" src="http://www.baidusap.com/wp-content/uploads/2017-03-20_15-10-33.png" alt="" width="603" height="327" />看一下代码,其中也是调用类CL_SYSTEM_UUID创建的二进制类型UUID
<img class="alignnone size-full wp-image-3971" src="http://www.baidusap.com/wp-content/uploads/2017-03-20_15-12-09.png" alt="" width="769" height="298" srcset="http://www.baidusap.com/wp-content/uploads/2017-03-20_15-12-09.png 769w, http://www.baidusap.com/wp-content/uploads/2017-03-20_15-12-09-740x287.png 740w, http://www.baidusap.com/wp-content/uploads/2017-03-20_15-12-09-768x298.png 768w" sizes="(max-width: 769px) 100vw, 769px" />以上。