第四章 ABAP基礎
4.1.5 程序運行
1.程序內部調用,如下表:
功能 |
報表調用語句 |
事務調用語句 |
無返回調用 |
SUBMIT |
LEAVE TO TRANSACTION |
調用並返回 |
CALL TRANSACTION |
例:
REPORT z_calling_program.
START-OF-PROGRAM.
WRITE ‘This program calls another program.’.”此內容在輸出界面看不到
SUBMIT z_simple_program.”上面的輸出被此程序覆蓋.
如果改用SUBMIT AND RETURN來調用則可以輸出以上內容.
2.結束程序:LEAVE PROGRAM.可在任意點強制結束當前運行的程序.
4.1.6 內存管理
SAP程序同一個用戶和系統可進行最多6個SAPGUI主會話.
4.2.1 數據定義
TYPES:BEGIN OF t_staff,
S_no(3) type n,
Name(20),
END OF t_staff.
DATA staff TYPE t_staff.
上例中定義了一個結構類型t_staff,並根據其聲明了一個結構體對象staff.
數據類型中的扁平結構與縱深結構:
扁平類型:運行時長度固定的類型.
縱深類型:運行時長度可巒的類型.
4.2.2 ABAP內置基本數據類型:
數據 類型 |
默認大小 |
有效大小 |
初始值 |
說明 |
示例 |
C |
1 |
1-65535 |
SPACE |
文本字符(串) |
‘name’ |
N |
1 |
1-65535 |
’00…0’ |
數字文本 |
‘0123’ |
T |
6 |
6 |
‘000000’ |
時間(HHMMSS) |
‘123010’ |
D |
8 |
8 |
‘00000000’ |
日期(YYYYMMDD) |
‘20080101’ |
I |
4 |
4 |
0 |
整型(整數) |
99 |
F |
8 |
8 |
0 |
浮點數 |
5E+04 |
P |
8 |
1-16 |
0 |
壓縮數 |
12.91 |
X |
1 |
1-65535X |
‘0’ |
十六進制數 |
‘3A’ |
String |
1 |
無限定 |
SPACE |
字符串(長度可巒) |
‘A String’ |
1 |
無限定 |
SPACE |
十六進制字符串 |
‘A3FF’ |
注意:
1.其中C,N,T,D,I,F,P,X為定長類型,即在運行期間長度不能改變.
2.類型T,D,I,F的數據存儲長度是固定的,不能指定參照其生成的數據對象占用的內存字節數.
3.基于類型C,N,P,X生成的數據對象需要在聲明時指定其長度.否則取默認值.
4.如果在聲明一個數據對象時未指明其數據類型,則該數據默認為C類型.
5.類型I的數值範圍:-231到231-1的整數.如果運算時出現非整型結果則進行四舍五入取值.而不是截斷小數.
6.類型P用于聲明小數位固定的壓縮數,其占據內存字節數和數值範圍取決於定義時指定的整個數據的大小和小數點后位數,如果不指定小數位,則將其視為I類型數據.有效大小可以是從1~16字節的任意值,小數點后最多允許14個數字.
7,類型F為浮點數,浮點意思是數字在內存中以字節形式表示,數值範圍:1*10-307到1*10308,因系統將F類型轉換為二進制數,所以可能出現舍入誤差,若用戶要求較高精度且數值較大時,應使用P類型數據.
8.長度可巒的內置類型String, XString是通過引用實際動態的數據對象的固定內存地址來操作.
4.2.3 程序內部數據定義
參照自定義類型或內置類型生成數據的語法格式:
TYPES|DATA …TYPE l_type…
參照程序中已經聲明的數據對象生成新數據語法:
TYPES|DATA …LIKE dobj…
3.結構類型和結構體
參照結構類型生成的數據對象稱為結構體.
TYPES|DATA:BEGIN OF structure.
k1 [TYPE type |LIKE dobj]…,
k2 [TYPE type |LIKE dobj]…,
…
kn [TYPE type |LIKE dobj]…,
END OF structure.
參照生成:
參照結構生成:TYPES|DATA structure TYPE str_type |LIKE str_dobj...
參照數據庫表生成:TYPES|DATA structure TYPE dbtab.
4.表類型和內表
表類型的對象稱為內表.
4.2.4 數據字典中的類型
l 數據元素(Data elements),相當於ABAP中的基本類型和引用類型.
l 結構(Structures),由數據元素字段構成,對應ABAP中的結構類型.
l 表類型(Table types),對應ABAP中的表類型.
數據字典中的數據類型與ABAP中的中數據類型對應關系:
數據字典類型 |
ABAP類型 |
運行長度 |
說明 |
ACCP |
N(6) |
6 |
會計結算周期 |
CHAR |
C(n) |
1~255 |
字符 |
CLNT |
C(3) |
3 |
集團,數據區域代碼 |
CUKY |
C(5) |
5 |
貨幣代碼 |
CURR(n,m) |
P((n+1)/2)DECIMAL m |
1~17 |
貨幣金額 |
DATS |
D(8) |
8 |
日期 |
DEC n,m |
P((n+1)/2)DECIMAL m |
n(1~31)m(1~17) |
數值計算 |