ABAP4 基础知识2 语法 内表 数据库表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S ource field
Type
L e n g th
V alue
Target field
Type
L e n g th
V alue
C
1
A
C
4
A____
C
4
ABCD
C
2
AB
C
7
-47110_
P
4
47110-
P
3
12345-
C
7
_12345-
R
SAP AG
ABAP/4基本语法--简单的变量定义示例
DATA : W_CHAR
ABAP的句法规则

ABAP程序是由若干单独的语句组成的

每个语句用句点结束

语句的第一个单词一般为关键字

语句中单词之间至少要用一个空格隔开

语句可以缩进

一句语句可由多行组成

在一行中可以有多个语句
ABAP/4基本语法
• 数据声明 • 控制和计算 • 数据库访问
ABAP/4基本语法--数据
• 基本数据声明 • 结构 • 内部表
内部表是ABAP/4中最核心的处理对象 内部表是用来处理(增加、查询、修改、删除)一系列具有相同结构的数据的 内部表涵盖了在其它编程语言中数组的功能 内部表仅在ABAP/4程序运行时在内存空间里存在 内部表是自动化的对象,它自动完成相关的内存管理
ABAP/4数据对象--内表的分类
• 内表可以分為序表和无序表(hashtable),有序表又分为标准表和排序表。这三种表在使用中各有区别, 一般我们未特别指明的情况下都是用的标准表。 • 标准表是以Index来进行排列的,我们可以使用Index和Key来访问它。排序表是以Key来进行排列的,同 样的,我们也可以使用Index和Key来进行访问。 • 无序表是(hashtable)不按照任何规则进行排列的,对它的访问只能按照Key来进行。
W_TIME
TYPE T VALUE ‘123212’, ”时间
W_NUMBER
TYPE N,
“1位数字变量W_MU源自NUM(10) TYPE N,“10位数字变量
W_QUAN
TYPE P,
“缺省有3位小数的变量
W_CURR
TYPE P DECIMAL 2. “固定2位小数的变量
DATA : W_CHAR_REF LIKE W_CHAR, W_MATNR LIKE MARA-MATNR.
例:
TYPES: BEGIN OF struct,
carrid
LIKE spfli-carrid,
connid
LIKE spfli-connid,
cityfrom
LIKE spfli-cityfrom,
ABAP/4基本语法--基本数据声明
ABAP/4基本语法--预定义类型的值域
数据类型 C N D T X I P F
初始长度 1 1 8 6 1 4 8 8
有效长度 1-65535 1-65535
8 6 1-65535 4 1-16 8
初始值 ‘...’ ‘...’
‘00000000’ ‘000000’ X’…’ 0 0 0
“和上面定义的W_CHAR一样 “和标准表MARA中字段MATNR一样
ABAP/4数据对象--结构
结构声明同样有两种方法: DATA : BEGIN OF <结构名>,
<项目1>, <项目2>, …… <项目n>, END OF <结构名>.
DATA : <结构名> TYPE|LIKE <结构|表>.
“特殊的用法,在自己的结构中包含别的 结构 DATA : BEGIN OF STR_STUDENG2.
INCLUDE STR_STUDENT. DATA : CLASS(2) TYPE N,
DIRECTOR(40) TYPE C. DATA : END OF STR_STUDENT2.
“LIKE或TYPE
DATA : T_MARA LIKE MARA OCCURS 0.
内部表的声明2
语法 DATA: <itab>
TYPE <itabkind> OF <linetype> [WITH {UNIQUE | NON-UNIQUE} KEY <keydef>]
[INITIAL SIZE <n>] [WITH HEADER LINE].
内部表的声明1
•内部表的声明和结构的声明很相似,差别在于声明中有表明内部表身份的关键字OCCURS 例: DATA : BEGIN OFT_STUDENT OCCURS 0, NAME(40) TYPE C, BIRTH_DATE TYPE D, BIRTH_TIME TYPE T, HEIGHT TYPE P, WEIGHT TYPE I, END OF T_STUDENT.
DATA : STR_STUDENT_REF LIKE STR_STUDENT,
STR_MARA LIKE MARA.
ABAP/4数据对象--内部表
• 概念 内表是一种临时的数据表,它并不建立在Database Server上,而是建立在本地内存空间中,所以它不占 用系统资源,而且存取速度快。正因为这些特性,使得内表在ABAP编程中显得相当的重要。 • 特征
ABAP/4数据对象--结构示例
“直接声明 DATA : BEGIN OF STR_STUDENT,
NAME(40) TYPE C, BIRTH_DATE TYPE D, BIRTH_TIME TYPE T, HEIGHT TYPE P, WEIGHT TYPE I, END OF STR_STUDENT.
TYPE C,
“1位长度的字符变量
W_MULCHAR(20) TYPE C,
“20位长度的字符变量
W_INTERGER TYPE I VALUE 10, “整型变量,并赋上了初值10
W_FLOAT
TYPE F VALIE 1.2E-10,
“浮点数
W_DATE
TYPE D VALUE ‘20030312’, “日期
值域 - - - - -
-231-1~231-1 根据长度和小数点位置而定
10-307~10308
ABAP/4基本语法--基本类型的转换规则
C onversion R ules for E lem entary Types
C onversion rules exist for all com binations of elem entary types (except for T to D and vice versa)
相关文档
最新文档