第一个程序: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.