Función Fecha para obtener el mes en letra

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • mferna
    Junior Member
    • may
    • 2

    #1

    Función Fecha para obtener el mes en letra

    hola a todos,

    Partiendo de la fecha del systema, necesito obtener el mes siguiente (en letra) y el año.
    Ej: 09/10/2009 (sy-datum)
    Quiero visualizar el mes siguiente, pero con el mes en texto.
    Octubre 2009

    ¿Alguien puede ayudarme?

    Gracias.
  • patrus
    Junior Member
    • nov
    • 22

    #2
    Mes en letra

    Hola
    La solucion que te doy es esta aunque la puedes haber mejor
    * Variables
    Data: mes length 2 type c,
    anio length 4 type c,
    dia length 2 type c,
    mes_letra length 50 type c.
    anio = syst-datum(4). "para te coja el año
    mes = syst-datum+4(2). " para que te coja los digitos del mes
    dia = syst-datum+6(2). " para que te coja los digitos del dia
    case mes.
    when '01'.
    mes_letra = 'Enero'.
    when '02'.
    mes_letra = 'Febrero'.
    when '03'.
    mes_letra = 'Marzo'.
    when '04'.
    mes_letra = 'Abril'.
    when '05'.
    mes_letra = 'Mayo'.
    when '06'.
    mes_letra = 'Junio'.
    when '07'.
    mes_letra = 'Julio'.
    when '08'.
    mes_letra = 'Agosto'.
    when '09'.
    mes_letra = 'Septiembre'.
    when '10'.
    mes_letra = 'Octubre'.
    when '11'.
    mes_letra = 'Noviembre'.
    when '12'.
    mes_letra = 'Diciembre'.
    endcase.
    Espero que te ayude
    SALUDOS

    Comentario

    • jtristan
      Senior Member
      • oct
      • 240

      #3
      Echa un vistazo a estas dos funciones
      CONVERSION_EXIT_LDATE_OUTPUT
      Para 20000101, esta devuelve 01.Enero.2000.
      CONVERSION_EXIT_SDATE_OUTPUT
      Para 20000101, esta devuelve 01.ENE.2000.

      Simplemente tendrías que eliminar la parte del día o dar formato ya a las cadenas para que salga lo que tú quieras.

      Un saludo.

      Comentario

      • mferna
        Junior Member
        • may
        • 2

        #4
        Hola,
        Gracias de antemano.
        Encontre esta tabla t247 que tiene los textos de cada mes y previamente utilizo esta función OIL_GET_NEXT_MONTH para que me devuelva el mes siguiente.

        Gracias de nuevo.

        Comentario

        • karinastolen
          Member
          • mar
          • 60

          #5
          Función ISP_GET_MONTH_NAME

          Otra solución puede ser utilizar la función: ISP_GET_MONTH_NAME

          Esta función te devuelve el nombre del mes, en texto largo y/o
          texto corto.

          Código:
          DATA:
                v_mes      TYPE t247-mnr,
                v_longtext TYPE t247-ltx,
                v_shortext TYPE t247-ktx.
          
          v_mes = sy-datlo+4(2) + 1.
          
          CALL FUNCTION 'ISP_GET_MONTH_NAME'
            EXPORTING
              language     = sy-langu
              month_number = v_mes
            IMPORTING
              langu_back   = sy-langu
              longtext     = v_longtext
              shorttext    = v_shortext.
          
          WRITE: 'Fecha actual: ', sy-datlo.
          
          WRITE : / 'Mes siguiente: ',
                     v_longtext,
                     v_shortext.
          "Experience is what you get when you didn't get what you wanted." Randy Pausch

          Comentario

          Trabajando...