Quiero generar un azar UUID como en Java con UUID.randomUUID().

Se me ocurrió la función GUID_GENERATE y utilizado como este

    DO 5 TIMES.
       CALL FUNCTION 'GUID_CREATE'
        IMPORTING
         ev_guid_16 = ev_guid_16
         ev_guid_22 = ev_guid_22
         ev_guid_32 = ev_guid_32.

       WRITE: /, ev_guid_16, ev_guid_22, ev_guid_32.
    ENDDO.

El resultado de este programa es siempre el mismo GUID. Necesito una nueva al azar, una a cada solicitud.

Quiero usarlo como clave primaria en la tabla de base de datos. Esta clave será transmitida a través de un Servicio Web a una aplicación Java de usuario y no como identificador, demasiado.

¿Tiene usted alguna idea de cómo puedo generar al azar UUID/GUID en ABAP?

InformationsquelleAutor | 2011-10-25

2 Comentarios

  1. 9

    Está usted absolutamente seguro de que la creó GUID siempre es el mismo? Porque esto no debería estar sucediendo. Tenga en cuenta que la diferencia entre ellos puede ser sólo un personaje cuando se genera dentro de un lazo rápido.

    • Fue un único personaje… Estúpido! Gracias por la sugerencia!
  2. 8

    Primero de todos usted está utilizando un módulo de función que está obsoleto. El comentario al principio del código fuente de los estados que.

    *"----------------------------------------------------------------------
    * NOW this function has been replaced, see note 935047      "BINK215094
    * 28.6.2006 The function module has been switched to the new UUID methods
    *           which exist in the class cl_system_uuid
    *           - due to compatibility reasons we catch the exceptions
    *           - sy-subrc not touched manually
    *             (sy-subrc was set in case of an error when calling the former
    *             'RFCControl' kernel-call, but it wasn't evaluated and finally
    *             overwritten when leaving this function)
    *"----------------------------------------------------------------------
    

    Por favor, utilice la clase CL_SYSTEM_UUID y los métodos siguientes:

    IF_SYSTEM_UUID_STATIC~CREATE_UUID_X16
    IF_SYSTEM_UUID_STATIC~CREATE_UUID_C22
    IF_SYSTEM_UUID_STATIC~CREATE_UUID_C26
    IF_SYSTEM_UUID_STATIC~CREATE_UUID_C32
    
    • Gracias por la sugerencia. Voy a tratar de ellos, y les informará que si funcionan. Si es así supongo que ganó la flecha verde 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here