Por qué vale la pena mapear ABAP antes de cambiarlo
El ABAP a medida suele contener décadas de reglas de negocio. El código es orientado a objetos en algunas partes y procedural en otras, y la estructura de herencia e interfaces decide qué método se ejecuta. Leer una clase a la vez no lo deja ver.
Maguyva entrega primero al agente el grafo de clases, de modo que un plan de cambio parte de lo que depende de una clase y no de una suposición.
Maguyva analiza el código fuente .abap con una gramática ABAP dedicada. Los símbolos incluyen definiciones e implementaciones de clases, interfaces, declaraciones e implementaciones de métodos y rutinas FORM.
El grafo registra las relaciones que importan a quienes desarrollan en ABAP:
- Herencia a partir de
CLASS ... INHERITING FROM.
- Implementación de interfaces a partir de
INTERFACES.
- Sobrescrituras a partir de
METHODS ... REDEFINITION.
- Excepciones a partir de
RAISE EXCEPTION y CATCH.
- Llamadas a métodos (
obj->m( ), cls=>m( ), CALL METHOD), referencias de tipo a partir de TYPE y TYPE REF TO, y exportaciones de métodos de la sección pública atribuidas a su clase.
- Lecturas, escrituras y flujo de control (
IF, CASE, LOOP, TRY) dentro del cuerpo de los métodos.
Ejemplos de prompts para agentes
- “¿Qué clases heredan de
zcl_order_base y cuáles de sus métodos redefinen?” (find_symbol y luego dependency_search incoming)
- “¿Dónde se lanza
zcx_pricing_error y quién la captura?” (dependency_search)
- “Resume cómo el flujo de creación de entregas va del reporte a la clase de persistencia.” (
get_task_context)
Limitaciones conocidas
- Open SQL (
SELECT ... FROM ... INTO), EXEC SQL y AUTHORITY-CHECK no se analizan con la gramática ABAP actual, así que las lecturas de tablas mediante SQL todavía no son aristas del grafo. Usa text_pattern_search para los nombres de tablas.
- Las cláusulas
INTERFACES son relaciones de implementación, no importaciones. En la búsqueda estructural solo las sentencias INCLUDE se seleccionan como importaciones.
- Maguyva indexa el ABAP que vive en un repositorio Git como archivos
.abap. No se conecta a un sistema SAP.
Próximos pasos
Conecta un repositorio con el inicio rápido y luego revisa la matriz de compatibilidad en la página de compatibilidad. Para otros sistemas heredados, consulta la guía de COBOL.