CO (contains only)

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • goyleo
    Senior Member
    • sep
    • 102

    #1

    CO (contains only)

    Hola gente estoy tratando de determinar si hay algun caracter no nomerico en una cadena, y siemrpe se va por el else, venga lo que venga, numeros solos, numeros con letras, da lo mismo. alguien tiene idea de por que pasa???
    O si hay alguna mejor manera de resolver el problema escucho ofertas !!

    Muchas Gracias.


    data co_numeros(12) TYPE c VALUE '0123456789,.'.

    ga_costo_string-file es del tipo:
    TYPES: BEGIN OF ty_costo_string,
    file(255) TYPE c,
    END OF ty_costo_string.


    CONDENSE ga_costo_string-file.
    IF ga_costo_string-file CO co_numeros.
    ga_costo-zt_costoa = ga_costo_string-file.
    ELSE.
    MESSAGE e158(zpm_tepam).
    ENDIF.
  • melerogalan
    Senior Member
    • nov
    • 142

    #2
    Prueba con esto, es hacer una asignación a un número, si se le asigna algún carácter no numérico, salta la excepción. Incluso con esto controlas si te meten muchas comas y puntos sin sentido, es decir, controlas que el número tenga un formato correcto.

    Código:
    TRY .
    move l_string to l_num.
    CATCH CX_SY_CONVERSION_NO_NUMBER.
      l_flag = 'X'.
    ENDTRY.
    
    if l_flag = 'X' error.
    else exito.
    Cada vez que un programador hace una hora extra, Dios mata a un gatito...tenlo en cuenta

    Comentario

    • goyleo
      Senior Member
      • sep
      • 102

      #3
      gracias por la respuesta !

      Comentario

      • sbenselum
        Junior Member
        • dic
        • 7

        #4
        o sino probando comparandolo con un string

        saludos pibe!

        Comentario

        Trabajando...