SAP/ABAP開發——獲取域的文字描述
阿新 • • 發佈:2022-04-15
-
在 ABAP 字典中定義資料的三個基本物件是域、資料元素和表。域用於欄位型別和長度等表字段的技術定義,資料元素用於語義定義(簡短描述)。資料元素描述了特定業務上下文中域的含義。它主要包含螢幕中的欄位幫助和欄位標籤。
- 域被分配給資料元素,而資料元素又被分配給表字段或結構欄位。
- 在報表開發中,我們經常會使用域的描述以便於業務人員理解。
- 維護域的固定值在表DD07T中維護。(ps:dd07* 是域相關的表、結構、檢視等)
- 域被分配給資料元素,而資料元素又被分配給表字段或結構欄位。
-
如何獲取域的文字描述:
- 表:DD07T
- 表字段:DDTEXT(固定值的短文字)
- 選擇域:GLACCOUNT_TYPE
- 因此可以判斷出要得到選擇域GLACCOUNT_TYPE的文字描述,需要 下限值 來判斷唯一值
- 表:DD07T
-
如何獲取域的區域範圍:表:DD07L 表字段
- DOMVALUE_L
- DOMVALUE_H
- 選擇域:GLACCOUNT_TYPE
- 因此可以判斷出要得到選擇域:GLACCOUNT_TYPE的值關鍵字,需要 下限值 來判斷唯一值(也就是域的值範圍中的資料)
- DOMVALUE_L
-
關鍵程式碼:
- SELECT A~SAKNR,A~BILKT,A~KTOPL,A~GLACCOUNT_TYPE,DD07T~DDTEXT,A~KTOKS,T077Z~TXT30
INTO CORRESPONDING FIELDS OF TABLE @ITAB
FROM SKA1 AS A
INNER JOIN DD07L ON A~GLACCOUNT_TYPE = DD07L~DOMVALUE_L
INNER JOIN DD07T ON DD07L~VALPOS = DD07T~VALPOS AND DD07T~DOMNAME = ‘GLACCOUNT_TYPE’ AND DD07T~DDLANGUAGE = @SY-LANGU
INNER JOIN T077Z ON A~KTOPL = T077Z~KTOPL AND A~KTOKS = T077Z~KTOKS AND T077Z~SPRAS = @SY-LANGU
WHERE A~KTOPL IN @S_KTOPL AND A~SAKNR IN @S_SAKNR AND A~KTOKS IN @S_KTOKS.
- SELECT A~SAKNR,A~BILKT,A~KTOPL,A~GLACCOUNT_TYPE,DD07T~DDTEXT,A~KTOKS,T077Z~TXT30
INTO CORRESPONDING FIELDS OF TABLE @ITAB
FROM SKA1 AS A
INNER JOIN DD07L ON A~GLACCOUNT_TYPE = DD07L~DOMVALUE_L
INNER JOIN DD07T ON DD07L~VALPOS = DD07T~VALPOS AND DD07T~DOMNAME = ‘GLACCOUNT_TYPE’ AND DD07T~DDLANGUAGE = @SY-LANGU
INNER JOIN T077Z ON A~KTOPL = T077Z~KTOPL AND A~KTOKS = T077Z~KTOKS AND T077Z~SPRAS = @SY-LANGU
WHERE A~KTOPL IN @S_KTOPL AND A~SAKNR IN @S_SAKNR AND A~KTOKS IN @S_KTOKS.