1、include

data: begin of gth_qamr.
        include structure qamr.
data: kurztext like qamv-kurztext,
      ztext like qamv-kurztext,
      verwmerkm like qamv-verwmerkm,
      steuerkz  like qamv-steuerkz.
data: end of gth_qamr.
data: gtd_qamr like table of gth_qamr.

2、append

结构复用:引用自江正军老师-博客园 博客链接:www.cnblogs.com/jiangzhengjun

TYPES BEGIN OF struc_type. 
   TYPES comp ... 
   TYPES comp TYPE struc_type BOXED. "参照另一结构类型
   INCLUDE { {TYPE struc_type} | {STRUCTURE struc} } "将另一结构包括进来
        [AS name [RENAMING WITH SUFFIX suffix]]. 
TYPES END OF struc_type.

INCLUDE { {TYPE struc_type} | {STRUCTURE struc} } 
        [AS name [RENAMING WITH SUFFIX suffix]].

该语句只能用在定义结构的BEGIN OF与 END OF之间。作用是将结构类型struc_type结构变量struc的所有组件字段拷贝到当前结构定义的指定位置,INCLUDE就是将可以重复使用的东西先做好,再包含进来。

AS name:给包含进来的结构类型(或结构变量)取一个别名,这样就可以通过结构组件符(-)来选取这个结构类型(或结构变量)

RENAMING WITH SUFFIX suffix:如果include进来的结构类型(或结构变量)的组件字段与现有的重复,则可以使用此选项重命名include进来的结构类型(或结构变量)的各组件字段名,具体做法只是在原来组件名后加上了指定的后缀suffix

TYPES: BEGIN OF t_day,
         work TYPE c LENGTH 8,
         free TYPE c LENGTH 16,
       END OF t_day.
DATA BEGIN OF week.
        INCLUDE TYPE t_day AS monday    RENAMING WITH SUFFIX _mon.
        INCLUDE TYPE t_day AS tuesday   RENAMING WITH SUFFIX _tue.
        INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed.
...

DATA END OF week.

可以通下面的方式来访问week结构变量:

直接看作是week结构变量组件:week-work_mon, week-free_mon, week-work_tue

由于使用as别名,所以还可以这样访问:week-monday-work, week-monday-free, week-tuesday-work

当程序中多个结构使用共同的字段时,将公用的部分提取出来,使用INCLUDE将它们组装起来,编程结构更清晰。下面是结构对象的复用:

DATA: BEGIN OF comm1 OCCURS 0,
      bukrs TYPE bseg-bukrs,
END OF comm1.
TYPES:BEGIN OF comm2,
      blart TYPE bkpf-blart,
END OF comm2.
DATA: BEGIN OF gt_result OCCURS 0,
        c1 TYPE c."直接定义组件字段,但前面语句后面使用逗号
        INCLUDE STRUCTURE comm1."直接将结构对象包括进来
        INCLUDE TYPE comm2."直接将结构类型包括进来
        DATA:comm LIKE comm1,"直接参照
        c2 TYPE c. "直接定义组件字段,但前面语句后面使用逗号
DATA: END OF gt_result.
gt_result-bukrs = '111'.
gt_result-blart = '222'.
gt_result-comm-bukrs = '333'.

下面是类型的复用:

TYPES: BEGIN OF street_type,
         name TYPE c LENGTH 40,
         no   TYPE c LENGTH 4,
       END OF street_type.
DATA: BEGIN OF comm1 OCCURS 0,
      bukrs TYPE bseg-bukrs,
END OF comm1.
TYPES: BEGIN OF address_type,
        name1 TYPE c LENGTH 30."直接定义类型,但前面语句需使用逗号
        TYPES:street TYPE street_type,"参照另一结构类型
        c TYPE c."直接定义类型,但前面语句需使用逗号
        INCLUDE STRUCTURE comm1.
        INCLUDE TYPE  street_type.
TYPES: END OF address_type.

*或者是这样

