2021-09-25

ABAP随笔

第二章 数据类型

1.ABAP命名规则(23)

全局变量G 局部变量L,字段V/D 结构体S 常量C 内表T 类O RANGE(范围)R 参照变量(数据对象)F 例:GV_CARRID

2.基本数据类型(30)

初始长度 可变长度 初始值 意义
数字型
I 4 4 0 整数(自然数)
F 8 8 0 浮点型
P 8 1-16 0 Packed number 整数=16-小数指定
字符型
C 1 1~65535 ‘……’ 文本字段(alphanumeric characters)
D 8 8 ‘00000000’ 日期字段(样式:YYYYMMDD)
N 1 1~65535 ‘0……0’ 数字文本字段(数字型字符串)有前导
T 6 6 ‘000000’ (样式:HHMMSS)
十六进制类型
X 1 1~65535 X’0……0’ 十六进制字段

3.系统变量sy-datum(系统)和sy-datlo(本地)的区别(37)

系统基本信息自动会保存到SYST结构体中,用户本地profile信息TIMEZONE会保存到系统变量SY-ZONLO中。

4.String相关命令(39)

①FIND

ABAP字段中存在字段B时,SY-SUBRC返回值为0

gv_str = 'ABAP'.
gv_chr = 'B'.
FIND gv_chr IN gv_str.
IF SY-SUBRC EQ 0.
  WRITE 'B found'.
ENDIF.

结果:B found

②REPLACE

将ABAP变换成BBAP

gv_str = 'ABAP'.
gv_chr = 'BBAP'.
REPLACE 'ABAP' IN gv_str WITH gv_chr.
WRITE / gv_str.

结果:BBAP

③TRANSLATE

大小写字母转换LOWER CASE / UPPER CASE,ABAP→abap / abap→ABAP

gv_str = 'ABAP'.
TRANSLATE gv_str TO LOWER CASE.
WRITE / gv_str.

结果:abap

④SHIFT

ABAP依次向左移动

gv_str = 'ABAP'.
SHIFT gv_str.
WRITE / gv_str.

结果:BAP

⑤CONDENSE

去空格并向左对齐,经常与NO-GAPS一起使用去掉空格

gv_str = 'AB AP'.
CONDENSE gv_str NO-GAPS.
WRITE / gv_str.

结果:ABAP

⑥OVERLAY

填充Character的空格,但不覆盖原来字符

gv_str = ' B P'.
gv_chr = 'AAAA'.
OVERLAY gv_str WITH gv_chr.
WRITE / gv_str.

结果:ABAP

⑦CONCATENATE

AB+AP连接成ABAP

gv_str = 'AB'.
gv_chr = 'AP'.
CONCATENATE gv_str gv_chr INTO gv_str.
WRITE / gv_str.

结果:ABAP

⑧SPLIT

以字符C为中心分为AB与AP

GS_STR = 'ABCAP'.
SPLIT gv_str AT 'C' INTO gv_str gv_chr.
WRITE / gv_str gv_chr.

结果:AB AP

5.单引号“ ’ ”与grave“ ` ”的区别(39)

DATA gv_char(32) TYPE c.
gv_char = 'This is a'.
CONCATENATE gv_char 'text   ' INTO gv_char SEPARATED BY space.
* 结果 => ''This is a text''
CONCATENATE gv_char `text   ` INTO gv_char SEPARATED BY space.
* 结果 => ''This is a text   ''

若使用grave(`),则能够识别字符串中包含的所有空格。
SEPARATED BY space 加空格

6.程序中经常使用的ABAP数据字典类型(52)

面试用 很难

ABAP数据字典类型 ABAP基本数据类型
ACCP N(6)
CHAR n C(n)
CLNT C(3)
CUKY C(5)
CURR n,m P((n+1)/2 DECIMAL m
DEC n,m P((n+1)/2 DECIMAL m
DATS D(8)
FLTP F(8)
INT1 X(1)
INT2 X(2)
INT4 X(4)
LANG C(1)
NUMC n N(n)
PREC X(2)
QUAN n,m P((n+1)/2 DECIMAL m
RAW n X(n)
TIMS T(6)
UNIT C(n)
VARC n C(n)
LRAW X(n)
LCHR C(n)
STRING SRTING

7.给变量赋值(52)

上一篇:PHP导出excel 中文乱码


下一篇:Python chr 函数 - Python零基础入门教程