SAP_ABAP_GS01/GS02/GS03資料集_引數(條件表)靈活配置GS01/GS02/GS03
阿新 • • 發佈:2018-12-23
在開發中,某段程式碼執行可能需要滿足某個條件,通常解決辦法有兩種:一種是在程式碼中寫死限制條件,此種方式當限制條件變化時需要修改程式碼;另一種辦法則是自定義資料表,將限制條件值儲存在表中,當程式執行時,可以直接從表中讀取條件值作為控制條件,這樣比較靈活,就像Java開發中的屬性配置檔案一樣,但我們不需要手動建立這樣的引數表,SAP已為我們提供了這樣的工具,可以通過該工具更靈活地將資料維護到一個層次結構
資料集必須參考某個資料庫表的具體某個欄位,一般參考某一欄位建立一個相關的資料集,稱為基本組,也可以將多個基本組合併到一個單維集,多個單維集則可以分配到同一個多重組中來實現統一管理。
參考VBAK-AUART欄位
可以維護多個值,值還可以是範圍、公式、變數:
另外,還可以配置下級資料集:
配置完後,可以檢視層次結構:
資料集實際上是儲存在表SETLEAF中,以集的名稱及行號作為關鍵字,欄位SETNAME為集的名稱,LINEID即為行號,上面配置的資料集在表中如下:
資料集與資料集之單的關係儲存在 SETNOD 表中:
通過ABAP程式,可以將信中所維護的值讀取到RANGE型別的內表中,作為查詢條件:
TABLES: vbak.
ranges:lt_auart for vbak-auart OCCURS 0.
select valsign valoption valfrom valto
INTO table
from setleaf
WHERE setname LIKE 'ZD_AUART'.
LOOP AT lt_auart .
WRITE:/ lt_auart-sign , lt_auart-option ,lt_auart-low ,lt_auart-high .
ENDLOOP.