MaguyvaのCOBOL対応: レガシーモダナイゼーションのための依存関係解析
ここでは、幅広い言語対応が単なる数字の話ではなく、実際のモダナイゼーションツールになります。
拡張子
.cbl, .cob, .cpy
カスタムABAPには、何十年分もの業務ルールが詰まっていることがよくあります。コードはある部分ではオブジェクト指向、別の部分では手続き型で、どのメソッドが実行されるかは継承とインターフェースの構造で決まります。クラスを1つずつ読んでいては、それが見えません。
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 ファイルとして置かれたABAPをインデックスします。SAPシステムには接続しません。クイックスタートでリポジトリを接続し、互換性ページで対応マトリクスを確認してください。ほかのレガシー資産についてはCOBOLガイドをご覧ください。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
定義と参照が必要なときに、クラス、インターフェース、メソッドの名前で使ってください。
変更前に、基底クラスやインターフェースに対してincomingのトラバーサルを使い、サブクラス、実装クラス、呼び出し元を見つけてください。
グラフがまだカバーしていない、データベースのテーブル名やSQL文に使ってください。
関連ガイド
ここでは、幅広い言語対応が単なる数字の話ではなく、実際のモダナイゼーションツールになります。
拡張子
.cbl, .cob, .cpy
リポジトリがSpringのサービス、社内フレームワーク、そして組織のいくつもの時代を生き延びてきたコードで満ちているときに役立ちます。
拡張子
.java