【SAP】SHD0-画面バリアント/トランザクションバリアントとは?登録手順まで3分で解説

SAP

初心者向けに分かりやすく画面バリアントとは何か?について解説します。

画面バリアントとは、その名の通り1つ1つの画面に対して設定するバリアントのことで、画面の表示/非表示や初期値などの項目属性の集合体。画面バリアントの集合体が、トランザクションバリアントです。

この記事では画面バリアントの登録方法までを3分で解説します。

このページで学べる内容
  • 画面バリアントとは?
  • 画面バリアントの設定方法
  • トランザクションバリアントとは?
  • 画面バリアントとトランザクションバリアントの違いは?

SAPエンジニアであれば常識として知っておきたい超・基本知識です。是非最後までご覧ください。

スポンサーリンク
スポンサーリンク

画面バリアントとは?

画面バリアントとは、画面1つ1つに対する表示・非表示などの項目属性のセットです。

文字の説明だけではイメージを持ちづらいはずなので、早速画面バリアントの設定画面の一例をご覧ください。

【SAP】SHD0-画面バリアント/トランザクションバリアントとは?登録手順まで3分で解説

ご覧のように、各項目ごとに 値保持 / 出力専用 / 非表示 / 必要 の設定を行えるようになっています。

画面バリアント設定:値保持(W.content)

値保持にチェックを入れることで、内容欄の値を初期値として表示させることができます。

例えば、ビジネスパートナの住所タブの項目に値保持の設定を行っていた場合。以下のような画面が表示されることになります。

タイトルと名の項目に初期値が設定

あくまでも初期値なので変更は可能です。

画面バリアント設定:出力専用(Output only)

出力専用にチェックすると、当該項目は変更することができなくなります。

言語項目だけ出力専用にしている例

画面バリアント設定:非表示(Invisible)

その名の通りです。非表示設定を行うと、当該項目は画面上から見えなくなります。

勘違いしてはいけないのが、あくまでも画面上から「見えなくなるだけ」であって存在自体がなくなるわけではありません。つまり、本来必須入力の項目に対して非表示設定をしてしまうと必ずエラーが出る画面を作成してしまうことにつながります。

画面バリアント設定:必要(Required)

必須入力させたい場合にチェックします。

支払日項目が必須入力
画面バリアントのテスト

例えば必須入力にチェックしている項目に対して、同時に非表示設定を行っている項目があったり、値保持している項目がSAP標準では許可できない文字だったりする場合。

このような画面バリアントを作成してしまうとバグの原因となってしまいます。SAPの標準機能としてこのような不整合を未然に防ぐために画面バリアントのチェックが行えます。

メニュー>バリアント>チェック

SHD0:画面バリアントの登録

さて、先に画面バリアントのイメージを掴んでもらうために設定内容の解説から進めてきましたがここからは実際に画面バリアントの登録方法を解説します。

と言っても、実は非常に簡単。

トランザクションコード:SHD0

画面バリアントを設定したいトランザクションコードを入力。画面バリアントタブにて画面バリアント名を入力し登録ボタンを押すだけ。

あとは、対象のトランザクションコードが起動され、いつもと同じように画面に値を入力していきます。画面の入力が完了すると、先ほど同様以下の設定画面が表示される仕組みです。

【SAP】SHD0-画面バリアント/トランザクションバリアントとは?登録手順まで3分で解説

トランザクションバリアントとは?

画面バリアントはあくまでも1つの画面に対する設定値をまとめたものでしかありません。そして、もう少し具体的に言えば画面バリアントは、トランザクションバリアントの1構成要素でしかありません。

画面バリアントとトランザクションバリアントの違い
  • 画面バリアント

    ⇒1つの画面の項目属性値のセット

  • トランザクションバリアント

    ⇒複数の画面バリアントのセット

実際には、1つ以上の画面バリアントから構成されるトランザクションバリアントをトランザクションコードに割り当てることによって画面の表示制御を行うわけです。

トランザクションコード:SHD0の画面に戻ります。

Transaction Variantタブ でトランザクションバリアント名称を入力。そして、そのトランザクションバリアントを構成する画面バリアントを割り当てていきます。

割り当てる画面バリアントの個数は1つ以上で何個あってもOKです。

バリアントトランザクションの作成

最後に、バリアントトランザクションを作成します。

ややこしいのですが、バリアントトランザクションとはトランザクションコードとトランザクションバリアントの組み合わせです。

つまり、どのトランザクションコードをどのバリアントトランザクションを用いて利用するか?を設定したトランザクションコードを新規に作成するイメージです。

実際のSAPユーザにはバリアントトランザクションを解放することで、表示・非表示設定のされた画面を見せる仕組みとなっているのです。

最後、この章だけ唐突に理解しがたい表現となっているため何度か読み返しをおすすめします。

バリアントトランザクションの作成方法

ABAPを1から勉強したい方は

ABAPを1から学習したい方のために、ABAPに関わる基本知識を1つのページにまとめました。

こちらの記事では、ABAPを用いて簡単な機能を実装できるようにするための必須知識を解説しております。今、本サイトで一番人気の記事ですので是非合わせてご覧ください。

タイトルとURLをコピーしました