SAPシステムでは、開発やテスト環境から本番環境への移送が必要な場合があります。この移送プロセスは、依存関係の管理が重要な役割を果たします。本記事では、SAP移送における依存と非依存の違いについて解説します。
SAPの移送依頼とは?
SAP移送とは、SAPシステム内で開発やテストが完了したオブジェクト(プログラム、テーブル、設定など)を本番環境に移すプロセスのことです。これにより、実際の業務を行う本番環境で利用可能になります。移送は、手動で行われる場合もありますが、一般的には移送ツールやSAPの移送モジュールを使用して自動化されます。
移送依頼の種類
SAPの移送依頼の種類は主に以下の2つに分けられます。
カスタマイジング依頼
カスタマイジング依頼は、クライアント依存テーブルへの変更が含まれるものです。これには特定のクライアントに紐付いた設定や構成の変更が含まれます。通常、開発や変更が行われるクライアントに依存しており、例えば特定の企業コードや営業組織に関連する変更がこれに該当します。
ワークベンチ依頼
ワークベンチ依頼は、クライアント非依存テーブルへの変更が含まれるものです。これにはシステム全体に共通する設定やオブジェクトの変更が含まれます。通常、システム全体に影響を与える変更が対象であり、開発や変更が行われるクライアントに依存しない特性を持っています。
SAP移送依頼の目的とは?
SAP移送の主な目的は、開発やテスト環境で行われた変更や新しい機能を本番環境に反映することです。これにより、本番環境での業務に即座に反映され、効率的な業務運営が可能になります。また、移送により、システム全体の一貫性が保たれ、エラーや予期せぬ問題の発生を防ぐこともできます。
クライアント依存と非依存の違いとは?
SAPの世界ではクライアント依存・非依存の話をする際はクライアントに対するオブジェクトの依存関係について述べています。
SAPのクライアントにおける依存オブジェクトと非依存オブジェクトの違いは、オブジェクトが他のクライアントに依存しているか、あるいは独立しているかに関連しています。
クライアント依存オブジェクトとは?
依存オブジェクトは、他のクライアントやオブジェクトに依存しているものです。これは通常、データや設定が特定のクライアントに固有であり、他のクライアントで利用する場合には関連する依存関係が存在することを指します。
クライアント依存オブジェクトの例
プログラムとデータベーステーブル:
カスタムプログラムが特定のデータベーステーブルにアクセスする場合、そのプログラムとテーブルは互いに依存しています。プログラムの変更が行われる際には、それに依存するデータベーステーブルも対応して変更される必要があります。
カスタムフィールドとデータ構造:
カスタムフィールドが特定のデータ構造に追加されている場合、これらは依存関係を持っています。フィールドの変更が行われると、それに依存するデータ構造も対応して変更される必要があります。
プログラムと関数モジュール:
カスタムプログラムがSAPシステム内の関数モジュールを呼び出している場合、プログラムと関数モジュールは依存しています。関数モジュールが変更されると、それを呼び出すプログラムも変更が必要です。
ビジネスワークフローとタスク:
ビジネスワークフローが特定のタスクや条件に依存している場合、これらは依存関係を持ちます。ワークフローの変更が行われると、それに依存するタスクや条件も適切に変更される必要があります。
カスタムレポートとデータソース:
カスタムレポートが特定のデータソースを使用している場合、レポートとデータソースは依存しています。データソースが変更されると、それに依存するレポートも変更が必要です。
クライアント非依存オブジェクトとは?
非依存オブジェクトは、他のクライアントやオブジェクトに依存せず、独立しているものです。これは通常、データや設定がクライアントに固有でなく、システム全体で共有されるものを指します。
クライアント非依存オブジェクトの例
テーマやスタイルシート:
SAPのユーザーインターフェース(UI)に関連するテーマやスタイルシートは、通常、他のオブジェクトに依存しません。これらは独自に変更や移送が可能で、外観やスタイルを調整するのに使用されます。
カスタムテキスト:
システム内で使用されるカスタムテキストやメッセージは、通常、他のオブジェクトに直接依存しません。これらは独立して変更が可能で、ユーザーへのメッセージを調整するのに利用されます。
プリンタ設定:
システム内のプリンタ設定や印刷フォームは、他のオブジェクトに依存しないで独立して変更ができることがあります。これにより、印刷関連の設定を調整することが可能です。
ロゴやアイコン:
カスタムロゴやアイコンは、通常、他のオブジェクトに依存せずにシステム内で独立して扱われることがあります。これらは企業のブランドイメージを反映するために利用されます。
アクセスキー:
特定の機能やトランザクションに関連するアクセスキーは、他のオブジェクトに依存せずに管理されることがあります。これにより、ユーザーのアクセス権限を調整することができます。
システムカスタマイズ設定:
システム全体の設定やパラメータは、通常、他のオブジェクトに依存せずに独立して変更が可能です。これは、システム全体の動作や構成をカスタマイズするために使用されます。
依存・非依存オブジェクト移送をする際の注意点
依存オブジェクトと非依存オブジェクトを移送する際には、それぞれ異なる注意点があります。以下に、それぞれのケースでの注意点を示します。
依存オブジェクトの移送注意点:
依存関係の確認:
- 移送する依存オブジェクトは他のオブジェクトに依存している可能性があります。依存関係を確認し、それらのオブジェクトも適切に移送リクエストに含めることが重要です。
整合性の維持:
- 依存オブジェクトを移送する際には、整合性を損なわないように慎重に作業する必要があります。移送先環境での依存関係も確認し、必要な設定やプログラムが適切に移送されるようにします。
移送順序の検討:
- 依存関係が複雑な場合、適切な移送順序を検討する必要があります。依存するオブジェクトが事前に移送されていることを確認してから、依存オブジェクトを移送することが望ましいです。
非依存オブジェクトの移送注意点:
独立性の確認:
- 非依存オブジェクトは他のオブジェクトに依存しないため、独立性が高いです。ただし、移送先環境での影響を確認し、必要な設定が整っていることを確認することが重要です。
設定の一貫性:
- 非依存オブジェクトは通常、システム全体で共有されるものです。移送先環境での設定が一貫性を持ち、他のオブジェクトとの連携が確保されるようにします。
変更ログの確認:
- 移送する非依存オブジェクトに対する変更ログを確認し、移送前に変更が正しく記録されているか確認します。これにより、移送後のトラブルシューティングがしやすくなります。
共通の注意点:
トランスポートリクエストの文書化:
- 移送リクエストには適切な説明や文書を追加しておくと、他の開発者や管理者が理解しやすくなります。
本番環境への移送前のテスト:
- 移送前には本番環境への影響を最小限に抑えるため、テスト環境やトレーニング環境でのテストを十分に行います。