ABAP语法概述
每个语句的第一个单词必须是ABAP关键字
单词之间至少要用一个空格分隔
每个语句结束必须要用句号
ABAP不区分大小写
一般关键字大写 操作数小写
连续多行的第一个关键字相同,可使用链语句方式
减少输入
data: id type I. " 定义一个对象 num 数据类型为 I
data: name type C.
=>
data: id type I,
name type C.
命名规则:使用至少1个但不超过8个字符
ABAP语言的数据类型
(八种基本数据类型)D T I F C N X P
ABAP的语法格式
在声明语句中定义对象的数据类型
有直接的
和间接的
两种
Constants statement:用于创建常量
Tables statement:用于创建表工作区
Types statement(typedef):用于创建用户自定义的数据类型、结构化数据类型、一个内表
形式的数据类型
DATA statement:用于创建一个简单类型的变量
、定义一个结构化的数据对象
、定义内表
打印输出格式(WRITE)
WRITE 'First line.'
WRITE 'Still first line.'
WRITE / 'Second line.'
WRITE /13 'Third line.'
结构类型的结构体
分支结构(IF,CASE)
IF <>.
<statement block>
ELSEIF <>.
<statement block>
ELSE.
<statement block>
ENDIF
使用CASE的条件分支
CASE <>.
WHEN <>.
<statement block>
WHEN OTHERS.
<steatement block>
ENDCASE.
循环结构(DO,WHILE)
使用DO的无条件循环
DO
[<n> TIMES]
[VARYING <f> FROM <F1> NEXT <F2>].
<>
ENDDO.
使用WHILE的条件循环
WHILE <> [VARY <f> FROM <F1> NEXT <F2>].
<statement block>
ENDWHILE.
循环终止(CONTINUE, CHECK, EXIT)
CONTINUE:无条件终止循环
CHECK :有条件终止循环
EXIT:完全终止循环
内表(可变长度的数据对象)
使用内表是一个大量结构化数据的简单办法
TYPES|DATA Itab {TYPE | LIKE} tabkind OF {line type | line obj}
[WITH [unique | non-unique] key]
[INITIAL SIZE n].
内表类型(3种)
标准表 STANDARD TABLE
排序表 SORTED TABLE => 按表关键字升序后存储
哈希表 HASHED TABLE => 没有逻辑索引、寻址操作只通过关键字
内表操作:APPEND, INSERT, READ, MODIFY, DELETE.
数据库操作
OPEN SQL or NATIVE SQL
OPEN SQL只能使用DML(数据操作):SELECT, INSERT, UPDATE, DELETE, MODIFY
NOTIVE SQL 可以使用 DML and DDL(数据定义) and DCL(数据控制).
OPEN SQL 是操作SAP数据库的语言
,NOTIVE SQL 是SAP使用的数据库本身的SQL语言
ABAP(Advanced business application program) 高级企业应用编程语言
封装性是面向对象的基础
ABAP中数学表达式可以任意多层嵌套
原括号和操作符都是关键字,需要跟操作数之间至少用一个空格分开
(1+2)*3 => ( 1 + 2 ) * 3
通用逻辑运算符
EQ NE LT LE GT GE
ABAP程序的关键字(语句的第一个词,它决定整个语句的意义)
1、说明性关键字:说明程序可以访问的数据对象
2、事件关键字:定义处理块,处理块是当特定事件
发生时进行处理的语句组
3、控制关键字 4、操作关键字
CLEAR语句根据类型清除数据对象,恢复成默认值。
AT SELECTION SCREEN => FORM => 局部变量 => 权限判断
START-OF-SELECTION => 报表程序 => 第二屏幕 => 选择屏幕
END-of-selection => 结束处理 => 结束事件 => 逻辑数据库
结构类型由多个数据元素作为组件构成
参照结构类型生成的数据对象称为结构体
TYPES|DATA:BEGIN OF structure,
k1 [TYPE type | LIKE dobj] ...,
k2 [TYPE type | LIKE dobj] ...,
...
kn [TYPE type | LIKE dobj] ...,
END OF structure.
组件通过组件运算符" - "进行访问