トランスポートは、開発システムで行った変更を品質保証、本番へ運ぶ仕組みです。SAPの品質管理の根幹をなす機能であり、Basisの中核業務の1つです。
トランスポート要求の構造
トランスポート要求は、要求(Request)とタスク(Task)の2階層で構成されます。
| 階層 | 役割 |
|---|---|
| 要求(Request) | 移送の単位。プロジェクトや変更のまとまり |
| タスク(Task) | 開発者ごとの作業単位。要求に属する |
複数の開発者が同じ要求に属するタスクを持つことができます。全員が自分のタスクをリリースしてはじめて、要求全体をリリースできます。
| 種類 | 記号 | 内容 |
|---|---|---|
| ワークベンチ要求 | K | プログラム、テーブル、クラスなど開発オブジェクト |
| カスタマイジング要求 | W | IMG設定。クライアント依存 |
| 移送可能変更要求 | — | 他システムへ移送する |
| ローカル変更要求 | — | 同一システム内でのみ有効 |
トランスポートの流れ
| 順序 | 処理 | 実行者 |
|---|---|---|
| 1 | 変更を行い、要求に記録される | 開発者 |
| 2 | タスクをリリース | 開発者 |
| 3 | 要求をリリース | 開発リーダー |
| 4 | エクスポート(ファイルが生成される) | システム |
| 5 | QASへインポート | Basis |
| 6 | QASでテスト | 業務部門 |
| 7 | PRDへインポート | Basis |
要求をリリースすると、変更内容がトランスポートディレクトリ内のファイル(データファイルとコファイル)としてエクスポートされます。インポートは、このファイルを読み込む処理です。
TMS(トランスポート管理システム)
TMS(STMS)は、システム間の移送経路を定義し、インポートを実行するための仕組みです。
| 要素 | 内容 |
|---|---|
| ドメインコントローラ | TMS設定を管理する中心システム。通常はDEV |
| トランスポートルート | どのシステムからどのシステムへ運ぶかの経路 |
| トランスポート層 | パッケージと経路を結びつける |
| インポートキュー | 各システムで待機中の要求の一覧 |
リターンコードの読み方
インポートの結果は、リターンコード(RC)として表示されます。この数値の意味を理解しておくことが重要です。
| RC | 意味 | 対応 |
|---|---|---|
| 0 | 正常終了 | 対応不要 |
| 4 | 警告あり | ログを確認。多くは無害だが要検証 |
| 8 | エラー | 一部のオブジェクトが移送されていない。要調査 |
| 12 | 重大なエラー | 移送が中断。原因を特定して再実行 |
| 16 | 致命的なエラー | システムレベルの問題。TMS設定などを確認 |
よくあるトラブル
| 症状 | 原因 | 対処 |
|---|---|---|
| オブジェクトが移送されない | 要求に含まれていない | SE03でオブジェクトの所属を確認 |
| インポート後に動作しない | 依存オブジェクトが未移送 | 関連する要求を確認して追加移送 |
| 要求がロックされている | 他のユーザーが編集中 | SE03でロックを確認 |
| 同じオブジェクトが複数の要求に | 並行開発による競合 | 移送順序を調整、または統合 |
| カスタマイジングが反映されない | クライアントが違う | 移送先クライアントの設定を確認 |
緊急移送とその管理
本番障害への対応で、通常の手順を省略して緊急移送を行うことがあります。この場合でも、記録を残し、事後にテストを行う運用が必要です。
緊急移送を安易に許すと、テストされていない変更が本番に入る経路が常態化します。緊急移送の承認者と手順を明文化し、実施件数を定期的にレビューすることが、統制上重要です。