この記事を読むメリット
- SAPの移送プロセスにおける依存関係の意味と、それに基づいた正しい移送順序の重要性を理解することができます。
SAPの運用において、開発物やカスタマイズの内容を本番環境に正しく反映する際に「移送(Transport)」を用います。それは単なるファイルコピーではなく、システムの整合性を保ちながら段階的に変更を適用するために設計されているSAPの標準機能となります。
この記事では移送の基本から依存関係、正しい移送順序を解説していきます!
今日はSAPの移送について話すぞい。移送は地味に見えるが、失敗するとシステム全体に影響が出る、かなり重要な作業じゃ!
移送って、開発した内容を本番環境に持っていく作業ですよね。なんとなくはわかるんですが、依存関係とかはまだよく理解できていなくて…
そこじゃ!”なんとなく”やってしまうと痛い目を見るのが移送じゃぞ。今日でしっかりマスターしてもらうぞい!
この記事のポイント
移送の全体像と構成
移送対象となる3つのシステムとクライアントの役割
以下のように3つのシステムが基本構成として使われることが多いんでしたよね!
| 環境 | 略称 | 役割 |
|---|
| 開発機 | DEV | 開発・設定変更を行う環境 |
| 検証機 | QAS | テスト・品質確認を行う環境 |
| 本番機 | PRD | 実際の業務を行う環境 |
基本的には移送を用いる考え方が一般的ですが、移送は用いず本番機で直接実施することが必要になる設定もあります。
システム構成とクライアントについては、以下の記事で詳しく紹介しています。あわせて読んでみてくださいね!
あわせて読みたい
【SAP基礎】SAPのシステム構成(ランドスケープ)とクライアントについて解説!
この記事を読むメリット SAPのシステム構成(SAPランドスケープ)について理解ができます。 SAPのクライアントについて理解ができます。 SAPを含めたシステム開発のプロ…
原則そうじゃ。一部の設定は本番機で直接行う場合もあるが、基本はDEV→QAS→PRDの流れで進めるぞい。
いきなり本番に入れるのは、料理の味見をせずにお客さんに出すようなものじゃ!
移送依頼(Transport Request)とは
SAPでは、開発や設定変更を「移送依頼(Transport Request)」という単位で管理されます。これにより、変更内容を一貫して安全にシステム間で移動できます。
移送の種類は以下の2種類です。
移送依頼の種類
- ワークベンチ依頼(クライアント非依存):テーブルやプログラムなどシステム全体に影響する変更クライアント非依存)
- カスタマイジング依頼(クライアント依存):各クライアント特有の設定変更
移送依頼は”引越し業者の箱”のようなものじゃ。
何をどの箱に詰めるかを間違えると、引越し先で大変なことになるぞ!
なぜ移送順序が重要なのか?「依存関係」を理解しよう
依存関係とは
SAPのオブジェクトは互いに参照し合う関係(依存関係)を持っています。
わかりやすい例で考えましょう。
依存関係…うーん、ピンとこないです。もう少し具体的に教えてもらえますか?
家を建てるのと同じじゃ。基礎工事なしに壁は立てられん。壁なしに屋根は乗せられん。
SAPのオブジェクトも同じで、土台となるものから順番に移送しないとエラーが出るんじゃ!
たとえば、アドオンプログラムが動くためには、そのプログラムが使うテーブル定義が先に存在している必要があります。テーブルが移送されていない状態でプログラムだけ移送しても、実行時にエラーが発生します。
依存関係を無視した場合のエラー例
| 状況 | 発生するエラー |
|---|
| テーブル定義が未移送 | プログラム実行時にエラーが発生 |
| カスタマイズ設定が不足 | 業務処理が正しく動作しない |
| 先行オブジェクトが未移送 | ショートダンプ・不整合データが発生 |
| メッセージクラスが未移送 | エラーメッセージが正しく表示されない |
つまり、移送するオブジェクトに「必要なものが揃っているか」を確認してから移送しないといけないんですね…!
その通り!
依存関係を無視した移送は、現場でよくある障害の原因のひとつじゃ。特に大規模プロジェクトでは、移送依頼の数が膨大になるから余計に注意が必要じゃぞ。
推奨される移送順序
依存関係を正しく解消するため、以下の順序での移送が推奨されます。「土台となるものから順番に」が基本原則です。
| 移送順序 | オブジェクトの例 | 説明 |
|---|
| 1 | パッケージ | オブジェクトの管理単位 |
| 2 | ドメイン、データエレメント、検索ヘルプ | データ型や制約の定義 |
| 3 | テーブル、構造定義 | データ格納形式の定義 |
| 4 | ロックオブジェクト、ビュー | 同時更新制御や論理ビューの定義 |
| 5 | メッセージクラス | エラーメッセージ定義など |
| 6 | プログラム、Function Module、Include | 実行ロジックの本体 |
| 7 | バリアント | 実行時のパラメータセット |
| 8 | トランザクションコード | プログラムの実行エントリーポイント |
SAP移送の標準的な順序
1→8の順番で考えると、「上のものがないと下のものが動かない」という関係になっておる。
テーブルがないのにプログラムを先に入れてしまう…というミスが現場では意外と多いんじゃぞ!
移送管理の対策
移送で失敗しないためにはプロジェクト内でしっかりルールを決めて、移送順序についてもレビューした上で移送を進めていく必要があります。以下のことはしっかりやっておきたいですね!
- ルールの標準化
命名規則や順序定義を文書化し、全員に周知
- 依存関係の確認
SE01/SE09/SE10などで移送対象の関係性を事前にチェック
- レビュープロセス
検証機(QAS)での事前検証と承認を徹底
焦りが一番の敵じゃ。
本番環境でエラーが出てから対処するより、QASでしっかり確認する方が、結果的に何倍も速く終わるぞい!
ドキュメント化と事前確認が大切なんですね。移送って、地味だけどすごく責任のある作業なんだなと改めて思いました!
まとめ
- SAP移送はDEV→QAS→PRDの順で実施するのが基本
- 移送依頼にはワークベンチ依頼(クライアント非依存)とカスタマイジング依頼(クライアント依存)の2種類がある
- オブジェクト間の依存関係を無視すると、ダンプエラーや業務不具合が発生する
- 「パッケージ→データ型→テーブル→ロジック→トランザクション」の順序が基本原則
- SE01/SE09/SE10で事前確認し、移送手順書で管理することがトラブル防止の鍵
SAPの移送作業は単なる作業の一環ではなく業務の継続性とシステム整合性を守るための重要なプロセスです。依存関係を理解し正しい順序での移送を実施することでエラーや障害の発生を未然に防止できます。標準的なルールを理解・運用することが、安全かつ効率的なSAP運用の第一歩となります!
移送を制する者がSAPプロジェクトを制す、じゃ!
依存関係と順序をしっかり理解して、安心・安全なシステム運用を目指すんじゃぞ!
はい!今日は移送の”なぜ”がよくわかりました。次の移送作業では、ちゃんと順序を確認してから進めます!