ABAP数据对象

1、变量

变量定义包含name, length, type等,语法如下:

DATA  <name> [<length>] type <type>[ value  <value>] [ decimal  <decimals>]

其中: [] 里的内容表示可选项。<>表示名称

<name>: 变量名称, 最长30个字符, 不可含有 + . , : ( ) 等字符

<length>长度,要用圆括号括起来   LINE(20) TYPE C.

<type>:数据类型

<value>: 初始值

<decimals>: 小数位

声明多个变量时候DATA后面加上冒号,每个声明语句结束后用逗号隔开

       实例:

              DATA:C1 TYPE C,

              INT1 TYPE I VALUE 1,

             TEMP TYPE P DECIMAL 2.

关键字TYPE和LIKE

变量定义也可以用关键字LIKE

DATA  <name> [<length>] like<object>|<type>[ value  <value>] [ decimal  <decimals>]

TYPE LIKE 的区别:

      LIKE 用在已有的数据类型, , TYPE是用在定义数据类型。

实例:DATATRANSCODE LIKE SY-TCODE.

2、常量

常量定义使用 CONSTANTS

CONSTANTS<常量名>[<长度> ] TYPE <数据类型> VALUE <默认值>

常量值一旦被定义,即被长期保存在内存,其值无法改变

实例:

CONSTANTS  PI  TYPE  P  DECIMALS  5  VALUE  '3.14159'.

3、结构体

 A、 结构体定义:

结构的变量
程序中用 DATA 定义的局部变量

DATA: BEGIN OF <name>

      <field1>……

      <field2>……

END OF<name>.

        实例:

 DATA:BEGIN OF USERINF,

              SID(10) TYPE C,

              NAME(20) TYPE C,

              TEL(20) TYPE C,

          END OF USERINF.

DATA USER2 LIKE USERINF.

B、结构体赋值:

•   可对结构体直接赋值
•   相同结构体之间可以使用等号来实现数据的复制
•   WRITE Structure Name  可输出所有字段,或使用 <Structure>-<field name> 输出指定字段 
•   相同结构体之间使用 Move……To…… 进行赋值;
•   有差异的结构体,可使用MOVE-CORRESSPONDING 匹配及赋值相同的字段
 

实例1:

USERINF-SID='A00001'.

USERINF-NAME='JERY'.

USERINF-TEL='010-12345678'.

USER2=USERINF.

WRITE:USER2, / USERINF-SID.

实例2:

DATA:BEGIN OF USERDETAIL,

          SID(10) TYPE C,

          NAME(20) TYPE C,

          BIRDATE TYPE D,

          ADD(50) TYPE C,

    END OF USERDETAIL.

MOVE-CORRESSPONDING USERINF TO USERDETAIL.

 

4、结构体继承

  • 参考已存在的结构体创建一个属性相同的新结构体
  • 可在新结构体中增加字段
  • 定义语句:INCLUDE STRUCTURE

  实例:

      DATA:  BEGIN OF EMPLOYEE,

                      INCLUDE STRUCTURE USERINF,

                      DATA:BIRTHDATE TYPE D,

                      ADD(50) TYPE C,

                 END OF EMPLOYEE.

MOVE-CORRESSPONDING USERINF TO USERDETAIL.

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Willie Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值