次の方法で共有


SAP クエリのパラメーターを EXECQUERY コマンドに変換する

クエリのパラメーターが EXECQUERY コマンド テキストにどのように変換されるかについて説明します。 このトピックでは、カスタム SAP クエリの例 (ZQUERY_TST_NEW) を使用します。

SAP GUI でクエリを開く

SAP でクエリを開くには、次の手順を実行します。 ここで説明する手順は、ZQUERY_TST_NEWクエリ用であり、SAP バージョンに固有のものです。

  1. トランザクション SQ01 を実行します。

  2. [ ユーザー グループからのクエリ ] ページで、[ クイック ビューアー] をクリックします。

  3. [ クイック ビューアー ] ページの [クイック ビュー ] テキスト ボックスに「」と入力 ZQUERY_TST_NEWし、[ 表示] をクリックします。

  4. [クイック ビューアー] ページで、[選択フィールド] タブをクリックして、クエリ内のすべてのパラメーターを一覧表示します。

    次の図は、クエリ定義内のすべてのパラメーターを示しています。

    SAP クエリ sap_query_param_typesのパラメーターの一覧

  5. [実行] をクリックします。 次のページが表示されます。

    SAP クエリ sap_query_all_paramsのパラメーター値を指定する

  6. 黄色の矢印をクリックして各パラメーターを定義します。 特定の許容値または許容できない値を定義することも、許容値または非許容値の範囲を定義することもできます。 EXECQUERY 構文は、各パラメーターの SAP GUI で構成された値に基づいて指定する必要があります。

    次のセクションでは、SAP GUI で値を定義する方法と、それらの値が EXECQUERY 構文にどのように変換されるかについて説明します。

EXECQUERY 構文をフレームに入れる

クエリ定義で定義されているパラメーター値に基づいて、EXECQUERY 構文の外観を見てみましょう。 これを理解するために、最初のパラメーター 2 桁の数値に対して構成された値が ZQUERY_TST_NEW クエリにどのように変換されるかの例を示します。

まず、次のスクリーンショットに示すように、[ 単一 vals ] タブ (緑のドット) の値が定義されているとします。

クエリで取得できるパラメーター値の一覧

Note

このダイアログ ボックスは、 2 桁の数値 パラメーターに対して黄色の矢印をクリックすると表示されます。

このような場合、EXECQUERY 構文は次のようになります。

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5'  

同じクエリの場合、[ 単一 vals ] タブ (緑のドット) の値に加えて、[ 単一 vals ] タブ (赤い点) の値を次のように定義することもできます。

2af88a57-4ff6-4bcc-8961-0f25dbfb8166クエリで を

このような場合、EXECQUERY 構文は次のようになります。

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8'  

次のスクリーンショットに示すように、[ 範囲 ] タブに値を (緑色のドットで) 追加します。

クエリで使用できるパラメーター値の範囲

EXECQUERY 構文は次のようになります。

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8', @P1 BETWEEN '2' and '5'  

同様に、次のスクリーンショットに示すように、[ 範囲 ] タブに値を追加する場合 (赤い点が付いています)。

ccc6a7bb-bc47-4325-8b58-094201f791bfクエリで を

EXECQUERY 構文は次のようになります。

EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8', @P1 BETWEEN '2' and '5', NOT @P1 BETWEEN '6' AND '8'  

わかりやすく理解するために、このトピックでは最初のパラメーター である 2 桁の数値についてのみ説明します。 同様のメソッドを使用して、他のパラメーターに定義されている値を EXECQUERY 構文に変換する方法を決定できます。