Підтримка COBOL у Maguyva: аналіз залежностей для модернізації застарілих систем
Це той момент, коли широка підтримка мов перестає бути просто статистикою і стає інструментом модернізації.
Розширення
.cbl, .cob, .cpy
Maguyva підтримує ABAP з AST, символами та графом, щоб ШІ-агенти картографували класи, інтерфейси, перевизначення й винятки у власному коді SAP.
Власний ABAP часто несе в собі десятиліття бізнес-правил. Код подекуди об’єктно-орієнтований, подекуди процедурний, а те, який метод виконається, вирішує структура успадкування й інтерфейсів. Якщо читати по одному класу, цього не видно.
Maguyva спершу дає агентові граф класів, і план змін починається з того, що залежить від класу, а не з припущення.
Maguyva розбирає вихідний код .abap окремою граматикою ABAP. Символи охоплюють визначення та реалізації класів, інтерфейси, оголошення й реалізації методів, а також процедури FORM.
Граф фіксує зв’язки, важливі для розробників на ABAP:
CLASS ... INHERITING FROM.INTERFACES.METHODS ... REDEFINITION.RAISE EXCEPTION та CATCH.obj->m( ), cls=>m( ), CALL METHOD), посилання на типи з TYPE і TYPE REF TO, а також експорт методів публічної секції, прив’язаний до їхнього класу.IF, CASE, LOOP, TRY) усередині тіл методів.zcl_order_base і які з його методів перевизначають?» (find_symbol, потім dependency_search incoming)zcx_pricing_error і хто її перехоплює?» (dependency_search)get_task_context)SELECT ... FROM ... INTO), EXEC SQL і AUTHORITY-CHECK не розбираються поточною граматикою ABAP, тому читання таблиць через SQL поки що не стає ребрами графа. Для назв таблиць використовуйте text_pattern_search.INTERFACES — це зв’язки реалізації, а не імпорти. У структурному пошуку імпортами вважаються лише оператори INCLUDE..abap. До системи SAP вона не під’єднується.Під’єднайте репозиторій за швидким стартом, потім перегляньте матрицю підтримки на сторінці сумісності. Для інших успадкованих систем дивіться посібник із COBOL.
Найкраще підходить
Робочі процеси агента
Деталі рушія
Корисні точки входу MCP
Використовуйте з назвою класу, інтерфейсу чи методу, коли потрібні визначення й посилання.
Перед зміною використовуйте обхід incoming для базового класу чи інтерфейсу, щоб знайти підкласи, реалізації та тих, хто викликає.
Використовуйте для назв таблиць бази даних і SQL-операторів, яких граф поки не охоплює.
Пов'язані гайди
Це той момент, коли широка підтримка мов перестає бути просто статистикою і стає інструментом модернізації.
Розширення
.cbl, .cob, .cpy
Корисно, коли репозиторій наповнений сервісами Spring, внутрішніми фреймворками та кодом, що пережив кілька організаційних епох.
Розширення
.java