点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
在我最近对SAPTechEd的访问中,我发现了一个有趣的读物,它解释了如何创建事务性FIORI应用程序以及使用CDS作为数据提供者。 创建的CDS视图用作数据源,并通过覆盖MPC_EXT的网关方法管理事务行为,并将特定实体设置为 sap:creatable 。
我尝试通过Flight Table复制类似的操作。 我在7.50,SP-0011。
我的 CDS视图如下所示在代码部分 。
注意-当我遵循通过ADT的关联路径时,CDS视图将提供正确的记录。
我通过将CDS映射为参考数据源来创建网关服务。
现在,我使用内置的网关服务创建了ListReport类型的FIORI元素应用程序。
应用程序描述符文件被视为从属实体-zcds_booking_details和导航已正确识别。
在执行基本使用量视图(即ZCDS_FLIGHT_DETAILS)时,应用程序已启动并正在运行。 与该视图相关联,未触发ZCDS_BOOKING_DETAILS并且未获取结果。
网关中的错误是-未知实体'ZSRV_FLIGHT_BOOKING〜zcds_booking_details'类型为'SADL' strong>
应用程序日志显示3条连续的消息。 这2个都很有趣
在调试框架时,我发现init_transaction()方法失败,并且正在引发CX_SADL_CONTRACT_VIOLATION。
我仍然不知道为什么出现"找不到实体"错误。 另外,我想知道是否需要像@ObjectModel这样的任何事务处理注释。 我所引用的文档(在TechEd上机实践课程中提供)没有类似的内容。 我在这里想念什么?
1。 ZCDS_FLIGHT_DETAILS是应用程序的使用情况视图 @ AbapCatalog.sqlViewName:'zv_flight_info' @ AbapCatalog.compiler.compareFilter:是 @ AbapCatalog.preserveKey:是 @ AccessControl.authorizationCheck:#NOT_REQUIRED @ EndUserText.label:"航班信息显示的CDS视图" @ Search.searchable:是 @ UI.headerInfo.typeName:"飞行" @ UI.headerInfo.typeNamePlural:'航班' 定义视图zcds_flight_details 从zv_flight_basic中选择基本 在$ projection.carrid = _sbook.carrid上将[0 .. *]与_sbook关联到zcds_booking_details $ projection.connid = _sbook.connid和 $ projection.fldate = _sbook.fldate { //基本 //关键要求 @ UI.lineItem:[{position:10}] @ UI.identification:[{位置:10}] @ Search.defaultSearchElement:true @ Search.fuzzinessThreshold:0.7 @ Search.ranking:#HIGH @ UI.selectionField:[{位置:10}] 香芹籽 @ UI.lineItem:[{position:20}] @ UI.identification:[{position:20}] @ Search.defaultSearchElement:true @ Search.fuzzinessThreshold:0.7 @ Search.ranking:#MEDIUM @ UI.selectionField:[{位置:20}] 关键时刻 @ UI.lineItem:[{position:30}] @ UI.identification:[{position:30}] @ UI.selectionField:[{位置:30}] 关键时刻 @ UI.lineItem:[{position:40}] @ UI.identification:[{position:40}] 价钱, @ UI.lineItem:[{position:50}] @ UI.identification:[{position:50}] 货币, 平面型 @ UI.lineItem:[{位置:60, 标签:"经济舱可用"}] @ UI.identification:[{position:60}] Economy_sa, @ UI.lineItem:[{位置:70, 标签:"可提供商务座椅"}] @ UI.identification:[{位置:70}] business_sa, @ UI.lineItem:[{位置:80, 标签:"可用的头等舱座位"}] @ UI.identification:[{位置:80}] firstclass_sa, countryfr, 来自 airpfrom, countryto, cityto, airpto, 持续时间 deptime, 到达时间 距离, 茫然 字型 期, /*关联*/ //_sflight [inner], _sbook [内部] } 2.我的关联视图-ZCDS_BOOKING_DETAILS @ AbapCatalog.sqlViewName:'zv_booking_det' @ AbapCatalog.compiler.compareFilter:是 @ AbapCatalog.preserveKey:是 @ AccessControl.authorizationCheck:#NOT_REQUIRED @ EndUserText.label:"预订详细信息CDS" 定义视图zcds_booking_details 选自sbook { //预订 //关键要求 @ UI.hidden:是 香芹籽 @ UI.hidden:是 关键时刻 @ UI.hidden:是 关键时刻 @ UI.lineItem.position:10 书本 @ UI.lineItem.position:20 习惯, @ UI.lineItem.position:30 保管类型 @ UI.lineItem.position:40 吸烟者 行李重量 wunit 发票, 类, 甲草胺 forcurkey, loccuram, loccurkey, 订购日期, 计数器, agencynum, 取消, 保留, @ UI.lineItem.position:50 密码, 密码 出生 }
(32.8 kB)
我试图重现您的问题,但对我来说还是可行的,但是我从SFLLIGHT中选择了数据,因为我不知道zv_flight_basic的定义。
您能分享zv_flight_basic的定义吗?
我在SEGW项目中尝试了以下URL
/sap/opu/odata/SAP/ZTESTRDS_INNER_SRV/zcds_flight_details(carrid ='AA',connid ='0017',fldate = datetime'2019 -06-20T00%3A00%3A00')/to_sbook
它提供以下内容
我为zcds_flight_details使用了以下DDL源代码,在我的情况下,直接从表SFLIGHT中读取。
sup>
从SAP NW 7.50开始支持参考数据源项目。
在SAP NW 7.40中,可以使用所谓的映射数据源方法。 在这里,您必须将实体集和关联映射到CDS视图及其关联。
https://help。 sap.com/doc/saphelp_nw751abap/7.51.0/de-DE/82/0b24ce35c745bb9e0fb3a6e8d6dbd4/frameset.htm
但是CDS视图至少需要NW 740 SP05
我会尝试将字段bookid设为CDS视图ZCDS_BOOKING_DETAILS中的关键字段。
否则,
安德烈,
更改了ZCDS_BOOKING_DETAILS,并将bookid设置为关键字段,但是没有运气!
您是否尝试过在ADT的数据预览中导航是否起作用?
是。 关联可以在ADT中完美运行。
ZCDS_FLIGHT_DETAILS视图
当单击最后一个航班日期为2018-06-0的条目时的关联结果
一周热门 更多>