ABAP基本语法Word下载.docx
《ABAP基本语法Word下载.docx》由会员分享,可在线阅读,更多相关《ABAP基本语法Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
可用字符
缺省值
C
字符型
1
65536
任意字符
空
N
数字文本
0~9
D
日期
8(固定)
-
T
时间
000000
X
十六进制数
0~9,A~F
最大小数位
I
整型
4(固定)
P
十进制数
8
16
14
F
浮点型
15
0.1
3.常用算术操作符:
算术符
+
加法
减法
*
乘法
/
除法
**
取幂
DIV
整除
MOD
取模
4.常用比较操作:
比较操作
v1=v2
等于
v1<
>
v2
不等于
v1>
大于
小于
=v2
大于等于
小于等于
v1betweenv2andv3
在……之间
notv1betweenv2andv3
不在……之间
5.赋值语句
total=10.
mess='
thisisatest!
如果字符串中包括'
号,用'
进行付值,如:
thisisa'
test'
!
'
6.IF语句
ifi=2.
write'
i等于2'
[else.
write'
i不等于2'
.]
endif.
7.CASE语句
casei.类似于VFP中的DOCASE语句
when1.write'
i=1'
when2.write'
i=2'
[whenothers.write'
i<
1andi<
2'
endcase.
8.DO语句
do[n]times.类似于VFP中的FOR语句
[执行代码]
enddo.
9.WHILE语句
while[条件].类似于VFP中的DOWHILE语句
[执行语句]
endwhile.
10.从数据库中取数据集
select*from数据表[where条件].
[操作语句]
endselect.
select*fromt000[wheremandt<
200].
write:
/t000-mandt,t000-mtext.
11.取出单行记录
selectsingle*from数据表[where条件].注:
仅取出符合条件的第一行记录
selectsingle字段from数据表into变量[where条件].
12.WRITE语句
[/][定位][数据1][,[定位][数据2]]……
[/]为插入一行空行,注意单独write一个[/]和在其它数据之前加[/]的效果是不一样的,单独的write[/]在插入空行后光标定位在空行的下面,在其它数据前加[/]在插入空行后光标定位于所插的空行。
13.ULINE语句
uline.在当前行下一行显示一直线。
ulinen.在当前行第n列显示一直线。
uline/n.在当前行下一行第n列显示一直线。
uline和write‘|’一起使用可实现画表格的功能。
14.SKIP语句
SKIP.光标跳到下一行。
SKIPn.光标跑到下n行。
SKIPtolinen.光标跳到第n行。
15.定义常量
作用:
定义一些不会改变的数据,如一年的月数、圆围率等。
语法:
constantsc1[(l)][typet][decimalsd]value'
.
或者:
constantsc1likecvvalue'
例如:
constantspitypepvalue‘3.14’.
16.定义结构
(1)基本结构
data:
beginof结构名,
f1[(l)][typet][decimalsd][value'
],
f2[(l)][typet][decimalsd][value'
……
endof结构名.
(2)结构中包含另一结构
f3like另一结构名,
(3)定义结构的另一种写法:
databeginof结构名.
dataf1[(l)][typet][decimalsd][value'
dataf2[(l)][typet][decimalsd][value'
[includestructure另一个结构.]
dataendof结构名.注:
此种写法data后可以加冒号也可以不加
beginofperson,
educ(10)typec,
train(10)typec,
endofperson.
beginofemployee,
code(10)typec,
name(10)typec,
department(20)typec,
addresslikeperson,"
person为另一个结构名
endofemployee.
employee-code='
1001'
employee-name='
张三'
employee-department='
IT部'
employee-person-educ='
本科'
employee-person-train='
工程师'
/employee-code,employee-name,employee-department,employee-person-educ.
/employee.
17.TYPES语句
将结构定义成数据类型,这样在程序中可以象定义一个变量那样简单地定义一个结构。
语法同定义结构,只是把data换成types即可。
types:
code(10)typec,
address(50)typec.
emptypeemployee.“使用TYPES定义的结构类型
myaddtypeaddress.“使用TYPES定义的变量类型
emp-code='
emp-name='
myadd='
thisisaaddress'
/emp.
/myadd.
18.LIKE语句
tables:
t000.
p(20)typec.
p1liket000."
p1拥有了和t000相同的结构
p2liket000-mandt."
p2的定义等同于t000中mandt这个字段
"
的定义
p3likep."
p3的定义和p相同,为20长度的字符串
t111liket000occurs0withheaderline."
定义一个和t000一样的内表
19.输入参数
要让一个变量成为可输入的参数,只需在定义变量时把data改为parameters即可。
parametersp1likev1...
...[default'
][obligatory][lowercase]
[ascheckbox][radiobuttongroupg].
使用DEFAULT后缀为参数指定缺省值。
使用obligatory后缀来标识参数为必输项。
输入参数默认会把输入的字符转为大写,如果要去掉该转换,使用lowercase后缀。
使用ascheckbox后缀使参数以复选框的形式出现。
使用复选框的参数一定为长度为1的字符串,其内容只能为'
X'
或'
,如:
parameters:
p1ascheckbox.
p2ascheckboxdefault'
使用radiobuttongroupg后缀使输入参数以单选框的形式出现。
使用单选框的参数一定为长度为1的字符串,其内容只能为'
p1radiobuttongroup1.
p2radiobuttongroup1.
p3radiobuttongroup2.
p4radiobuttongroup2default'
20.分块语句
selection-screenbeginofblock块名withframetitle[text-(titlename)].
v1(10)typec.
aaliket000-mandt."
将出现圆钮选择项,也可以自定义圆钮选择项
v2(10)typecmatchcodeobjectzhlp.
这是自定义的圆钮选择项,在SE38中创建搜索帮助,zhlp为创建的搜索帮助名称
selection-screenendofblock块名.
selection-screenuline.“在输入屏幕上画线
21.定义内表
内表的定义和结构很相似,所差别只是内表需要指定记录的条数。
beginof内表名occursn,
...
endof内表名.
n为该内表的记录条数,不过当内表的记录数超过了该数值后,内表会自动的填大这个数目,定义该数值只是为了系统的效率考虑,如果n为0,则系统会在一开始就分配8KB的空间。
内表同时也可以以已存在的数据表或结构进行定义,格式为:
da