本ページでは、SAPにおける検索ヘルプとは何か?検索ヘルプはどうやって作るの?という疑問をお持ちの方に、検索ヘルプの基本から応用まで1から分かりやすく説明します。
検索ヘルプとは、選択画面の各項目に値を入力する際に、値入力をアシストしてくれる機能のこと。

この機能を利用すれば、選択項目に何を入れて良いかわからない場合でも、その場で対象を検索したうえで選択画面への入力が可能です。
このページでは、検索ヘルプの作り方を1から解説しつつ、同時に検索ヘルプの仕組みも学べるよう豊富な画像付き誰でも理解できるようにご説明します。
SAPエンジニアを目指す方であれば知らないと恥ずかしい重要事項です。
是非、最後までご覧ください。
検索ヘルプとは?
冒頭でも簡単にご説明しましたが、検索ヘルプとは選択画面の各項目に値を入力する際に、値入力をアシストしてくれる機能のこと。

例えば、勘定コードや指図など大量にあるコードをSAPユーザが入力するシーンを思い浮かべてみましょう。「100001010」「9013943232」等の数字の羅列を入力する場合です。
この時、普通の人であれば「どのような数字の羅列を入力すれば良いか?」なんて正直わかりません。なぜなら、勘定や指図の名称は覚えていても対応するコード値まで覚えている人は少数であるからです。
このような場合に自分がどんな値を選択画面に入力すればよいか?をその場で検索することが可能にする手段が検索ヘルプの役割。
検索ヘルプが利用できる項目には、赤枠内に表示されているような検索ヘルプマークが表示されます。この項目は「F4」ボタンを押すことで呼び出し可能なため、F4ヘルプとも呼ばれます。

もし、この検索ヘルプが設定されていないと、大量にあるコードから入力したいコードをあらかじめ調べておいて、それを自分で1から入力する必要が出てきます。
例えば、上記画像の「コード」という項目には検索ヘルプが設定されていません。そのため、入力したいコード値をどこかで調べておいて、それをこの画面に入力する必要があるのです。
基本検索ヘルプと複合検索ヘルプ
検索ヘルプはその用途に応じて2種類存在します。
1つが、基本検索ヘルプ。もう1つが複合検索ヘルプです。
複合検索ヘルプは、複数の基本検索ヘルプを束ねたもの。以下のように、検索ヘルプを開いた際に複数のタブが存在しているものが複合検索ヘルプです。

上記例で言えば、ビジネスパートナIDを調べる際に住所別で絞り込むのか?銀行詳細ごとに絞り込むのか?などユーザが自由に設定できるようになります。
ちなみに、もう少し補足しておくと「得意先(住所別)」や「取引先(銀行詳細別)」というタブは、それぞれ基本検索ヘルプです。あくまでも基本検索ヘルプを複数まとめたものが複合検索ヘルプであると理解しましょう。
検索ヘルプの設定方法
ここからは実際に1から検索ヘルプを作る方法を解説します。検索ヘルプ、具体的にどのような仕組みなのかを理解できるでしょう。
まずは、基本検索ヘルプの作り方から。
SE11:ABAPディクショナリ
検索ヘルプは、SE11:ABAPディクショナリから登録を行います。

登録したい検索ヘルプ名を入力し「登録」ボタンをクリックします。
SAPシステムで利用されているディクショナリオブジェクトの定義をする機能です。ディクショナリオブジェクトとは具体的に以下の9個に分類されます。
- テーブル
- ビュー
- テーブルデータ型
- 構造
- データエレメント
- データ型グループ
- ドメイン
- 検索ヘルプ
- ロックオブジェクト
次に以下図の通り、登録する検索ヘルプの種類を選択します。

今回は基本検索ヘルプを登録するため、「基本検索ヘルプ」にチェックを入れてEnter。
※複合検索ヘルプについてはページ後半で解説します。
基本検索ヘルプ設定

基本検索ヘルプ設定のメイン画面が表示されます。
それぞれの項目の意味を1つずつ解説していきます。
基本検索ヘルプ:内容説明
「内容説明」の項目に入力した内容は、検索ヘルプを開いた際の表題として出力されます。

実際に業務ユーザの目に触れるポイントとなるため、どのような検索ヘルプなのか?が一目でわかるような内容とします。
基本検索ヘルプ:選択メソッド
選択メソッドという名前が混乱させてしまいがちですが、ここには入力可能値の取得元のテーブルorビューを選択します。

基本検索ヘルプ:ダイアログtype
検索ヘルプの一覧表示方法を以下の3つから選択します。
ダイアログtype | 表示方法 |
---|---|
値の直接表示 | 取得した入力可能値をすべて表示する |
範囲制限用のダイアログの表示 | 取得した入力可能値を制限して表示する |
値セット依存のダイアログ | 入力可能値が100件以上の場合は「範囲選択用のダイアログ表示」・100件未満の場合は「値の直接表示」で表示する |
基本検索ヘルプ:検索ヘルプパラメータ

検索ヘルプのインターフェースの定義です。
その検索ヘルプを開いたときに入力できる項目、検索した結果返される値の設定を行います。
※impは「import」、expは「export」の略です。
LPosは、List Positionの略で検索ヘルプの一覧上の表示位置を。SPosはSet Positionの略で、値を設定する位置(選択画面への出力項目の位置)を示します。
これで、検索ヘルプ自体の設定は完了。保存して、有効化を行います。
複合検索ヘルプ設定

続いて複合検索ヘルプの設定方法です。基本検索ヘルプと同様、ABAPディクショナリの第1画面で登録したい複合検索ヘルプ名を入力します。
複合検索ヘルプ:検索ヘルプパラメータ

検索ヘルプパラメータを設定します。
考え方は、基本検索ヘルプと同様。ここではどのような値を検索ヘルプのインプット/アウトプットとするか?を設定します。
複合検索ヘルプ:インクルード検索ヘルプ

インクルード検索ヘルプは、その名の通り複合検索ヘルプにまとめられる基本検索ヘルプを設定します。
検索ヘルプの割当
検索ヘルプを利用できるようにするためには、作成した検索ヘルプをテーブルをはじめとするディクショナリオブジェクトに割り当てる必要があります。
ここでは、テーブルへの割り当て方法を簡単に解説します。

テーブルの設定画面から、検索ヘルプを選択。

紐づけたい検索ヘルプを入力するだけ。これで、先ほど作成した検索ヘルプが利用できるようになりました。

テーブル以外にも、データエレメントや構造に紐づけることも可能です。
SAP/ABAPを1から勉強したい方は

初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!