2013年7月10日 星期三

Published 上午11:37 by with 0 comment

Data Objects Basis

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 <FormNameCHANGING p1 ... pn.
FORM <FormNameCHANGING p1 ... pn.
  expr1.
ENDFORM.


PERFORM <FormName1CHANGING 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 做為傳遞。





      edit

0 意見:

張貼留言