¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo determinar y mostrar diferencias en un archivo XML: módulo de funciones o clase similar al Editor de Pantalla Dividida

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

Hola a todos,

¿Existe un módulo de funciones o una clase para determinar y mostrar diferencias en un archivo (xml)? ¿Similar al Editor de Pantalla Dividida?

(SE39) o Comparación de Código Fuente Abap FM: WB_SPLIT_EDITOR_VRS_START.

Lamentablemente, ambas herramientas solo se pueden utilizar para código abap.

Pero yo lo necesito para un archivo o archivo XML.

Saludos cordiales
Uwe

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

4 Respuestas

0
Cargando...

quynh.doanmanh , eso es prácticamente lo que mencioné en mi respuesta anterior. XSLT son transformaciones y al igual que cualquier otro DDIC, existen versiones y funcionalidades de comparación.

Sin embargo, según mi conocimiento actual, todavía debes ser capaz de crear estos objetos DDIC (temporales), y eso no siempre será posible.

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

Veo que hay gestión de versiones en la transacción STRANS, por lo que podrías crear una transformación XML allí y comparar versiones...

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

Hasta ahora, diría que 'no se puede hacer de manera elegante' con las herramientas actuales de SAP (a menos que construyas todo tú mismo).

Tuve esta tarea una vez también, y la única forma en que pude resolverla fue creando una entrada XSLT DDIC para ambos archivos XML (o un archivo 'de texto') con cl_o2_api_xsltdesc=>create_new( ) "API: Programa XSLT -> Crear nueva entrada en el sistema de almacenamiento" y luego comparándolos con SUBMIT rsvrsfu3 "Comparación de versiones: Módulos de función (fuentes)" . (Y eliminando los objetos XSLT DDIC después de la comparación, por supuesto)

El problema con esto es que solo puedes usarlo en el sistema de Desarrollo, a menos que tu sistema de Pruebas/Calidad o incluso Productivo esté abierto para crear entradas DDIC 😉 (de lo contrario, recibirás el mensaje "No se permiten cambios en el Repositorio o en la Customización entre clientes").

O bien, puedes conectar desde tu Sistema de Desarrollo a Producción, extraer los datos que necesitas y hacer la comparación en el Sistema de Desarrollo para los datos productivos. Como dije, esto no se hace 'de manera elegante'.

Todavía hay inconvenientes en la función de comparación de código con rsvrsfu3 , ya que los dos archivos deben ser muy similares, de lo contrario, a veces no es posible que el programa realmente encuentre filas 'coincidentes' (sin cambios o ligeramente cambiadas), y más bien afirma que una fue eliminada y la otra insertada, cuando en realidad es la misma o solo ligeramente cambiada. Y también debes pensar en cuál archivo debería ser el 'nuevo' y cuál es el 'viejo', para que la categorización del informe en 'insertado' y 'eliminado' no sea demasiado confusa. Por lo tanto, en este momento, obtendrás mejores resultados con editores de texto modernos (como notepad++, bbEdit, TextWrangler), que incluyen comparaciones de archivos y carpetas, o donde hay un complemento disponible. Solo tomé este camino en SAP en mi caso, porque siempre había varios 'archivos' para comparar y no quería descargarlos, nombrarlos, compararlos, sacar mis conclusiones, etc.

(Mostrar el XML funciona perfectamente con CALL FUNCTION 'SDIXML_DOM_TO_SCREEN'.)

1. Ejemplo de XML serializado que se puede ver como XML o comparar con otra XML con una función 'COMPARAR':

2. Ejemplo de extraer datos de customizing de otro cliente/sistema (por ejemplo, de productivo a sistema de desarrollo) para comparar diferentes 'versiones' (por ejemplo, Customizing para Cálculos de Precios)

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

Opción 1: descargar los archivos y utilizar herramientas como Notepad++ para comparar estos archivos
Opción 2: utilizar la herramienta de depuración "diff" para comparar los archivos como cadena o tabla

No conozco ninguna herramienta estándar de SAP para comparar XML en dynpro/webdynpro/ui5

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?