数据类型与数据对象 (★★★★)
#abap #abap-syntax #abap-data
概览表
| 类别 |
示例 |
要点 |
| 标准类型 |
I, F, P, C, N, D, T, STRING |
SAP 预定义 |
| 局部类型 |
使用 TYPES 定义 |
仅在当前程序中有效 |
| 全局类型 |
ABAP 数据字典类型 |
系统范围内可用 |
类型分类
完整的 ABAP 标准类型(固定长度)
| 类型 |
描述 |
长度 |
| D |
日期 (YYYYMMDD) |
8 |
| T |
时间 (HHMMSS) |
6 |
| I |
整数 |
4 |
| F |
浮点数 |
8 |
| STRING |
动态字符串 |
可变 |
| XSTRING |
动态十六进制字符串 |
可变 |
| DECFLOAT16 |
十进制浮点数 |
8 |
| DECFLOAT34 |
十进制浮点数 |
16 |
不完整的 ABAP 标准类型(必须指定长度)
| 类型 |
描述 |
长度说明 |
| C |
字符串 |
LENGTH n |
| N |
数字文本字符串 |
LENGTH n |
| X |
十六进制字节序列 |
LENGTH n |
| P |
压缩数字 |
LENGTH n + DECIMALS m |
N 是一种字符串类型,只允许包含数字字符。它不能用于算术运算。数值类型包括:I, F, P, DECFLOAT16, DECFLOAT34。
定义数据对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| " 变量 DATA gv_name TYPE string. DATA gv_count TYPE i. DATA gv_price TYPE p LENGTH 8 DECIMALS 2.
" 带初始值 DATA gv_flag TYPE c LENGTH 1 VALUE 'X'.
" 常量 CONSTANTS gc_pi TYPE p LENGTH 8 DECIMALS 5 VALUE '3.14159'.
" 参考已有对象 DATA gv_copy LIKE gv_name.
" 字面量(固定数据对象) " 文本字面量:'Hello World' " 数字字面量:42
|
类型层次结构
1 2 3 4 5 6 7 8 9
| ABAP 标准类型(预定义) │ ├── 局部类型(TYPES 语句,仅限程序内) │ └── 可基于标准类型或全局类型构建 │ └── 全局类型(ABAP 数据字典) ├── 数据元素(语义类型) ├── 结构 └── 表类型
|
局部类型定义
1 2
| TYPES: gty_price TYPE p LENGTH 8 DECIMALS 2, gty_name TYPE c LENGTH 30.
|
全局类型使用
1 2
| DATA gv_carrid TYPE s_carrid. " 数据字典中的数据元素 DATA gs_flight TYPE bc400_s_flight. " 数据字典中的结构
|
命名规范
| 前缀 |
含义 |
g |
全局(程序级)作用域 |
l |
局部作用域 |
v |
简单变量(值) |
ty |
类型 |
c |
常量 |
p |
参数(选择屏幕) |
考试/测试模式
| 场景/关键词 |
答案 |
| “哪些类型是数值类型?” |
I, F, P, DECFLOAT16, DECFLOAT34(不包括 N!) |
| “不完整的类型有哪些?” |
C, N, X, P(必须指定长度) |
| “定义局部类型的关键字?” |
TYPES |
| “如何定义常量?” |
CONSTANTS |
相关笔记