Numero Aleatorio

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • pancho6102
    Senior Member
    • jun
    • 238

    #1

    Numero Aleatorio

    Hola que tal me estan pidiendo que genere numeros aleatorios de 10 posiciones pero me encontrado en problemas pues no he podido encontrar una funcion que me genere el numero con las 10 posiciones, lo mas cercanos es la funcion QF05_RANDOM_INTEGER pero solo me funciona con 9 digitos y cuando hago esto

    CALL FUNCTION 'QF05_RANDOM_INTEGER'
    EXPORTING
    RAN_INT_MAX = 9999999999
    RAN_INT_MIN = 1000000000
    IMPORTING
    RAN_INT = v_resultado
    * EXCEPTIONS
    * INVALID_INPUT = 1
    * OTHERS = 2
    .
    me truena pues el campo de import no soporta el numero de salida.

    ¿alguien conoce otra funcion?.

    he entrado a la se37 buscando *RANDOM* pero no he logrado encontrar una funcion que me sirva.

    Saludos.
    Francisco Ramirez.
    consultor SAP ABAP Netweaver
    Queretaro, Mexico.
  • pancho6102
    Senior Member
    • jun
    • 238

    #2
    La unica funcion que termine usando es la RANDOM_AMOUNT (por no encontrar otra aun) pero me lo saca en el formato 1.234.567.890 y buscando una clave en moneda en el parametro VALCURR que no maneje decimales.

    ya nada mas le aplico un REPLACE ALL OCCURRENCES OF '.' in cadena WITH space.

    Para los puntos.


    espero y alguien sepa de otra funcion, si no la hay me quedare con esta y pues si conoces alguna funcion que maneje alfanumericos es bienvenida.

    Saludos!
    Francisco Ramirez.
    consultor SAP ABAP Netweaver
    Queretaro, Mexico.

    Comentario

    • jarabas
      Senior Member
      • ene
      • 109

      #3
      Buenos días.

      En su día encontré este código por la web, que te genera una cadena aleatoria de la longitud indicada en la variable "char"

      Código HTML:
        FUNCTION z_generate_pwd.
      *"----------------------------------------------------------------------
      *"*"Local interface:
      *" IMPORTING
      *" REFERENCE(CHARS) TYPE I
      *" EXPORTING
      *" REFERENCE(PWD) TYPE STRING
      *"----------------------------------------------------------------------
          DATA: a_sign TYPE x, xpwd TYPE xstring,
          conv TYPE REF TO cl_abap_conv_in_ce,
          prnga TYPE REF TO cl_abap_random_int, prngb TYPE REF TO cl_abap_random_int,
          prngc TYPE REF TO cl_abap_random_int, prngd TYPE REF TO cl_abap_random_int,
          seed TYPE i, random TYPE i.
          seed = cl_abap_random=>seed( ).
          prnga = cl_abap_random_int=>create( seed = seed min = 1 max = 3 ).
          seed = cl_abap_random=>seed( ).
          prngb = cl_abap_random_int=>create( seed = seed min = 48 max = 57 ).
          seed = cl_abap_random=>seed( ).
          prngc = cl_abap_random_int=>create( seed = seed min = 65 max = 90 ).
          seed = cl_abap_random=>seed( ).
          prngd = cl_abap_random_int=>create( seed = seed min = 97 max = 122 ).
          DO chars TIMES.
            random = prnga->get_next( ).
            CASE random.
              WHEN 1.
                a_sign = prngb->get_next( ).
              WHEN 2.
                a_sign = prngc->get_next( ).
              WHEN 3.
                a_sign = prngd->get_next( ).
            ENDCASE.
            CONCATENATE xpwd a_sign INTO xpwd IN BYTE MODE.
          ENDDO.
          conv = cl_abap_conv_in_ce=>create( input = xpwd ).
          conv->read( IMPORTING data = pwd ).
        ENDFUNCTION.
      Espero te sirva.

      Un saludo.

      Comentario

      • pancho6102
        Senior Member
        • jun
        • 238

        #4
        Hola que tal jarabas, efectivamente el codigo que mencionas si genera la cadena que necesito(me sono un poco familiar el codigo) de hecho estaba probando con una funcion estandar que hace eso con exactamente ese mismo codigo que es la GENERAL_GET_RANDOM_PWD.

        ya puedo hacer mi generacion de codigos de verificacion para mis storage bin .

        gracias.


        Saludos!!.
        Francisco Ramirez.
        consultor SAP ABAP Netweaver
        Queretaro, Mexico.

        Comentario

        • jarabas
          Senior Member
          • ene
          • 109

          #5
          Joer, pues yo la vi por internet, como si fuera una Z y pensé que crack el tio, y es estándar., jajaja, pero bueno lo importante es aportar y que te sirva

          Comentario

          Trabajando...