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. VMware+CentOS7学习记录

    CentOS命令记录 1.su root 进入最高权限 2.cd  /位置       即进入该文件 3.中文与英文之间的切换:win+空格 添加中文的步骤:https://blog.csdn.net ...

  2. 如何让模拟的json数据接口能够正常的在手机上有效果

    1. 确保手机与PC在同一个ip网下 这里我是通过------------360随身WIFI,20块钱淘宝上卖的,外观像U盘一样的,直接插在电脑的USB上就能在PC上创建一个WiFi,手机连接上就可以 ...

  3. k8s-No.2-pod学习

    本章目录 pod结构图 pod语法及参数说明 pod声明周期 一  pod结构图 大部分情况下,Openshift中的Pod只是容器的载体,通过Deployment.DaemonSet.RC.Job. ...

  4. Luogu4197 Peaks

    题目链接:洛谷 看到“只经过困难值小于等于$x$的路径”. 感觉有点眼熟. ow,就是[NOI2018]归程. 和那道题一样,可以直接建出Kruskal重构树,每次倍增寻找祖先中最上面的不大于$x$的 ...

  5. linux获取网络信息函数

    获取IP地址 int sys_getIP(char *ip_addr) { ] = {"ifconfig eth0 | grep inet | cut -d: -f2 | cut -d' ' ...

  6. npm run dev/build/serve

    1.ERR引发的思考 npm run dev npm ERR! missing script: dev npm ERR! A complete log of this run can be found ...

  7. pc端字体大小计算以及echart中字体大小计算

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. Byword for Mac(Markdown编辑器)中文版

    还在找Markdown编辑器吗?那不妨试试Byword for Mac吧!这是一款轻量级的富文本编辑器,byword mac版提供了完整的Markdown支持,包含脚注.表格.交叉引用等功能,Bywo ...

  9. [js]d3.js绘制拓扑树

    echart也支持拓扑树了 所需的json数据格式: children嵌套 vis.js也支持绘制拓扑树 数据格式: nodes: {id, label, title} edges: {from, t ...

  10. go 语言环境搭建(Ubuntu + Sublime Text3 + GoSublime + gocode)

    1. 首先安装go http://code.google.com/p/golang-china/wiki/Install 或者http://golang.org/doc/install这里有详细介绍. ...