【ABAP4】基本语法1
ABAP基本语法
- ABAP句法规则
- 数据
- 基本数据声明
- 声明变量的方式
- 常量声明
- 数据对象——结构
- 数据对象——内部表
- 概念
- 特点
- 分类
- 内部表的声明
- 内部表的赋值
- 数据库访问
ABAP句法规则
ABAP由若干单独语句组成,每个语句以句点结束,第一个单词一般为关键字。一句语句可由多行组成,一行中可以有多个语句。
数据
基本数据声明
变量遵循“先声明后使用”原则。
声明变量的方式
DATA:<变量名称> TYPE [ABAP标准类型|用户自定义类型].
1、 基本数据类型:
数据类型 | 初始长度 | 有效长度 | 初始值 | 值域 |
---|---|---|---|---|
C | 1 | 1-65535 | - | |
N | 1 | 1-65535 | - | |
D | 8 | 8 | ‘00000000’ | - |
T | 6 | 6 | ‘000000’ | - |
X | 1 | 1-65535 | - | |
I | 4 | 4 | 0 | |
P | 8 | 1-16 | 0 | 根据长度和小数点位置决定 |
F | 8 | 8 | 0 |
C:字符变量,初始长度为1,有效长度1-65535
N:数字,初始长度1,有效长度1-65535
D:日期,初始长度8
T:时间
P:带小数位
I:整型
F:浮点型。使用科学计数法
DATA: W_CHAR TYPE C,W_MULCHAR(20) TYPE C,W_INTERGER TYPE I VALUE 6.
DATA:<变量名称> LIKE 数据对象.
LIKE语句是变量继承数据对象的类型
常量声明
关键字为:CONSTANTS。相同业务定义为常量,赋初值,在使用的过程中不可以修改。
types:ABAP_bool TYPE C LENGTH 1.
CONSTANTS:ABAP_true TYPE abap_bool value 'X'ABAP_false TYPE abap_bool value ' ',ABAP_undefined TYPE abap_bool value '-',ABAP_on TYPE abap_bool value 'X',ABAP_off TYPE abap_bool value ' '.
数据对象——结构
1、定义结构
定义结构类似于定义表,结构里的字段相当于表中的字段。结构的声明有两种方法:
- 使用程序预定义的结构类型
TYPE:BEGIN OF <结构类型><项目1> TYPE <类型1>,<项目2> TYPE <类型2>,...END OF <结构型>.
DATA:<结构型> TYPE <结构型>.
- 使用数据字典中预定义的表或者构造
DATA:<结构名> TYPE <数据字典-表(结构)>.
2、结构的赋值
DATA(struct_test) = VALUE TY_COLLMNS2(COLN1=1 COLN2-COLS1=1 COLN2-COLS2=2).DATA(struct_test1) = VALUE TY_COLLMNS2(COLN1=1 COLN2=VALUE #(COLS1=1 COLS2=2)).
数据对象——内部表
概念
内表是一种临时表,建立在本地的内存空间中,不占用系统资源,并且存取速度快。
特点
内部表是ABAP/4中最核心的处理对象
内部表用来处理增删改查一系列具有相同结构的数据
内部表涵盖了在其他编程语言中的数组的功能
内部表只存在于ABAP/4程序运行的内存空间
内部表能够自动完成相关的内存管理。
分类
有序表和无序表。有序表分为标准表和排序表,一般是用的标准表。
1、标准表以Index进行排序,可使用Index和key访问。排序表以Key进行排序,也可使用Index和key访问。
2、无序表不按照任何规则进行排列,只能按照Key来进行访问。
内部表的声明
TYPES: BEGIN OF STRUCT,ID TYPE <数据库表中的字段>,...END OF STRUCT.
DATA: <表名> TYPE STANDARD TABLE OF STRUCT.
内部表的赋值
ITAB = VALUE #(直接赋值).
数据库访问
有两种访问的方式,一是Open SQL,它是SAP ABAP/4访问数据库的语法的集合;二是Native SQL,直接执行底层数据库。
TIPS:
ABAP/4语法还挺多的,就不放在一起了,下一篇博客见~