[sap abap開發技術總結]結構復用(include)
types begin of struc_type.
types comp ...
types comp type struc_type boxed. "參照另一結構型別
include | } "將另一結構包括進來
[as name [renaming with suffix suffix]].
types end of struc_type.
include | }
[as name [renaming with suffix suffix]].
該語句只能用在定義結構的begin of與 end of之間。作用是將結構型別
struc_type與結構變數struc的所有元件字段拷貝到當前結構定義的指定位置,
include就是將可以重複使用的東西先做好,再包含進來。
as name:給包含進來的結構型別(或結構變數)取乙個別名,這樣就可以通過
結構元件符(-)來選取這個結構型別(或結構變數)
renaming with suffix suffix:如果include進來的結構型別(或結構變數)的
元件欄位與現有的重複,則可以使用此選項重新命名include進來的結構型別(或
結構變數)的各元件欄位名,具體做法只是在原來元件名後加上了指定的字尾
suffix
types: begin of t_day,
work type c length 8,
free type c length 16,
end of t_day.
data begin of week.
include type t_day as monday renaming with suffix _mon.
include type t_day as tuesday renaming with suffix _tue.
include type t_day as wednesday renaming with suffix _wed.
...data end of week.
可以通下面的方式來訪問week結構變數:
直接看作是week結構變數元件:week-work_mon, week-free_mon, week-
work_tue
由於使用as別名,所以還可以這樣訪問:week-monday-work, week-monday-
free, week-tuesday-work
當程式中多個結構使用共同的字段時,將公用的部分提取出來,使用include將
它們組裝起來,程式設計結構更清晰。下面是結構物件的復用:
data: begin of comm1 occurs 0,
bukrs type bsegbukrs,
end of comm1.
types:begin of comm2,
blart type bkpfblart,
end of comm2.
data: begin of gt_result occurs 0,
c1 type c."直接定義元件字段,但前面語句後面使用逗號
include structure comm1."直接將結構物件包括進來
include type comm2."直接將結構型別包括進來
data :comm like comm1,"直接參照
c2 type c. "直接定義元件字段,但前面語句後面使用逗號
data: end of gt_result.
gt_resultbukrs = '111'.
gt_resultblart = '222'.
gt_resultcommbukrs = '333'.
下面是型別的復用:
types: begin of street_type,
name type c length 40,
no type c length 4,
end of street_type.
data: begin of comm1 occurs 0,
bukrs type bsegbukrs,
end of comm1.
types: begin of address_type,
name1 type c length 30."直接定義型別,但前面語句需使用逗號
types :street type street_type,"參照另一結構型別
c type c."直接定義型別,但前面語句需使用逗號
include structure comm1.
include type street_type.
types: end of address_type.
*或者是這樣
*types: begin of address_type,
* name1 type c length 30,
* street type street_type,
* c type c.
* include structure comm1.
* include type street_type.
*types: end of address_type.
data: name type address_typestreetname.
data: name2 type address_typename.
data: bukrs type address_typebukrs.
ABAP開發工具及技術概覽
在學習這門語言之前,讓我們先看看sap的二次開發具有哪些工具和技術 這裡給大家乙個overview a abap list 最簡單的一種報表程式,顯示在螢幕上的資料及格式都通過abap中的write語句實現,開發工具 se38 b alv report 屬於報表的一種高階形式,顯示出來的報表整潔美觀...
ABAP開發工具及技術概覽
在學習這門語言之前,讓我們先看看sap的二次開發具有哪些工具和技術 這裡給大家乙個overview 1 report 報表 報表程式的主要作用是從資料庫中抓取資料通過整理陳列出來,給企業高層或具有相關需求的人員檢視。如無特殊需求,此類程式一般不需客製screen menu title。a abap ...
三十二 設計模式總結 結構型模式
設計模式總結 二 結構型模式 1,介面卡模式 將乙個第三方類方法,轉換到另乙個類中的呼叫的方法。優點 使原本介面不相容而不能工作的類一起工作,復用方法 缺點 改動源類會帶來麻煩 總結 多用於後期維護,修改時,復用類似類,方法或控制項時使用。class translator 介面卡 private f...