この記事を読むメリット
- SPROにアドオンテーブル更新を追加する方法が習得できます
これまでの記事では、アドオンテーブルの作成方法、テーブルメンテナンスダイアログの作成方法、そして専用トランザクションコードの作成方法について整理しました。
アドオンテーブルにテーブルメンテナンスジェネレータを作成すると、T-CODE:SM30 や専用トランザクションコードから設定値を更新できるようになります。
ただし、実際の運用では、設定画面を個別のトランザクションコードとして用意するだけでなく、T-CODE:SPRO のカスタマイジングメニューから起動できるようにしたいケースがあります。
SPRO から表示されるカスタマイジング構造は、IMG、つまり Implementation Guide と呼ばれます。
IMG にアドオンテーブル更新を追加しておくと、業務担当者は SAP 標準のカスタマイジングと同じような導線で、アドオンテーブル更新画面を開くことができます。
本記事では、作成済みのアドオンテーブル更新用トランザクションコードを、SPRO の IMG に追加する手順を説明します。
この記事のポイント
概要
今回実施するのは、作成済みのアドオンテーブル更新用トランザクションコードを、SPRO の IMG に追加する作業です。
SPRO に追加する対象は、テーブルそのものではなく、IMGアクティビティ です。
IMGアクティビティとは、SPRO 上に表示される実行可能な設定項目です。
このIMGアクティビティに対して、作成済みの専用トランザクションコードを割り当てることで、SPRO からアドオンテーブルの更新画面を起動できるようになります。
前提条件
本記事では、以下の作業が完了している前提で進めます。
- アドオンテーブルが作成済みである
- テーブルメンテナンスジェネレータが作成済みである
SM30 から対象テーブル、またはビューを更新できる
- アドオンテーブル更新用の専用トランザクションコードが作成済みである
- 専用トランザクションコードを実行すると、対象の更新画面が正しく起動する
SPROに追加するメリット
アドオンテーブルの更新画面は、専用トランザクションコードから直接起動することもできます。
しかし、SPRO に追加しておくことで、以下のようなメリットがあります。
- 設定作業の入口を整理できる
- 業務担当者が設定画面を探す際、トランザクションコードを直接覚えておく必要がなくなります。
SAP標準のカスタマイジングと同じように、IMG階層から設定画面を開けるため、運用上分かりやすくなります。
- カスタマイジングとして位置付けを明確にできる
- アドオンテーブルが業務ロジックを制御する設定値を保持している場合、SPROに配置することで「このテーブルはカスタマイジング設定である」という位置付けが明確になります。
- 後任者や運用担当者が理解しやすい
- SPRO上に配置されていると、設定箇所を探しやすくなります。
特に、担当者交代や保守引き継ぎの際に、どこで設定を変更するのかが分かりやすくなります。
IMGへの追加方法
SPROにアドオンテーブル更新を追加するときは、主に次の流れで進めます。
設定手順
- S_IMG_EXTENSIONを起動する
- 拡張IDを作成する
- 拡張対象のIMG構造を選択する
- [任意]IMGノードを作成する
- IMGアクティビティを作成する
- IMGアクティビティにトランザクションコードを割り当てる
- SPROから実行確認する
手順1. S_IMG_EXTENSIONを起動する
IMG に独自のアクティビティを追加するには、T-CODE:S_IMG_EXTENSION を使用します。
S_IMG_EXTENSION は、SAP Reference IMG に対して独自のIMG構造拡張を登録し、その中でIMGノードやIMGアクティビティを追加するために使用します。
ここで作成したIMGアクティビティが、SPROのカスタマイジングメニュー上に表示されます。
用語整理
- IMG構造拡張:SPROのIMGに独自ノードやアクティビティを追加するための拡張単位
- IMGノード:SPRO上のフォルダのような階層
- IMGアクティビティ:実際に実行できる設定項目
例えば、以下のようなイメージです。
販売管理 ← IMGノード
→ マスタデータ ← IMGノード
→ 定義: 流通チャネル(共通) ← IMGアクティビティ
SPROから実行できるのは、最終的には IMGアクティビティ です。
手順2.拡張IDを作成する
S_IMG_EXTENSION を起動したら、新規の拡張IDを作成します。
IMG構造の拡張IDは、SAP Reference IMG に独自のノードやアクティビティを追加するための管理単位です。
拡張IDは、基本的にプロジェクトや会社の命名規則に従って決めることが多いです。
名称は、後から見たときに用途が分かるものにします。
手順3.拡張対象のIMG構造を選択する
次に、拡張対象となるIMG構造を選択します。
通常は、SAP Reference IMG の構造を参照しながら、独自のノードやアクティビティを追加する位置を決めます。この作業では、既存のIMG構造の中で、どの階層に追加するかを確認します。
今回は、販売伝票タイプで保管場所を提案するための保管場所提案用のアドオンテーブルを更新するIMGアクティビティを追加する想定です。そのため、以下のような階層にIMGアクティビティを追加しようと思います。
販売管理 > 受注伝票 > 販売伝票明細 > [デモ]保管場所決定 > [デモ]保管場所決定表
配置先を決める際は、以下の観点で考えると整理しやすいです。
ノードやアクティビティの追加位置を決めるポイント
- どの業務領域の設定か
- SAP標準設定と関連があるか
- 他のアドオンテーブル更新等とまとめるべきか
- 業務担当者が探しやすい場所か
- 将来、同種の設定が増えたときに拡張しやすいか
単に空いている場所に追加するのではなく、利用者がどこを探すかを意識して配置することが重要です。
実際にIMG構造を指定する際は、ヘルプボタンから対象の構造を検索します。
ここで指定するIMG構造は、最終的に追加したいノードそのものではなく、拡張対象となるIMG構造です。
そのため、目的の下位ノードが直接検索できない場合でも、上位のIMG構造を選択し、後続の構造拡張画面で目的の階層まで展開して追加位置を選択します。
今回の例では、販売管理領域に関連する設定のため、販売管理のIMG構造を選択し、その後の画面で目的の階層まで移動します。
手順4.[任意]IMGノードを作成する
追加したい場所に適切な階層がない場合は、IMGノードを作成します。
IMGノードは、SPRO上ではフォルダのような役割を持ちます。
複数のアドオンテーブル更新や独自カスタマイジングをまとめたい場合に作成します。
すでに適切な配置先がある場合は、新しいノードを作成せず、既存ノードの配下にIMGアクティビティを追加しても問題ありません。重要なのは、利用者が自然に探せる場所に配置することです。
今回はデモということで、あえてIMGノードを以下の様に作成しています。
操作上の注意点として、「同レベル」にノードを作るボタンと、「下位レベル」にノードを作るボタンで分かれていますので、階層構造上で現在選択している階層を考慮する必要があります。
手順5.IMGアクティビティを作成する
追加先の階層を決めたら、IMGアクティビティを作成します。
IMGアクティビティは、SPRO上に表示される実行可能な設定項目です。
このアクティビティには、必要に応じて文書を登録し、さらに作成済みの専用トランザクションコードを割り当てます。
まずは、下図の様にIMGアクティビティのIDと名称を指定します。ここでの名称がSPROのIMGツリー上で表示されます。
次に、説明文を登録していきます。必須ではないですが、実務上は登録しておくことをおすすめします。
説明文には、以下のような内容を書いておくと分かりやすいです。
- 変更後に確認すべき処理
- この設定の目的
- どの業務処理に影響するか
- 主な設定項目の意味
- 変更時の注意点
手順6.IMGアクティビティにトランザクションコードを割り当てる
作成したIMGアクティビティに、実行対象として下記図のように専用トランザクションコードを割り当てます。
先ほどのIMGアクティビティIDと名称は、SPRO上に表示されるIMGアクティビティそのものを識別するための情報です。
一方、更新オブジェクトIDと名称は、そのIMGアクティビティに割り当てる更新オブジェクトを識別するための情報です。
更新オブジェクトには、実行対象となるトランザクションコードなどを割り当てます。
つまり、IMGアクティビティは「SPRO上の入口」、更新オブジェクトは「その入口から呼び出す実行対象を管理する単位」と考えると分かりやすいです。
今回のような単純なケースでは、IMGアクティビティIDと更新オブジェクトIDを同じにしても問題ありません。
専用トランザクションコード側で対象テーブルやビューを固定しておくことで、SPROから起動した際にも対象の更新画面を直接開けるようになります。
手順7.SPROから実行確認する
IMGアクティビティを作成したら、実際にSPROからノードやアクティビティが作成されているかを確認します。また、作成したアクティビティを実行し、正常に実行できるか確認しましょう。
確認ポイントは以下です。
- SPRO上にアクティビティが表示されているか
- タイトルが分かりやすいか
- 実行時に正しいトランザクションコードが起動するか
- 対象のアドオンテーブル更新画面が開くか
- 更新・保存ができるか
- 権限エラーが発生しないか
- 移送依頼が想定通り求められるか
まとめ
今回は、作成済みのアドオンテーブル更新用トランザクションコードを、SPROのIMGに追加する方法を整理しました。
アドオンテーブルは、SM30 や専用トランザクションコードから更新できます。
さらに、その更新画面をSPROに追加することで、SAP標準のカスタマイジングと同じような導線で設定画面を起動できるようになります。
SPROへの追加は、単に起動口を増やすだけではありません。
業務担当者が設定画面を探しやすくなり、アドオンテーブルをカスタマイジング設定として管理しやすくなります。
運用担当者が迷わず使えるように、分かりやすい名称と適切な配置を意識して設定しましょう。