Data Types:
XSTRING不支持中文。
XSTRING不支持英文小寫字母。
XSTRING支持ABCDEF六個英文大寫字母。
XSTRING遇到不支持的字元立刻跳出,並於其後接'0'(有參雜數字時)。
DATA: <變數>[(<長度>)] TYPE <資料型態> VALUE <預設值>.
DATA: var1(12) TYPE C VALUE 'Hello World!'.
DATA: user(30) TYPE C,
nickname(30) VALUE 'nick',
points TYPE I VALUE '000',
average(5) TYPE P.
若定義變數未使用TYPE來宣告變數類型,該變數會預設為字串類型。
DATA: <變數1> LIKE <變數2>.
DATA: var1(10) TYPE C VALUE 'Hello World',
var2 LIKE var1.
宣告單一變數時,DATA後的冒號可有可無;如同時宣告多變數,其後冒號不可缺。
CLEAR: <變數>.
清除為該資料型態之系統初始值。
CLEAR後冒號可有可無;接多個變數,則必需有冒號。
CONSTANTS: <常數>[(<長度>)] TYPE <資料型態> VALUE <預設值>.
CONSTANTS: player1(20) TYPE C VALUE 'FisrtPlayer',
total TYPE I VALUE '100'.
DATA: BEGIN OF <name>, <field> ..., <field> ..., END OF <name>.
DATA: BEGIN OF EmpInfo,
EmpID(8) TYPE C,
Name(20) TYPE C,
Tel(10) TYPE C,
END OF EmpInfo.
DATA: Emp01 LIKE EmpInfo.
相同Structure可用等號 '=' 來處理資料的相互複製。
只存在於程式運行時,暫時被建立出的對象。
WRITE: ...... [AT] [/][pos][(len|*|**)].
畫面換行後,從第 pos 位置開始輸出 len 個字元。
WRITE: /6(10) str. 同等於 WRITE: /6 str(10).
WRITE: AT /6(10) str. 同等於 WRITE: AT /6 str(10).
MOVE <value> TO <field>.
<field> = <value or expression>.
WRITE <value> TO <field>. "僅限字串
數據賦值。
<field>+<offset>(<length>) = <value>.
取位移量給值。
FIELD-SYMBOLS <fs> [<type> | STRUCTURE <s> DEFAULT <wa>].
ASSIGN <f> TO <fs>.
通過記憶體位址指派給值。
CONCATENATE str1...strn INTO str [SEPARATED BY sign].
字串合併。
SPLIT str AT sign INTO str1...strn.
字串拆分。
SPLIT str AT sign INTO TABLE itab.
字串拆開至內表。
SHIFT str <LEFT|RIGHT|CIRCULAR>.
字串向左、向右或循環移動。
SHIFT str BY n PLACES.
向左移動 n 個位置(預設向左移)。
CONDENSE <c> [NO-GAPS].
移除字串前置空白。
TRANSLATE str TO UPPER|LOWER CASE.
字串轉為大、小寫。
呼叫子程序。
PERFORM <FormName> USING p1 ... pn.
FORM <FormName> USING p1 ... pn.
expr1.
ENDFORM.
PERFORM <FormName> CHANGING p1 ... pn.
FORM <FormName> CHANGING p1 ... pn.
expr1.
ENDFORM.
PERFORM <FormName1> CHANGING p1 ... pn IN PROGRAM <FormName2>.
不同ABAP子程序可以互相呼叫。
CALL TRANSACTION <TCode>.
利用TCode呼叫子程序。
SUBMIT <程序名>.
USING SELECTION-SCREEN <SCR>.
VIA SELECTION-SCREEN.
AND RETURN.
DEFINE <MacroName>.
expr...
ENE-OF-DEFINITION.
巨集功能與子程序類似,參數以 &N 做為傳遞。