zoukankan      html  css  js  c++  java
  • 结构体

    1. 结构体的定义

    结构体可以包含多个基本类型,用DATA来定义结构体,语法如下 :

              data : begin of <name>

                        <field1>…

                        <field2>…

               end of <name>.

    例如:
    DATA:BEGIN OF USERINF,
         SID(10)  TYPE C,  "编号
         NAME(20TYPE C,  "姓名
         TEL(20)  TYPE C,  "电话
    END OF USERINF.


    2. 结构体的赋值

        2.1 在ABAP中可以对结构体直接赋值(赋值时必须定义具体字段名),相同结构体之间可以使用等号来实现数据的相互复制,例如:

    DATA:BEGIN OF USERINF,
         SID(10)  TYPE C,  "编号
         NAME(20TYPE C,  "姓名
         TEL(20)  TYPE C,  "电话
    END OF USERINF.
    DATA:USER2 LIKE USERINF.

    USERINF-SID =  'A20130731'.
    USERINF-NAME 'SANLLY'.
    USERINF-TEL '0592'.
    USER2 USERINF.

    WRITE:USER2,USERINF-SID.

    输出结果:A20130731    SANLLY   0592    A20130731

     

       2.2 相同结构体之前也可以命名用语句MOVE...TO进行赋值,对于类型存在差异的结构体可以使用语句MOVE-CORRESSPONDING将两者相同的字段自动匹配并赋值。语法如下:

            MOVE...TO

            MOVE-CORRESSPONDING

    例如:

    DATA:BEGIN OF USERINF,
         SID(10)  TYPE C,  "编号
         NAME(20TYPE C,  "姓名
         TEL(20)  TYPE C,  "电话
    END OF USERINF.

    DATA:BEGIN OF USERDETALL,
         SID(10)  TYPE C,  "编号
         NAME(20TYPE C,  "姓名
         ADD(20)  TYPE C,  "电话 END OF userdetall.
    END OF USERDETALL.

    MOVE-CORRESPONDING USERINF TO USERDETALL.

     

     

    3.结构体的继承

       定义结构体继承的具体语句为:INCLUDE STRUCTURE.

    例如:
    DATA:BEGIN OF EMPLOYEE.
         INCLUDE STRUCTURE USERINF.

    DATA:BIRDATE TYPE D,"出生日期
         ADD(50TYPE C,"地址
    END OF EMPLOYEE.    "结构体中新增birdate 、add字段

  • 相关阅读:
    Python3 学习第八弹: 模块学习一之模块变量
    Python3 学习第六弹: 迭代器与生成器
    Python3 学习第五弹:类与面向对象
    Java之泛型
    Java之工具类Collections
    Java之map
    Java集合之List
    Java集合之TreeSet
    Java集合
    Java异常处理
  • 原文地址:https://www.cnblogs.com/sanlly/p/3227094.html
Copyright © 2011-2022 走看看