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

ABAP include structure 的一个具体用法

时间:2023-01-16 10:07:18浏览次数:64  
标签:SAP 包含 ABAP 组件 include structure 结构

​​ABAP include structure 的一个具体用法​​


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

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

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

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

下图的 CRMT_ORDERADM_H_EXT 就是一个 include structure:

ABAP include structure 的一个具体用法_ABAP

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

  • CRMT_ORDER_EDIT_INFO
  • INCL_EEW_ORDERADM_H

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

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

  • 在 ABAP 程序中,组的名称是引用结构声明的数据对象的附加寻址选项。 所包含结构的所有组件都可以使用此名称一起寻址,或者可以使用名称后的结构组件选择器 (-) 寻址单个组件。
  • 在组件名称后附加一个后缀以重命名每个组件并避免组件之间的命名冲突。 包含在带有后缀的结构中的包含结构的组件的原始名称不能超过 27 个字符。

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

ABAP include structure 的一个具体用法_ABAP_02

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

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

ABAP include structure 的一个具体用法_SAP_03

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

ABAP include structure 的一个具体用法_SAP_04



标签:SAP,包含,ABAP,组件,include,structure,结构
From: https://blog.51cto.com/jerrywangsap/6010048

相关文章

  • ES6+ includes()
    1.前言字符串查找一直都是程序中的常用操作,在ES5中查找一个字符串是否包含另一个字符串,一般有两种思维。一是使用正则的方式来匹配,二是使用ES5的方式,如indexOf、lastI......
  • 【论文阅读】FSADA:Joint network embedding of network structure and node attribute
    目录​​简介​​​​论文简介​​​​abstract​​​​1.Introduction​​​​2.Relatedwork​​​​2.1.Structurepreservingnetworkembedding​​​​2.2.Attrib......
  • 什么是工作分解结构?What Work Breakdown Structure?
    一个​​工作分解结构(WBS)​​是由项目团队完成项目目标并创造必要的交付执行工作的一个面向交付分层分解。WBS是有效项目规划,执行,控制,监控和报告的基石。WBS中包含的所有工......
  • SAP ABAP Application Log 的使用方法
    SAPABAPApplicationLog的使用场景:(1)当你想记录应用程序的执行进度,以便以后在需要时重建它;(2)当开发人员不确定/无法调试代码(前台/后台)并且想深入了解错误原因时,可......
  • ABAP TEST-SEAM 的使用方法
    语句TEST-SEAM引入了一个称为seam的测试SEAM,它由END-TEST-SEAM关闭。当前程序的测试类(testclass)可以使用语句TEST-INJECTION将语句块statement_block替换为......
  • 关于 ABAP 的运行时错误 ITAB_ILLEGAL_ORDER
    一个朋友在我的知识星球里提问:Jerry您好!请教一个问题,在生成物料凭证的时候,有个比较奇怪的问题,在函数MARD_MD_ARRAY_READ,第154行的时候会提示运行时错误:ITAB_ILLEG......
  • ABAP include structure 的一个具体用法
    在客户系统中使用appendstructure增强SAP结构或SAP表,这种行为并不构成修改(modification)。这一点在SAP官网得到确认。为客户系统中的SAP对象创建的附加结构,......
  • 如何手动通过增强的方式,给 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%}来代替子模板中需要自己编写的部......