After extension field is created, I would like to retrieve its data from interface view, like I_PRODUCT. That is, the extension field is already in MARA, I want to consume it via I_PRODUCT instead of MARA.
When using the following ABAP code, it does not work:
data: lt_table TYPE TABLE OF I_Product.
SELECT * INTO TABLE @lt_table FROM I_Product.
The reason is corresponding extension field does not appear in SQL view of I_PRODUCT at all. Why?
Simply because the extension field is not enabled for I_PRODUCT.
The enablement should also be done in custom field logic tile:
(1) select your extension field.
(2) tab UIs and Reports:
(3) Click "Enable Usage" button:
Never forget to publish your change.
Once done, it works now:
我来解答这两天我们讨论的问题。Key user 点了enable usage之后,如下图这个例子,
为什么之后我们 SELECT * FROM I_PRPODUCTWD 就能把extension field一起select出来,这些extension field不是做在E_PRODUCT上吗? E_PRODUCT 是通过association和I_PRODUCTWD连接起来的,为什么select * 能够把association view里的field一起读出来?
首先,上述红色的说法就是错误的,extension field并不是通过association从E_PRODUCT里读的. 我们要明确我们点enable usage的出发点是某个具体的extension field, 而不是从CDS view出发。选择了具体的extension field之后,再选择要extend的CDS view,点击publish,此时将会自动创建一个带有当前extension field的extension view,对选中的CDS extensible view进行扩展。这样造成的结果是,从SE11里观察SQL view能发现extension field会通过append的方式直接成为extensible view的一部分,这之后和E_PRODUCT再无任何关系。
比如这个extension view 在点publish时是什么时候生成的?
你可以自己debug,在这个方法里设个断点,然后点publish,你会发现publish时,有10个object会自动生成,其中第三个就是上面图里的extension view.
那框架咋知道我这个extension field在publish时要生成这10个东西?
答案还是在registry里:
如果想研究具体框架的generation实现,看这个class,里面每个sub class负责一种特定的repository generation实现,
其中CL_CFD_ENH_CDS_ENH_ABSTRACT又包含了所有CDS view相关的generation逻辑,里面又分了三种不同的类型。
所有这些协同工作,最后确保从application developer的眼里,看到extension field在design time时即出现在extensible view本身。
额外补充一点哈。
E_PRODUCT一个最主要的目的就是为了register使用,同时在创建custom field时点publish时,能够自动生成一个E_Product的extension view。
如下图。当然在此之前需要先去自动扩展Product table的这个字段,这也是在点publish时自动完成的。
然后当你需要把这个custom field暴露在上层的view时,比如I_ProductWD,这时去Jerry提到的点击Enable时就会生成I_ProductWD的extension view。
其实你如果点击对应的字段,你会发现其实就是从上面的E_Product的extension view里去读取的。
总结一下,I_ProductWD里定义的E_PRODUCT的association更多是用于design time(register),之后在enable时知道如何创建extension view。然后有了extension view时,就跟E_Product没有直接关系了,因为extension view:ZZ1_PRE47GXHDI6P2ZLO3ADGY4HHFE里的内容是自动暴露为hosting view:I_PRODUCTWD的interface的。这也是为什么select *能自动出来,并不需要通过association。
相关推荐
SAP S/4 HANA Migration
SAP S/4 HANA SD模块官方教材 S4600_EN_Col08, 包括Sales Order, Delivery, Billing , Pricing
1单元1:SAP S/4HANA概览2课程:介绍SAP HANA和SAP S/4HANA9课程:介绍SAP Fiori14单元2:S/4HANA中的财务会计(FI)概览15课程:概述SAP S/4HANA中的财务会计(FI)组件23单元3:总账(G/L)会计24课程:概述会计核算中的组织...
1Unit1:SAP S/4HANA Finance-Introduction and Overview 2Lesson:Positioning SAP S/4HANA Finance 10Lesson:SAP Fiori 16Unit 2:Business Processes in the SAP S/4HANA Finance Solution 17Lesson:Managing ...
introduce the Starter, Quality, and Production Systems of the SAP S/4 HANA Cloud solution
《SAP S/4HANA 1909 UI技术指南》是一份详细阐述SAP S/4HANA用户界面技术的重要文档,旨在帮助用户更好地理解和利用最新的功能、特性及创新点。SAP S/4HANA是SAP公司推出的下一代企业资源规划系统,其UI(用户界面)...
【SAP BW/4HANA 技术概览】 SAP BW/4HANA是SAP推出的新一代数据仓库应用,旨在帮助企业实现即时数字化运营。它不仅支持传统的本地部署方式,还通过Amazon Web Services(AWS)和SAP HANA Enterprise Cloud(SAP ...
1单元1:使用Activate方法学习SAP S/4HANA2课程:介绍SAP S/4HANA7课程:概述转换流程14单元2:转换到SAP S/4HANA的准备15课程:解释转换流程23课程:分析每个系统的转换流程入手点34课程:准备转换成SAP S/4HANA43课程:...
根据提供的文件内容,我们可以提取关于SAP S/4HANA中物料需求计划(Material Requirements Planning,简称MRP)的重要知识点。 首先,文档开头提到SAPPRESS是SAP与Rheinwerk Publishing的联合项目。SAPPRESS不仅...
在SAP S/4HANA系统中,仓库管理是一个关键组成部分,它帮助企业高效地管理和优化其内部物流流程。本文将详细探讨SAP S/4HANA的仓库管理功能,包括出库过程、库存移除、拣选、暂存区管理以及装载等环节。 1. 出库...
SAP S/4HANA and SAP S/4HANA Cloud Extensibility for Customers and Partners September 2018 The experience gained from various customer and partner projects has made one thing very clear: Most SAP S/4...
1单元1:SAP S/4HANA的财务概览2课程:介绍SAP HANA与SAP S/4HANA的用途和功能11课程:说明会计的新体系结构16课程:介绍SAP Fiori的用途和功能21课程:概述财务向SAP S/4HANA Finance的迁移29单元2:总账会计30课程:管理...
SAP S/4HANA 项目控制中的业务流程 SAP S/4HANA 项目控制是指在 SAP S/4HANA 系统中对项目的管理和控制。项目控制是指对项目的计划、执行和监控,以确保项目的目标和范围得到实现。SAP S/4HANA 项目控制提供了一...
SAP S/4 HANA Cloud是SAP公司推出的一套集成化的企业资源规划云解决方案,它基于S/4 HANA平台,旨在为各种规模的企业提供实时的数据处理和业务分析功能。而SAP Cloud Security & Support Framework则是SAP为了保障其...
SAP S/4HANA On-Premise和S4 HANA Cloud是SAP提供的两种不同部署方式的智能ERP解决方案,分别适用于不同需求的企业。S/4HANA On-Premise版本是一个基于SAP HANA内存数据库的ERP业务套件,允许企业在私有云或公有云上...
综上所述,该指南文档可能为SAP BW/4HANA用户提供了一个系统性的快速入门方法,以标准业务内容为起点,快速部署和利用SAP BW/4HANA在数据仓库和商务智能领域的新特性,同时指出了与SAP合作时应注意的法律与商业方面...
SAP BW/4 HANA是SAP公司推出的企业数据仓库解决方案,是SAP Business Warehouse(BW)的第四代产品,专为与SAP HANA数据库集成而设计。SAP HANA是一款高性能的内存计算平台,允许数据在内存中进行存储和处理,从而...
SAP S/4HANA 中的集成业务流程 SAP S/4HANA 是一款基于in-memory技术的企业资源计划(ERP)软件,旨在帮助企业实现数字化转型。SAP S/4HANA 中的集成业务流程是指将各种业务流程集成在一起,以实现业务流程的自动化...