Pourquoi cartographier ABAP avant de le modifier
L’ABAP spécifique porte souvent des décennies de règles métier. Le code est orienté objet à certains endroits et procédural à d’autres, et c’est la structure d’héritage et d’interfaces qui décide quelle méthode s’exécute. Lire une classe après l’autre ne le montre pas.
Maguyva donne d’abord à l’agent le graphe des classes, de sorte qu’un plan de modification part de ce qui dépend d’une classe plutôt que d’une supposition.
Maguyva analyse les sources .abap avec une grammaire ABAP dédiée. Les symboles comprennent les définitions et implémentations de classes, les interfaces, les déclarations et implémentations de méthodes, ainsi que les routines FORM.
Le graphe enregistre les relations qui comptent pour les développeurs ABAP :
- L’héritage issu de
CLASS ... INHERITING FROM.
- L’implémentation d’interfaces issue de
INTERFACES.
- Les surcharges issues de
METHODS ... REDEFINITION.
- Les exceptions issues de
RAISE EXCEPTION et CATCH.
- Les appels de méthode (
obj->m( ), cls=>m( ), CALL METHOD), les références de type issues de TYPE et TYPE REF TO, et les exports de méthodes de la section publique rattachés à leur classe.
- Les lectures, écritures et le flux de contrôle (
IF, CASE, LOOP, TRY) dans le corps des méthodes.
Exemples de prompts pour agents
- « Quelles classes héritent de
zcl_order_base, et lesquelles de ses méthodes redéfinissent-elles ? » (find_symbol, puis dependency_search en incoming)
- « Où
zcx_pricing_error est-elle levée, et qui l’intercepte ? » (dependency_search)
- « Résume comment le flux de création de livraison passe du report à la classe de persistance. » (
get_task_context)
Limites connues
- Open SQL (
SELECT ... FROM ... INTO), EXEC SQL et AUTHORITY-CHECK ne sont pas analysés par la grammaire ABAP actuelle ; les lectures de tables via SQL ne sont donc pas encore des arêtes du graphe. Utilisez text_pattern_search pour les noms de tables.
- Les clauses
INTERFACES sont des relations d’implémentation, pas des imports. Seules les instructions INCLUDE sont sélectionnées comme imports dans la recherche structurelle.
- Maguyva indexe l’ABAP stocké dans un dépôt Git sous forme de fichiers
.abap. Il ne se connecte pas à un système SAP.
Étapes suivantes
Connectez un dépôt avec le démarrage rapide, puis consultez la matrice de prise en charge sur la page de compatibilité. Pour d’autres patrimoines historiques, voir le guide COBOL.