ABAP数据类型定义

1、ABAP-基本数据类型
ABAP基本数据类型.jpg
2、ABAP-变量声明
  • 根据类型定义变量
    使用关键字 "DATA" 声明变量:
    DATA <变量>(长度) TYPE <数据类型> VALUE <值>
data test1(15) type c value 'Hello World'.

注:定义长度为 10 类型是 c 值是 "Hello World" 的变量 test1,语句以 "." 结束

如果不定义变量长度,系统默认变量的长度为类型的默认长度(见上面ABAP基本数据类型的默认长度),长度也可用 "LENGTH" 关键字,如下

data test1 type c length 15 value 'Hello World'.

如果要同时声明多个变量,可以一句一句写也可以在 "DATA" 后加 ":" 冒号,语句中间用 "," 连接,以 "." 结束

data: player(35)   type c,
      nickname(35),
      points       type i value '29',
      games        type i value '10',
      average(5)   type p,
      acquired     type d.

注:VALUE 定义值时,值的最大长度不能超过变量定义的长度,不然系统会按设定长度自动截取,"data test1(5) type c value 'Hello World'." 变量定义的长度为5,实际值为"Hello",未使用 "TYPE" 声明数据类型,则该变量默认为 "C" 类型(字符类型)

  • 根据参考定义变量
    使用运算符 "LIKE" 参照程序中某一变量或者数据字典定义新的变量
    DATA <新变量> LIKE <程序中的变量>.
data: test1(15) type c value 'Hello World',
      test2 like test1.

注:TEST1和TEST2具有相同的属性,值也相同

  • 变量初始化
    变量在赋值后可以进行初始化从而恢复初始值
    CLEAR <变量>.
clear: test1,test2.
  • 定义常量
    常量表示该值一被定义就会被长期保存在内存中,并且值不能改变,使用关键字 "CONSTANTS" 定义常量,必须使用 "VALUE" 给它赋初始值
    CONSTANTS <常量>(<长度>) TYPE <数据类型> VALUE <初始值>.
constants: team1(20) type c value '76ers',
           team2     like team1 value 'celtics',
           total     type i value 82. 
  • 自定义数据类型
    使用关键字 "TYPES" 定义自定义类型,通过 "TYPES" 声明的类型可以被其他常量、变量引用,不能直接赋值
types: name(10) type c,
       teams(20) type c.
data: player   type name value 'Jerry',
      nickname like player.
constants: team1 type teams value 'Team1',
           team2 like team1 value 'Team2';
3、ABAP-定义变量注意事项
  • SAP对关键字和变量定义时不区分大小写
  • SAP编程风格较为灵活,没有特定的格式限制,可以在两个关键字中间加入多个空格,同意变量可换行隔开
  • 同时定义多个变量时要在关键字后面加上 ":" 冒号,默认值需要用单引号 ' '

你可能感兴趣的:(ABAP数据类型定义)