ABAP基本语法
ABAP/4:Advanced Business Application Programming
1.表声明
Tables: 表名[,表名]. 声明多个表时可用逗号分隔
当你声明了一个数据表的同时,系统也同时自动生成了一个和数据表同名的结构,结构的变量集等于数据表里面的字段。
2.定义变量
Data: v1[(l)] [type t] [decimals d] [value 'xxx'].
v1 是变量名。
(l) 是变量的长度。
t 是数据类型。
d 是小数位。
'xxx' 是缺省值。
如:data num(10) type p decimals 3 value '1.12'.
数据类型 | 描述 | 缺省长度 | 最大长度 | 可用字符 | 缺省值 |
C | 字符型 | 1 | 65536 | 任意字符 | 空 |
N | 数字文本 | 1 | 65536 | 0 ~ 9 | 0 |
D | 日期 | 8(固定) | - | 0 ~ 9 | 00000000 |
T | 时间 | 8(固定) | - | 0 ~ 9 | 000000 |
X | 十六进制数 | 1 | 65536 | 0 ~ 9,A ~ F | |
数据类型 | 描述 | 缺省长度 | 最大长度 | 最大小数位 | 缺省值 |
I | 整型 | 4(固定) | - | 0 | 0 |
P | 十进制数 | 8 | 16 | 14 | 0 |
F | 浮点型 | 8 | 8 | 15 | 0.1 |
3.常用算术操作符:
算术符 | 描述 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
** | 取幂 |
DIV | 整除 |
MOD | 取模 |
4.常用比较操作:
比较操作 | 描述 |
v1 = v2 | 等于 |
v1 <> v2 | 不等于 |
v1 > v2 | 大于 |
v1 < v2 | 小于 |
v1 >= v2 | 大于等于 | wa字符串是什么
v1 <= v2 | 小于等于 |
v1 between v2 and v3 | 在……之间 |
not v1 between v2 and v3 | 不在……之间 |
5.赋值语句
total = 10.
mess = 'this is a test! '.
如果字符串中包括 ' 号,用 '' 进行付值,如:mess = 'this is a ''test''! '.
6.IF语句
if i = 2.
write 'i 等于 2'.
[else.
write 'i 不等于 2'. ]
endif.
7.CASE语句
case i. 类似于VFP中的DO CASE语句
when 1. write 'i = 1'.
when 2. write 'i = 2'.
[when others. write 'i <> 1 and i <> 2'.]
endcase.
8.DO语句
do [n] times. 类似于VFP中的FOR语句
[执行代码]
enddo.
9.WHILE语句
while [条件]. 类似于VFP中的DO WHILE语句
[执行语句]
endwhile.
10.从数据库中取数据集
select * from 数据表 [where 条件].
[操作语句]
endselect.
如:select * from t000 [where mandt < 200].
write: / t000-mandt,t000-mtext.
endselect.
11.取出单行记录
select single * from 数据表 [where 条件]. 注:仅取出符合条件的第一行记录
select single 字段 from 数据表 into 变量 [where 条件].
12.WRITE语句
write: [/][定位][数据1][,[定位] [数据2]]……
[/] 为插入一行空行,注意单独write一个[/]和在其它数据之前加 [/] 的效果是不一样的,单独的write[/]在插入空行后光标定位在空行的下面,在其它数据前加[/]在插入空行后光标定位于所插的空行。
13.ULINE语句
uline. 在当前行下一行显示一直线。
uline n. 在当前行第n列显示一直线。
uline /n. 在当前行下一行第n列显示一直线。
uline 和 write ‘|’ 一起使用可实现画表格的功能。
14.SKIP语句
SKIP. 光标跳到下一行。
SKIP n. 光标跑到下n行。
SKIP to line n. 光标跳到第n行。
15.定义常量
作用:定义一些不会改变的数据,如一年的月数、圆围率等。
语法:constants c1[(l)] [type t] [decimals d] value 'xxx'.
或者:constants c1 like cv value 'xxx'.
例如:constants pi type p value ‘3.14’.
16.定义结构
(1)基本结构
data: begin of 结构名,
f1[(l)] [type t] [decimals d] [value 'xxx'],
f2[(l)] [type t] [decimals d] [value 'xxx'],
……
end of 结构名.
(2)结构中包含另一结构
data: begin of 结构名,
f1[(l)] [type t] [decimals d] [value 'xxx'],
f2[(l)] [type t] [decimals d] [value 'xxx'],
f3 like 另一结构名,
……
end of 结构名.
(3)定义结构的另一种写法:
data begin of 结构名.
data f1[(l)] [type t] [decimals d] [value 'xxx'].
data f2[(l)] [type t] [decimals d] [value 'xxx'].
[include structure 另一个结构.]
data end of 结构名. 注:此种写法data后可以加冒号也可以不加
例如:
data:begin of person,
educ(10) type c,
train(10) type c,
end of person.
data:begin of employee,
code(10) type c,
name(10) type c,
department(20) type c,
address like person, "person为另一个结构名
……
end of employee.
employee-code = '1001'.
employee-name = '张三'.
employee-department = 'IT部'.
employee-person-educ = '本科'
employee-person-train = '工程师'
write: / employee-code,employee-name,employee-department,employee-person-educ.
write: / employee.
17.TYPES语句
将结构定义成数据类型,这样在程序中可以象定义一个变量那样简单地定义一个结构。语法同定义结构,只是把data换成types即可。
如:
types: begin of employee,
code(10) type c,
name(10) type c,
end of employee.
types: address(50) type c.
data: emp type employee. “使用TYPES定义的结构类型
data: myadd type address. “使用TYPES定义的变量类型
emp-code = '1001'.
emp-name = '张三'.
myadd = 'this is a address'.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论