REPORT ZSDTEST2.
DATA text(20) value \'simple program!\'.
START-OF-SELECTION.
WRITE text.
REPORT关键字表明该程序是可执行程序,关键字后面接程序名.
DATA语句是数据声明语句,value是对DATA的扩展(同时分配初值).
START-OF-SELECTION是事件声明语句.如果忽略,WRITE 语句默认隶属于该模块.
语句链,相同关键字引导的,可以用逗号连接在一起.
WRITE:text1,text2.
WRITE:text1.
WRITE:text2.
*这是注释一行.
"这是注释后面部分.
内部调用
无返回调用,调了之后不回去了,sumbit leave to transaction
返回调用,嵌入式调用,调了之后返回原程序,submit and return call transaction.
强制离开当前程序 LEAVE PROGRAM.
数据类型的定义:
DATA txt1(15) TYPE C VALUE \'Data Object\'.
数字15表示其储存长度占据15个字节,类型C决定了在内存中以字符序列存储.
自定义新类型的创建:
TYPES t_txt(15) TYPE c. "TYPES关键字声明一个类型,感觉就象定义一个类.
DATA text1 TYPE t_txt value \'Data Object\'. "DATA关键字好象把上面TYPES定义的类实例化出来.
简单类型,内置类型
复杂类型:结构.
TYPES:begin of s_student,
s_no(10) type c,
s_name(10) type c,
end of s_student.
DATA student_instance TYPE s_student.
student_instance-s_no = \'1303\'.
student_instance-s_name = \'贝贝\'.
write:/ student_instance-s_no .
write:/ student_instance-s_name .
扁平结构和纵深结构.
扁平结构指的是所有代表实际操作内容的对象,因此固定长度的基本类型数据均为扁平结构数据.
纵深结构指的是数据对象的内容区域为其他的内存地址区域.
感觉扁平和纵身就是值类型和引用类型的区别.
内置基本类型:
C 文本字符串 \'name\'
N 数字文本 \'0123\' "比如工号,帐号等,只能输入数字的变量.不能用于计算.
T 时间 \'123010\'
D 日期 \'200808018\'
I 整型 \'99
F 浮点数 \'5E+04
string 长度可变字符串 \'a string\'
Xstring 长度可变十六进制字符串 \'A3FF\'
ABAP不存在bool类型.
data d1 type d.
d1 = \'20080817\'.
write / d1.
d1 = d1 + 1.
write / d1.
日期计算,相当与d1.adddays(1);
Data text3 type c.
text3 = \'x1\'.
if text3 = \'x1\'.
write /\'true\'.
else.
write /\'false\'.
endif.
注意每句后面都要加.
F是浮点数表示数字在内存中以字节形式表示.包括3部分,符号,尾数,指数.