参数(条件表)灵活配置GS01/GS02/GS03
在開(kāi)發(fā)中,某段代碼運(yùn)行可能需要滿足某個(gè)條件,通常解決辦法有兩種:
一種是在代碼中寫(xiě)死限制條件,此種方式當(dāng)限制條件變化時(shí)需要修改代碼;
另一種辦法則是自定義數(shù)據(jù)表,將限制條件值保存在表中,當(dāng)程序運(yùn)行時(shí),可以直接從表中讀取條件值作為控制條件,這樣比較靈活,就像Java開(kāi)發(fā)中的屬性配置文件一樣。
但我們不需要手動(dòng)創(chuàng)建這樣的參數(shù)表,SAP已為我們提供了這樣的工具,可以通過(guò)該工具更靈活地將數(shù)據(jù)維護(hù)到一個(gè)層次結(jié)構(gòu)。
事務(wù)代碼:GS01/GS02/GS03
數(shù)據(jù)集必須參考某個(gè)數(shù)據(jù)庫(kù)表的具體某個(gè)字段,一般參考某一字段建立一個(gè)相關(guān)的數(shù)據(jù)集,稱為基本組,也可以將多個(gè)基本組合并到一個(gè)單維集,多個(gè)單維集則可以分配到同一個(gè)多重組中來(lái)實(shí)現(xiàn)統(tǒng)一管理。
參考VBAK-AUART字段
可以維護(hù)多個(gè)值,值還可以是范圍、公式、變量:
另外,還可以配置下級(jí)數(shù)據(jù)集:
配置完后,可以查看層次結(jié)構(gòu):
數(shù)據(jù)集實(shí)際上是保存在表SETLEAF中,以集的名稱及行號(hào)作為關(guān)鍵字,字段SETNAME為集的名稱,LINEID即為行號(hào),上面配置的數(shù)據(jù)集在表中如下:
數(shù)據(jù)集與數(shù)據(jù)集之單的關(guān)系存儲(chǔ)在?SETNOD?表中:
通過(guò)ABAP程序,可以將信中所維護(hù)的值讀取到RANGE類型的內(nèi)表中,作為查詢條件:
TABLES:?vbak.
ranges:lt_auart?for?vbak-auart?OCCURS?0.
select?valsign valoption valfrom valto
????INTO table?lt_auart
????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.
個(gè)人認(rèn)為,對(duì)于開(kāi)發(fā)者而言,是個(gè)極其好用的東西,省去了一大部分自建表。
總結(jié)
以上是生活随笔為你收集整理的参数(条件表)灵活配置GS01/GS02/GS03的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAP报表开发工具 Report Pai
- 下一篇: sap百分数表示Demo