第一個程序:Hello world
CLASS z_helloworld DEFINITION PUBLIC FINAL CREATE PUBLIC . PUBLIC SECTION. *實現接口. INTERFACES IF_OO_ADT_CLASSRUN. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS z_helloworld IMPLEMENTATION. METHOD IF_OO_ADT_CLASSRUN~MAIN. *創建方法,打印Hello world. OUT->WRITE('Hello world'). ENDMETHOD. ENDCLASS.
首先要實現接口if_oo_adt_classrun
編寫接口中的main方法,輸出hello world
ABAP 中規范
命名時使用:Z或者Y開頭
ABAP 不區分大小寫
基本數據類型
數據類型按運行期間長度是否能改變可划分為兩類
不可變數據類型:C、N、T、D、I、F、P、X
長度可變數據類型:String、XString
ABAP中的語言是可以自動轉換的。
變量定義
①、Data 變量名(長度) Type 數據類型 [精度(可選)] [value 默認值(可選)] —— csdn學堂(自己環境不能用)
data var_name(10) type c value 'aa'.
②、DATA <f> TYPE <type> VALUE <val>. ——w3c
③、DATA <f> TYPE <type> LENGTH <len>. ——w3c
C:默認長度為1,從前往后讀取,如:var_c長度為1,值為ab,輸出時只會輸出a
N:默認長度為1,從后往前讀取。可以對其進行運算,運算時不能直接使用 var_t = '2568' + 1,這個格式在ABAP中會被認為時兩個字符相加
DATA var_n(3) type n. var_n = '123'. var_n = var_n + 1. out->write( var_n ).
T:輸出時會按照時間格式輸出22:14:59,可以對其進行運算,運算規則會按照時間分秒60進1,在運算時不能使用如下格式:var_t = ‘232159’ + 1,
data var_t type t. var_t = '221459'. var_t = var_t + 1. out->write( var_t ).
D:輸出會按照格式輸出yyy-mm-dd,利用加減運算,可以得到上個月最后一天的值
data var_d type d. var_d = sy-datum."sy-datum系統服務器時間 var_d = var_d + 1. out->write( var_d ).
I:ABAP會自動識別數據類型,所以I類型只會讀取整數部分,同時會四舍五入
data var_i type i. var_i = 100. *var_i = '100.5'.abap語言中.為結束符號,所以在小數時,利用abap語言數據類型自動轉換的特點,用單引號將字符轉換為小數 out->write( var_i ).
F:浮點數輸出時都是用科學計數法
data var_f type f. var_f = '21.35'."2.1350000000000001E1 out->write( var_f ).
P:在使用時一定是要規定精度,否則只會輸出整數部分,在SAP系統中基本上都是使用p類型,幾乎不使用F類型
data var_p type p decimals 2. var_p = '25.36'."未定義精度時,只會輸出整數部分,同時也會遵守四舍五入 out->write( var_p ).
String:ABAP中拼接字符串不能使用加號
data var_s type string. var_s = 'abc'. concatenate 'sdf' 'sdae' into var_s."拼接字符串 out->write( var_s ).
ABAP中沒有boolean類型,怎么辦,如下為標准型的代碼代替方式
*abap中沒有boolean類型數據,怎么辦 data var_bool type c. var_bool = 'x'. if var_bool = ''. out->write('false'). endif.