TYPES: BEGIN OF address_type,
        name1 TYPE c LENGTH 30,
        street TYPE street_type,
        c TYPE c.
        INCLUDE STRUCTURE comm1.
        INCLUDE TYPE  street_type.
TYPES: END OF address_type.
DATA: name TYPE address_type-street-name.
DATA: name2 TYPE address_type-name.
DATA: bukrs TYPE address_type-bukrs.

 

SAP abap 内表增加字段方法,结构复用的更多相关文章

  1. 七十一、SAP中内表的修改,改一行数据,或一行的某个字段

    一.SAP中内表的修改,只能通过工作区来修改,代码如下 二.效果如下

  2. ABAP 内表 详解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. Abap 内表的语法

    ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的  内表支持循环对每行数据进行操作,也支持整体操作 ...

  4. oracle删除表字段和oracle表增加字段

    这篇文章主要介绍了oracle表增加字段.删除表字段修改表字段的使用方法,大家参考使用吧   添加字段的语法:alter table tablename add (column datatype [d ...

  5. MySQL中大数据表增加字段,增加索引实现

    MySQL中大数据表增加字段,通过增加索引实现 普通的添加字段sql ALTER TABLE `table_name` ADD COLUMN `num` int(10) NOT NULL DEFAUL ...

  6. 【转载】ABAP-如何读取内表的字段名称

    原文地址:ABAP-如何读取内表的字段名称   *&---------------------------------------------------------------------* ...

  7. Abap内表

    什么是内表:内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放. 定义类型:通过types开头定义 TYPES: BEGIN OF lin ...

  8. MySQL 给已存在的数据表 增加字段和注释

    MySQL 给已存在的数据表 增加字段和注释 问题描述 在开发一个系统的过程中,经常会遇到随着系统服务功能的扩展,或者服务之间的关联,需要适当的修改原有的表结构,比如,增加一些必要的字段. 示例:在已 ...

  9. 家长-Parents表增加字段Token,Gender,Email,Portrait

    家长-Parents表增加字段Token,Gender,Email,Portrait ) ) ) )

随机推荐

  1. Xamarin打包

  2. js手机浏览器浏览WebApp弹出的键盘遮盖住文本框的解决办法

    if(window.navigator.userAgent.indexOf('Android') > -1 || window.navigator.userAgent.indexOf('Adr' ...

  3. 博客搬家 https://hanwang945.github.io/

    博客搬家 https://hanwang945.github.io/

  4. linux 逆向映射

    逆向映射用于建立物理内存页和使用该页的进程的对应页表项之间的联系,在换出页时以便更新所有涉及的进程.得到物理页基址后,根据pfn_to_page可以将页框转换为page实例,page实例中的mappi ...

  5. 多个.txt文件合并到一个.txt文件中

    如果想要将多个.txt文件合并到一个.txt文件中,可以先将所有.txt文件放到一个文件夹中,然后使用.bat文件完成任务. 例如,在一个文件夹下有1.txt, 2.txt, 3.txt三个文件,想把 ...

  6. IIS宿主WCF服务*.svc Mime类型映射

    经常会遇到由于.net安装组件缺失,导致发布wcf服务后,访问wcf报.svc请求类型不支持 简单方法就是添加删除程序,修改.net组件安装选项,勾选http激活即可: 或者手工添加映射处理程序 1. ...

  7. C语言中负数的存储方式

    详细介绍负数的文章: https://blog.csdn.net/daiyutage/article/details/8575248 1.以char类型举例,其取值范围是 -128 ~ 127,即-2 ...

  8. React之ref

    作为响应式开发框架React,我们知道他是数据驱动的,但有时候避免不了还是得动用到DOM操作,这个时候我们就可以用到ref:用法如下: 然后这样做有个弊端,当一个 ul 下面的 li 是动态添加的时候 ...

  9. mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8

    mysql扩展性架构实践N库到2N 库的扩容,2变4.4变8 http://geek.csdn.net/news/detail/5207058同城 沈剑 http://www.99cankao.com ...

  10. ADB——查看手机设备信息

    查看设备信息 查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery ''' Current Batter ...