数据字典SE11
-
·数据库表Database Table
- 透明表(TransparentTable) :在数据库中有对应的物理表
- 存储表(Pooled Table)
- 簇表(Cluster Table)
-
·视图View
- 数据库视图Database View
- 项目视图Projection View
- 维护视图Maintenance View
- 帮助视图Help View
-
·数据类型Data Type
- 数据元素Data Element:描述一个字段的用途
- 结构Structure:为若千个字段组合,在数据库不存在数据记录
- 表类型Table Type
-
·类型池Type Group
-
域Domain:描述一个字段类型和长度等信息
-
搜索帮助search Help
-
·锁对象Lock object
-
语法:
-
Tables:表名1,表名2 声明会用到的表名
-
Data :定义变量
```bash Data name1 Type datun 定义数据变量 Data name2 Like 表名-字段名称 定义一个参数,类型参照某表中的某字段 Data name3 Like Table OF 表名 WITH HEADER LINE 定义一个表头结构,类型参照某表中的表头 ```
-
INCLUDE 程序名称 引用子程序
-
type:定义数据类型
-
write :输出
-
** / :换行**
-
ABAP使用句号.表示一个语句的结束
-
代码的注释分为两种:“*”为行注释;"为右注释
-
字符串使用单引号显示
-
命令要使用空格分开-等号前后要加空格;如:gv_val = ‘Enjoy BP’
-
数字运算:
加:a+b(ADD a TO b) 减:a-b (SUBTRACT a FROM b) 乘:a*b (MULTIPLY a BY b) 除:a/b (DIVIDE a BY b) 取整(Round):a DIV b 取整:TRUNC(1.3)=1;TRUNC(1.7)=1 取余:a MOD b 取小数:FRAC(2.9)=0.9 乘幂: a ** b 绝对值:ABS(-11)=100 符号:SIGN(-2)=-1;SIGN(0)=0;SIGN(2)=+ 不小于该值的最小整数:CEIL(1.3)=2,CEIL(1.7)=2 不大于该值的最大整数:floor(1.3)=1,floor(1.7) =1 大于:a>b (a GT b) 大于等于:a>=b (a GE b ) 等于:a=b (a EQ b) 不等于:a<>b (a NE b) 小于:a>b (a LT b) 小于等于:a<=b (a LE b)
-
字符运算(比较字符串)
- 比较字符串(类型C、类型N)仅包含:CO 不仅包含:CN 包含任何:CA 不包含任何:NA 包含字符串:CS 包含模式:CP 不包含模式:NP
-
string相关命令
- 查找:find(find a in b .if sy-subrc = 0 找到了)
- 替换:replace(replace ‘abap’ in b with c )
- 大小写字母转换:translate (translate var1 to lower case/upper case)
- 去掉字符串前n个位置的字符:shift
- str1 = ‘abcd’.str2=str1 . shift str2
- str1 = ‘abcd’.str2=str1. shift str2 by 2 places
- str1=’ abcd '.str2=str1. shift str2 left deleting leading space 去掉左边的空格
- str1 = ’ abcd '.str2=str1. shift str2 right deleting trailing ’ ',去掉右边的空格
- 去空格并向左对齐,与NO-GAPS一起使用去掉空格:condense(condense var1 NO-GAPS)
- 填充空格,但不覆盖字符:overlay (overlay var1 with var2)
- 连接字符串:concatenate(concatenate var1 var2 into var1)
- 分割:split (split var1 at ‘k’ into var2 var3)
- **MOVE 同等号= 相同功能,用于赋值,如:move var1 to var2 **
- MOVE-CORRESPONDING 两个不同结构得结构体或内表之间相互赋值,自动查找相同名字的变量进行赋值
- Strlen 返回字符串长度
-
定义结构:
data :begin of st1, f1(10), f2(15), end of st1. data :begin of st2, f3(10), f2(15), end of st2. 给结构里面的赋值: str1-f1 = 'abap1'. str1-f2 = 'abap2'. 把str1的值赋值给str2 MOVE-CORRESPONDING str1 To str2
-
ABAP数据类型
- data r_txt(15) TYPE c --定义一个长度15的字符串参数r_txt
- TYPES txt type c Length 10–定义一个长度10的数据类型txt
- data de_txt TYPE txt–定义一个txt类型的字符串参数de_txt
- data var1 like de_txt -定义一个和de_txt一样类型的参数var1
- data var1 like de_txt value 100 -定义一个和de_txt一样类型的参数var1 ,且默认值为100
- data de_txt TYPE c length 11 -定义一个长度11的字符串参数r_txt
- data var4 type p declimals 2 -定义小数位2位的小数
- data var4 type p -定义一个没有小数位的整数(小数位四舍五入)
- 使用:var4 = 320 / 100
- dt = sy-datum–取系统当前时间
-
初始长度 | 可变长度 | 初始值 | 意义 | ||
---|---|---|---|---|---|
I | 4 | 4 | 0 | 整型,自然数 | 数字型 |
F | 8 | 8 | 0 | 浮点型 | 数字型 |
P | 8 | 1-16 | 0 | Packed number | 数字型 |
C | 1 | 1-65535 | ‘…’ | 文本字段,用于定义文字、数字、特殊文字;定义参数时不定义长度默认为1位长度 | 字符型 |
D | 8 | 8 | ‘00000000’ | 日期字段(YYYYMMDD) | 字符型 |
N | 1 | 1-65535 | ‘0…0’ | 数字文本字段(数字型字符串),用于显示C类型数字,以字符串形式显示整数 | 字符型 |
T | 6 | 6 | ‘000000’ | 时间(HHMMSS) | 字符型 |
X | 1 | 1-65535 | X’0…0’ | 十六进制字段 | 十六进制类型 |
string | 不定长 | 字符串 | 字符串 |
- 局部数据类型
- 存在于程序内部,如01讲的定义的数据类型
- 全局数据类型
- 存在于数据字典中,se11创建的数据字典对象都可以用于定义数据变量
- 全局数据类型创建步骤
- 变量名称:长度最长30
- 名称要以G开头
- 不能使用关键字
数据类型 | 前缀 | 示例 |
---|---|---|
字段 | V、D | GV_/GD_ |
结构体 | S | GS_ |
常量 | C | GC_ |
内表 | T | GT_ |
类 | O | GO_ |
range(范围) | R | GR_ |
参照变量(数据对象) | F | GF_ |
常量
定义后不可以修改
CONSTANTS PAI TYPE p DECIMAL 10 VALUE '3.1415926'
静态变量
statics c TYPE i