# ABAP2S4HANA Migration Tool 設計書

| 項目 | 内容 |
|---|---|
| 文書名 | ABAP2S4HANA Migration Tool 設計書 |
| バージョン | 1.0 |
| 作成日 | 2026-05-12 |
| 対象システム | Python GUI / CLI |
| 配置 | `docs/設計書.md` / `docs/設計書.xlsx` |

## 1. はじめに

本書は、`ABAP2S4HANA` の目的、構成、機能、データ、セキュリティ、運用観点を引継ぎ可能な粒度で整理する設計書である。

## 2. システム概要

SAP ECC ABAP コードを S/4HANA 互換へ移行支援する GUI/CLI 変換ツール

### 2.1 利用者

- SAP 移行担当
- ABAP 開発者
- レビュー担当

### 2.2 スコープ内

- ABAP ソース読込
- 廃止構文・互換性チェック
- S/4HANA 向け変換
- 移行レポート
- GUI/CLI 実行

### 2.3 スコープ外

- SAP システムへの直接デプロイ
- 完全自動品質保証
- 業務ロジック再設計

## 3. アーキテクチャ

```mermaid
flowchart LR
  N0["main.py"] --> N1
  N1["src converter modules"] --> N2
  N2["Tkinter GUI"] --> N3
  N3["CLI batch runner"] --> N4
  N4["PyInstaller packaging"]
```

### 3.1 技術スタック

| 区分 | 採用技術 | 用途 |
|---|---|---|
| Python | requirements.txt | pyinstaller>=5.0 |

### 3.2 主要ファイル

| パス | 役割 |
|---|---|
| `ABAP2S4HANA.spec` | 主要ソース/設定ファイル |
| `design_document.xlsx` | 主要ソース/設定ファイル |
| `generate_design_doc.py` | 主要ソース/設定ファイル |
| `main.py` | 主要ソース/設定ファイル |
| `README.md` | 利用方法・概要 |
| `requirements.txt` | 主要ソース/設定ファイル |
| `test_conversion.py` | テスト |
| `output/migration_report.html` | 主要ソース/設定ファイル |
| `samples/sample_fi_report.abap` | 主要ソース/設定ファイル |
| `samples/sample_mm_purchase.abap` | 主要ソース/設定ファイル |
| `src/abap_generator.py` | 主要ソース/設定ファイル |
| `src/abap_parser.py` | 主要ソース/設定ファイル |
| `src/i18n.py` | 主要ソース/設定ファイル |
| `src/report_generator.py` | 主要ソース/設定ファイル |
| `src/s4_transformer.py` | 主要ソース/設定ファイル |
| `src/simplification_rules.py` | 主要ソース/設定ファイル |
| `src/vendor_modules.py` | 主要ソース/設定ファイル |
| `src/__init__.py` | 主要ソース/設定ファイル |
| `output/test/migration_report.csv` | テスト |
| `output/test/migration_report.html` | テスト |

## 4. データ・設定モデル

| データ | 形式 | 説明 |
|---|---|---|
| 入力 | .abap/.txt | ECC ABAP ソース |
| ルール | Python constants | 変換対象構文と代替案 |
| 出力 | ABAP + report | 変換済みコードとレビュー情報 |

## 5. 機能仕様

| ID | 機能 | 仕様 |
|---|---|---|
| F-01 | 解析 | ABAP ソースを読み込み、移行対象構文を検出する。 |
| F-02 | 変換 | 互換性ルールに基づき S/4HANA 向けコードへ置換・注釈する。 |
| F-03 | レポート | 自動変換・要確認・手動対応項目を出力する。 |
| F-04 | 二重IF | GUI と CLI の両方から同一変換エンジンを利用する。 |

## 6. セキュリティ・品質

- ソースコードはローカル処理とし、機密業務ロジックを外部送信しない。
- 自動変換結果はレビュー必須として扱う。

## 7. デプロイ・運用

- pip install -r requirements.txt
- python main.py で GUI
- test_conversion.py で主要ルールを検証

## 8. 既知の制約と今後の拡張

- 自動変換・自動判定を含む機能は、利用者または担当者レビューを前提とする。
- 本番利用前に対象データ、権限、ログ、バックアップ、例外処理を運用環境に合わせて確認する。
- README と実装差分が出た場合は、実装側を正として本書を更新する。

## 付録 A. 改訂履歴

| 版 | 日付 | 内容 |
|---|---|---|
| 1.0 | 2026-05-12 | 初版作成 |
