¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo mostrar fecha en formato YYYY/MM/DD en FM REUSE_ALV_GRID_DISPLAY: Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 40 Vistas
0
Cargando...

Hola expertos,

Estoy utilizando FM REUSE_ALV_FIELDCATALOG_MERGE y el catálogo de campos se crea desde el programa.

El catálogo de campos encuentra el campo de fecha del programa pero mi tabla interna ha sido modificada para que la fecha se muestre como YYYY/MM/DD.

Cuando ingreso la tabla interna en FM REUSE_ALV_GRID_DISPLAY, la salida muestra la fecha como DD/MM/YYYY, lo cual no es lo que deseo.

¿Cómo puedo hacer que FM REAUSE_ALV_GRID_DISPLAY muestre la fecha en el formato YYYY/MM/DD que está en mi tabla de entrada?

He pasado mucho tiempo investigando en SDN sobre esto pero no puedo encontrar una solución similar, sin embargo, encontré algunos ejemplos de cambiar el catálogo de campos. ¿Alguien puede sugerir si este es el camino a seguir y si debería usar el campo de máscara de edición en el catálogo de campos o si hay una mejor manera?

Gracias por cualquier sugerencia.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Neil,

Gracias por tu respuesta. No estoy familiarizado con las salidas de campo pero trabajaré en ello. Es posible que tenga más preguntas en el futuro.

Hola Ruchak,

No entiendo tu recomendación. Ya he cambiado la tabla interna al formato requerido que estoy introduciendo en SAP FM REUSE_ALV_GRID_DISPLAY pero esa FM cambia la salida de nuevo al formato incorrecto, por lo que no tengo una segunda oportunidad de cambiar la salida. Por favor, explícame con más detalle a qué te refieres.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Después de ejecutar el módulo de función, puedes modificar el campo de fecha de la tabla interna.

data : str type string.

str = it_tab-date.

"Ahora concatena

concatentae str+6(4) "Año

'/'

str+3(2) " Mes

'/'

str+0(2) " fecha

en str.

Esto te dará AAAA/MM/DD

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Creo que puedes usar un campo de salida para esto.

Esto significa crear un elemento de campo y un dominio en el diccionario de datos, el dominio necesitará tener una salida de conversión configurada colocando una entrada en el campo 'Rutina de Conversión', por ejemplo, MYDAT.

Necesitarás crear dos módulos de función de la siguiente manera:

por ejemplo, CONVERSION_EXIT_MYDAT_OUTPUT

y CONVERSION_EXIT_MYDAT_INPUT

Ahora tu tabla interna deberá hacer referencia al elemento de datos que has creado en lugar del que estás utilizando actualmente. ALV debería recoger automáticamente las salidas de conversión y mostrar la salida como deseas.

FUNCTION CONVERSION_EXIT_MYDAT_OUTPUT.

*"----


" "Interfaz Local:

*" IMPORTING

*" REFERENCIA(ENTRADA) TIPO DATS

*" EXPORTING

*" REFERENCIA(SALIDA)

*"----


concatenar entrada(4) '/' entrada 4(2) '/' entrada 6

en salida.

ENDFUNCTION.

FUNCTION CONVERSION_EXIT_MYDAT_INPUT.

*"----


" "Interfaz Local:

*" IMPORTING

*" REFERENCIA(ENTRADA)

*" EXPORTING

*" REFERENCIA(SALIDA) TIPO DATS

*"----


data l_string tipo cadena.

l_string = entrada.

reemplazar todas las ocurrencias de '/' en l_string con ' '.

salida = l_string.

ENDFUNCTION.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¿El campo es de tipo d o dat, verdad? Como resultado, la visualización es según la configuración del usuario. Por lo tanto, declara el campo como char (10). Coloca tu fecha en él sin usar WRITE (concatenar subcadenas separadas por '/').

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?