ayuda

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • danieldl
    Member
    • feb
    • 70

    #1

    ayuda

    Estimados necesito pasar un campo de fecha like sy-datum al formato ddmmyyyy mapa grabarlo en un texto.... alguien me puede dar una mano.

    dede ya gracias.
  • Marco
    Senior Member
    • abr
    • 141

    #2
    Hola, como estas Danieldl.
    El formato fecha si quieres mostrarlo en un listado:
    WRITE sy-datum FORMAT 'ddmmaaaa'.

    Pero si quieres grabarlo a un campo texto dentro de una itab o bdtable, tienes que jugar con los caracteres, tener una estructura o 3 variables para que separes el año, mes y dias y luego concatenarlos y recien guardalos del formato que quieres... algo asi:

    Supongamos que tenes variables l_anio(4), l_mes(2), l_dia(2) de tipo caracter.
    l_fecha = sy-datum.
    l_anio = l_fecha(4).
    l_mes = l_fecha+4(2).
    l_dia = l_fecha+6(2).

    Luego concatenas el l_año, l_mes y l_dia en otra variable char.
    Asi yo manejo las fechas al almacenarlas..

    PERO ojo! Siempre se guardan en yyyymmdd y con el formato fecha, SAP te lo combierte y te lo muestra dia, mes y año, y es util para la comparacion entre fechas y sumarle o restarle dias.
    Lo ideal es guardarlo como año,mes y dia.

    Saludos y espero q te ayude en algo..

    Comentario

    • marcothernandez
      Junior Member
      • feb
      • 1

      #3
      Existe una función que lo cambia y le agrega los puntos, se llama CONVERT_DATE_TO_EXTERNAL , te paso el código

      data: fecha_con_formato(12) type c.

      CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
      EXPORTING
      DATE_INTERNAL = SY-DATUM
      IMPORTING
      DATE_EXTERNAL = fecha_con_formato
      EXCEPTIONS
      DATE_INTERNAL_IS_INVALID = 1
      OTHERS = 2
      .


      IF SY-SUBRC <> 0.
      * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

      Comentario

      Trabajando...