ABAP開發技術總結 結構復用

2022-09-12 19:18:12 字數 2814 閱讀 4236

[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 bseg­bukrs,

end of comm1.

types:begin of comm2,

blart type bkpf­blart,

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_result­bukrs = '111'.

gt_result­blart = '222'.

gt_result­comm­bukrs = '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 bseg­bukrs,

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_type­street­name.

data: name2 type address_type­name.

data: bukrs type address_type­bukrs.

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...