共用方式為


將 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 語法結構的外觀。 為了瞭解這一點,我們將示範如何為第一個參數設定值 兩位數數位,轉譯為 ZQUERY_TST_NEW 查詢的範例。

首先,讓我們假設 [ 單一 vals ] 標籤中的值(有綠色點),其定義如以下截圖所示:

查詢可以接受的參數值清單

備註

當您按下黃色箭頭與兩位數數字參數後,就會顯示此對話方塊。

在這種情況下,EXECQUERY 語法看起來會像這樣:

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

針對相同的查詢,除了 單一 vals 索引標籤中的值(帶有綠點),您也可以在 單一 vals 索引標籤中(帶有紅點)定義如下值:

查詢無法接受 的參數值清單

在這種情況下,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'  

同樣地,如果您將值新增至 範圍 索引標籤(帶有紅點),如下列螢幕快照所示:

查詢無法接受的參數值範圍

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'  

為了簡單和瞭解,本主題只會討論第一個參數 兩位數的數位。 您可以使用類似的方法來判斷為其他參數定義的值如何轉譯為EXECQUERY語法。