abap语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ABAP
1 了解ABAP
2 ABAP语法概述
3 ABAP语言的数据类型
4 ABAP的语法格式
5 结构类型和结构体
6 内表
7 数据库操作
ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。它适合生成报表,支持对数据库的操作,如:Sqlserver,Oracle,DB2等主流数据库系统。
语法概述
ABAP基本语法特点
由各自独立的语句构成。
每个语句的第一个单词必须是ABAP关键字。
单词之间至少要用一个空格分隔。
每个语句结束必须要用句号。
一个语句可以跨多行,只要不遇到句号,就认为是一个延续的语句。
可以把多个语句放在一行。
ABAP不区分大小写,关键字和用户操作数都一样,为了便于阅读,一般把关键字大写,而操作数小写。
如果连续多行的第一个关键字相同,可以使用链语句方式减少输入 data: id type I.
data: name type c.
可写为:
data: id type I ,
name type c.
注释:
注释行由第一列的星号(*)开头,并且必须写在第一列,前面不能有空格。
在行末的注释用双引号(”)作为前导。
data: id type i. “ 定义一个对象num数据类型为I
ABAP的命名规则
使用至少1个但不超过8个字符。
不要使用下列字符:
句点(.);
逗号(,);
空格( );
括号‘(’‘)’;
单引号(‘);
双引号(“);
等号(=);
星号(*);
百分号(%);
ABAP数据类型
(八种基本数据类型)
D :日期类型,格式为YYYYMMDD,长度为8
T :时间类型,格式为HHMMSS,长度为6
I :整数类型,默认长度为4,初始值为0
F :浮点类型,默认长度为8,初始值为0,常用于计算
C :字符串类型,定义变量时指定字符个数
N :数字字符串类型,定义变量时指定数值字符个数
X :字节序列类型,定义变量时指定字节数
P(压缩号) :允许的长度为1 到16 个字节,系统会指定默认值8 个字节(也就是15 位数字)和0 个小数位常用:大小,长度,重量,货币等单
位的场合.
定义方法:
[f1] type I.
[f2] type p decimals [num].
[f3] type f.
如:
DATA number(10) type p value '9.876543210' decimals 9.
输出:9.876543210
如果decimals 8 输出: 9.87654321
ABAP运算
数值运算(在ABAP中数学表达式可以任意多层嵌套)
算术运算
• 二元操作符包括:
–+ :加法
– - :减法
–* :乘法
–/ :除法
–** :乘方
–DIV :整除忽略余数
–MOD :取模
• 需要注意,圆括号和操作符都是关键字,需要跟操作数之间至少
用一个空格分开。 (1+2)*3 应该写成( 1 + 2 ) * 3
注:ABAP中不能使用”&”或”+”做连接(详参见computer语句的关键字文档
数学函数
时间日期运算
逻辑表达式
通用逻辑运算符
EQ( = ) NE( < > ) LT( < ) LE( <= ) GT( > ) GE( >= )
IS操作符
IS INITIAL 检查字段是否为初始值
IS ASSIGNED 检查字段是否被分配
BETWEEN操作符
组合逻辑表达式
AND 与 OR 或 NOT 非
ABAP程序的关健字
关健字是语句的第一个词,它决定整个语句的意义,有四种不同类型的关健字1.说明性关健字
TYPES,DATA,TABLES,这些关健字说明定义数据类型或者说明程序可以访问的数据对象
2.事件关健字
AT SELECTION SCREEN,
START-OF-SELECTION
End-of-selection
这些关健字在ABAP中定义处理块,处理块是当特定事件发生时进行处理的语句组
3.控制关健字
IF ,WHILE,CASE
4.操作关健字
WRITE,MOVE,ADD 用于处理数据
语法格式
在声明语句中定义对象的数据类型有两种
直接的:
可直接将数据类型分配给已声明的数据对象
DATA number type I.
间接的:
将另一个数据对象的数据类型分配给当前声明的对象,间接引用
DATA num like number.
Constants语句:用于创建常量
Tables语句:用于创建表工作区
Types语句:
1.用于创建用户自定义的数据类型
2.结构化数据类型
3.一个内表形式的数据类型
DATA语句:
1.用于创建一个简单类型的变量
2.定义一个结构化的数据对象