PDA

Ver la Versión Completa : ayuda


danieldl
01/05/06, 02:21:13
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
01/05/06, 20:27:51
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. :D
Asi yo manejo las fechas al almacenarlas.. :cool:

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..

marcothernandez
30/04/07, 20:30:53
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.