首页 > 其他分享 >ABAP include structure 的一个具体用法

ABAP include structure 的一个具体用法

时间:2023-01-10 23:46:11浏览次数:56  
标签:SAP 包含 ABAP 组件 include structure 结构

在客户系统中使用 append structure 增强 SAP 结构或 SAP 表,这种行为并不构成修改(modification)。这一点在 SAP 官网 得到确认。

为客户系统中的 SAP 对象创建的附加结构,位于客户命名空间(或特殊开发项目合作伙伴的命名空间)中,因此不会被升级覆盖。

SAP 建议客户的增强开发,也使用来自客户名称空间的名称创建这种类型的追加结构的组件,以避免命名冲突。升级后,关联的附加结构将再次附加到 SAP 修改的表中。

结构的组件可以通过在 ABAP 字典中包含其他结构的组件来定义,包括数据库表或视图。 这些被包含的结构被称为include结构(或简称includes)。 从技术角度看,include结构被include的结构引用了被include的结构,每当这个结构发生变化时,都会相应地修改。 包含结构本身可以包含包含结构,最大嵌套深度为九个包含。

下图的 CRMT_ORDERADM_H_EXT 就是一个 include structure:

这个 include structure 里又包含了两层嵌套的 include structure,如下图黄色区域所示:

  • CRMT_ORDER_EDIT_INFO
  • INCL_EEW_ORDERADM_H

当一个 include structure 被包含到一个已有结构时,并没有创建子结构,这意味着 include structure 里的组件字段被插入,就好像它们是在这个位置单独指定的一样,并且它们像直接定义的组件一样被处理。 可以根据需要组合常规组件和包含结构。

当一个结构作为包含结构被包含时,它可以被分配一个组名和一个三字符后缀。

  • 在 ABAP 程序中,组的名称是引用结构声明的数据对象的附加寻址选项。 所包含结构的所有组件都可以使用此名称一起寻址,或者可以使用名称后的结构组件选择器 (-) 寻址单个组件。

  • 在组件名称后附加一个后缀以重命名每个组件并避免组件之间的命名冲突。 包含在带有后缀的结构中的包含结构的组件的原始名称不能超过 27 个字符。

ABAP 系统里的 demo structure DEMO_WEEK, 演示了组名和三字符后缀的一个例子:

在这个结构里,它重复包含了五次 include structure DEMO_DAY.

DEMO_DAY 里,包含两个字段 work 和 free,但是这两个字段通过 DEMO_DAY 这个 include structure 被包含到 DEMO_WEEK 之后,通过三字符后缀,

就产生了独一无二的命名:WORK<三字符后缀>,比如 WORK_MO, WORK_TU 等等。

标签:SAP,包含,ABAP,组件,include,structure,结构
From: https://www.cnblogs.com/sap-jerry/p/17041688.html

相关文章

  • 如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段
    有个朋友向我咨询关于SAP产品增强字段扩展(FieldExtensibility)的问题:Jerry,你好。看过你写的SAP产品增强FieldExtensibility文章,对扩展字段在物理数据库的结构还不......
  • ABAP-MIGO的BAPI添加CODE
    在MIGO创建的BAPI(BAPI_GOODSMVT_CREATE)中需要输入一个货物移动分配事务代码只取在表T158G中添加MIGO的事务码,在使用BAPI时就可以传入这个值,不用去判断哪个值......
  • Django模板继承与代码块引用(extends/include)
    extends有些页面只有某一部分有变化,其它部分不变时,用模板继承就会比较方便设计母版用{%blockname%}{%endblock%}来代替子模板中需要自己编写的部......
  • ABAP 写入批次特征值以及更新批次特征值
    需求SAP启用了批次,需要在特征值中写入物料类型,区分该物料批次是用于研发的亦或是量产的,关于研发和量产标识我是坐在采购订单行项目增强中了,这里就不多赘述采购订单行项目......
  • 什么是 SAP ABAP 的 include structure
    结构(注意structure并不是数据库表或视图)可以作为包含结构(includestructures)包含在数据库表中。只有当一个结构的组件满足所有的表字段先决条件时,该结构才能包含在表......
  • SAP ABAP Append structure 介绍
    Appendstructure(附加结构)是ABAP字典中附加到另一个结构或数据库表并将其组件附加到它们的结构。Appendstructure可以添加到SAP在客户系统中提供的结构和数据库表......
  • SAP ABAP DDIC 结构字段的一些技术限制条件
    SAPABAP表字段是数据库表结构的组成部分,描述了数据库表字段的名称、数据类型和任何语义属性。下图这些高亮区域就是ABAP表字段的一些例子。表字段是表的结构化数据......
  • PHP中include和require的区别详解
    PHP中include和require的区别详解1、概要性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于req......
  • ABAP基础一:ALV样例
    REPORTzly_report.*********ReportDemo*****************************************本程序主要将普通的ALV报表做拆分讲解*一个简单的ALV包括以下一个部分*1.数据定......
  • 自研ORM Include拆分查询(递归算法 支持无限层级) 性能优化探讨
    最近我在优化 Include拆分查询,贴出源码供大家交流探讨是否还有优化空间。测试代码1Console.WriteLine($"总记录数:{db.Query<Category>().Count()}......