Fecha en letra

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • msotag
    Junior Member
    • nov
    • 9

    #1

    Fecha en letra

    Hola.

    Necesito poner una fecha (día y mes) en letra y me he encontrado con un problema. Para el día utilizo la función 'SPELL_AMOUNT', pero como su nombre indica está pensada para cantidades, y si quiero poner 31-01-2011 me escribe 'treinta y un' en lugar de 'treinta y uno'. ¿Sabéis cómo podía solucionarlo? ¿Sabéis alguna función que convierta números en letras aunque no sean cantidades?

    Muchas gracias.

    Marta.
  • hugoa77
    Senior Member
    • may
    • 130

    #2
    Podrías utilizar la siguiente funcion para obtener el mes: ISP_GET_MONTH_NAME

    Código:
    DATA:
    v_mes TYPE t247-mnr,
    v_texlargo TYPE t247-ltx,
    v_texcorto TYPE t247-ktx.

    v_mes = sy-datlo+4(2).

    CALL FUNCTION 'ISP_GET_MONTH_NAME'
    EXPORTING
    language = sy-langu
    month_number = v_mes
    IMPORTING
    langu_back = sy-langu
    longtext = v_texlargo
    shorttext = v_texcorto.

    WRITE: 'Fecha actual: ', sy-datlo.

    WRITE : / 'Mes: ',
    v_texlargo,
    v_texcorto.

    Y para solucionar lo del día, podrías identificar cuando es 1, 21 o 31 que son los que te derian problemas y le agregas la "o" al final.

    Espero te sirva... Hugo

    Comentario

    • msotag
      Junior Member
      • nov
      • 9

      #3
      Hola Hugo.

      Muchas gracias pero no sé si me va a servir. Lo del mes ya lo tenía solucionado, de todas formas me apunto tu función que no la conocía. Lo del día, como comentaba lo hago con la función estándar SPELL_AMOUNT, con lo cual para controlar lo de los días 1, 21 y 31 tendría que hacerme una copia de la función, lo que me parece demasiado lío para lo que es. Aunque reconozco que si no encuentro otra función que haga lo que yo quiero, no me quedará más remedio.

      Muchas gracias de nuevo.

      Marta.

      Comentario

      • Tu amo
        Member
        • oct
        • 40

        #4
        No te compliques, un mes no tiene mas de 31 dias. Toma el nombre directo de la tabla T015Z

        De acuerdo que la spell_amount tiene ese ligero detalle al acortar el nombre del ultimo digito si es uno

        Comentario

        • msotag
          Junior Member
          • nov
          • 9

          #5
          Sí, tienes razón, me he creado una funcioncilla con el acceso a la tabla T015z
          y ya está. Muchas gracias por todo.

          Comentario

          Trabajando...