CDS注释和参考数据源问题

2020-08-27 16:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我有以下问题。 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我有以下问题。 我创建一个CDS视图,并在此基础上使用参考数据源方法创建一个OData服务。 这是CDS视图的摘录:

/* VDM视图类型的定义*/
 @ VDM.viewType:#CONSUMPTION

/* BOPF对象模型*/
 @ObjectModel:{
     modelCategory:#BUSINESS_OBJECT,
     compositionRoot:正确,
    
   /*转发事务处理*/
     transactionalProcessingDelegated:true,
    
     语义关键字:['PurchaseOrderID'],
    
     createEnabled:是的,
     updateEnabled:是,
     deleteEnabled:true
 }

 定义视图ZC_PurchaseOrderHeaderTP
     从ZI_PurchaseOrderHeaderTP中选择
   /*与其他BOPF节点的关联*/
     将[0 .. *]与_Items关联到ZC_PurchaseOrderItemTP
     在$ projection.PurchaseOrderHeaderKey = _Items.PurchaseOrderHeaderKey上
 {
         @ UI.hidden:是
     键PurchaseOrderHeaderKey,
        
         @ UI.lineItem.position:10
         @ UI.identification.position:10
         PurchaseOrderID,
        
         @ UI.hidden:是
         SupplyerKey,
        
         @ UI.hidden:是
         NoteKey,
         CurrencyCode,

在使用Gateway Service Builder创建OData服务之后,我还在模型提供程序扩展类中实现了扩展。 该扩展名如下所示。 它基本上只是重命名OData服务中的实体。

 CLASS zcl_z_erp_impl_ws19_mpc_ext实施。
   方法定义。

     super-> define()。

     数据:lo_entity_type类型参考/iwbep/if_mgw_odata_entity_typ,
           lo_entity_set类型参考/iwbep/if_mgw_odata_entity_set,
           lo_property类型参考/iwbep/if_mgw_odata_property。


     lo_entity_type =模型-> get_entity_type('ZC_PurchaseOrderHeaderTPType')。
     lo_entity_type-> set_name(iv_name ='PurchaseOrderHeader')。

     lo_entity_set =模型-> get_entity_set('ZC_PurchaseOrderHeaderTP')。
     lo_entity_set-> set_name(iv_name ='PurchaseOrderHeaders')。

         lo_entity_type =模型-> get_entity_type('ZC_PurchaseOrderItemTPType')。
     lo_entity_type-> set_name(iv_name ='PurchaseOrderItem')。

     lo_entity_set =模型-> get_entity_set('ZC_PurchaseOrderItemTP')。
     lo_entity_set-> set_name(iv_name ='PurchaseOrderItems')。

   终结法。

 ENDCLASS。

最后,我基于此服务使用列表报告模板创建了一个基于Fiori Elements的应用程序。 我现在面临的问题如下。 只要在模型提供程序扩展类中有define方法的实现,就不会将CDS视图中的UI注释转移到Fiori Elements应用程序中。 所以 在列表视图的表中没有字段可见。 一旦删除了define方法的实现,一切都会按预期进行。

有人知道如何解决这个问题吗? 我是否在模型提供的扩展类的实现中缺少某些东西?

基督徒