激活cds视图后未生成bopf

2020-09-07 02:37发布

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

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


大家好

我有一个CDS视图,并且我想另外生成一个BOPF对象。 CDS视图如下所示:

 @ AbapCatalog.sqlViewName:'ZPOC_CDS_ORDERS'
 @ AbapCatalog.compiler.compareFilter:是
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 @ EndUserText.label:" VALEAN POC的订单"
 @ ObjectModel.compositionRoot:正确
 @ ObjectModel.modelCategory:#BUSINESS_OBJECT
 @ ObjectModel.semanticKey:['DraftId','DraftItem']
 @ ObjectModel.representativeKey:'草稿ID'
 @ ObjectModel.writeActivePersistence:'ZPOC_ORDERS'
 @ ObjectModel.createEnabled:是
 @ ObjectModel.deleteEnabled:是
 @ ObjectModel.updateEnabled:是
 @OData:{
     发布:true
 }
 将视图ZPOCCDSORDERS定义为
     从zpoc_orders中选择
    {
     键draft_id为DraftId,
     关键的draft_item为DraftItem,
         order_id作为OrderId,
         sales_org作为SalesOrg,
         sales_dist作为SalesDist,
         sales_div作为SalesDiv,
         customer_id作为CustomerId,
         receive_id为RecipientId,
         po_ref为PoRef,
     } 

在事务/n/BOBF/CONF_UI中,我正在搜索新生成的Z * BOPF对象,但是找不到任何东西。

我在做什么错?

非常感谢。

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

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


大家好

我有一个CDS视图,并且我想另外生成一个BOPF对象。 CDS视图如下所示:

 @ AbapCatalog.sqlViewName:'ZPOC_CDS_ORDERS'
 @ AbapCatalog.compiler.compareFilter:是
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 @ EndUserText.label:" VALEAN POC的订单"
 @ ObjectModel.compositionRoot:正确
 @ ObjectModel.modelCategory:#BUSINESS_OBJECT
 @ ObjectModel.semanticKey:['DraftId','DraftItem']
 @ ObjectModel.representativeKey:'草稿ID'
 @ ObjectModel.writeActivePersistence:'ZPOC_ORDERS'
 @ ObjectModel.createEnabled:是
 @ ObjectModel.deleteEnabled:是
 @ ObjectModel.updateEnabled:是
 @OData:{
     发布:true
 }
 将视图ZPOCCDSORDERS定义为
     从zpoc_orders中选择
    {
     键draft_id为DraftId,
     关键的draft_item为DraftItem,
         order_id作为OrderId,
         sales_org作为SalesOrg,
         sales_dist作为SalesDist,
         sales_div作为SalesDiv,
         customer_id作为CustomerId,
         receive_id为RecipientId,
         po_ref为PoRef,
     } 

在事务/n/BOBF/CONF_UI中,我正在搜索新生成的Z * BOPF对象,但是找不到任何东西。

我在做什么错?

非常感谢。

付费偷看设置
发送
4条回答
奄奄一息的小鱼
1楼-- · 2020-09-07 02:45

嗨,

请勿在ZPOCCDSORDERS CDS视图中为文件名提供别名,然后尝试。 应该可以。

例如:
将视图ZPOCCDSORDERS定义为zpoc_orders中的选择

 {
 关键draft_id,
 关键draft_item,
 order_id
 sales_org
 。
 。
 } 
南山jay
2楼-- · 2020-09-07 03:05

你好Anujit,

您可能已经发现了根本原因,因为该帖子已有一年多的历史-我最近才看到此帖子。 无论如何,我在这里回答,认为这可能对社区有所帮助。

我认为,当接口视图(在您的情况下为ZPOCCDSORDERS)中定义的字段的名称别名与基础数据库表中的名称不同时,会引起"元素DRAFTID是没有数据库字段,没有存储"的问题。 您的cazpoc_orders)。 激活时,我认为SADL会考虑名称别名而不是字段名称,因此会引起问题。

解决方法:

  • 维护与表字段相同的别名(或者您可能根本不维护别名)并创建一个新的草稿表。

例如:

代替order_id作为OrderId,

将order_id设置为order_id或只是order_id

您可以根据需要在使用情况视图中维护别名。

  • 为了应用上述解决方法,请从界面视图中删除草稿表-为此,请注释掉界面视图上的所有字段(因为别名仍指向草稿)。
  • 如果有任何父母或孩子协会,也请注释掉那些协会。
  • 转到消费视图,注释掉与界面视图的关联。
  • 然后激活消费视图和界面视图。

----------现在,您已经摆脱了草稿表。

按照上面的建议更改别名,然后将草稿表更改为新名称。

取消注释以前评论过的所有关联和字段。

------>激活。

****结束***** :)

PS:不要气with以上信息。 可能只需要10分钟即可完成该过程。

谨此问候

Pradeep。

haha101010
3楼-- · 2020-09-07 02:53

可以尝试添加:

@ ObjectModel.transactionalProcessingEnabled:是

天桥码农
4楼-- · 2020-09-07 03:09

我将其更改为:

 @ AbapCatalog.sqlViewName:'ZPOC_CDS_ORDERS'
 @ AbapCatalog.compiler.compareFilter:是
 @ AccessControl.authorizationCheck:#NOT_REQUIRED
 @ EndUserText.label:" VALEAN POC的订单"
 @ ObjectModel.modelCategory:#BUSINESS_OBJECT
 @ ObjectModel.compositionRoot:正确
 @ ObjectModel.transactionalProcessingEnabled:正确
 @ ObjectModel.writeActivePersistence:'ZPOC_ORDERS'
 @ ObjectModel.createEnabled:是
 @ ObjectModel.deleteEnabled:是
 @ ObjectModel.updateEnabled:是

 @OData:{
 发布:true
 }
 将视图ZPOCCDSORDERS定义为
 从zpoc_orders中选择
    {
 键draft_id为DraftId,
 关键的draft_item为DraftItem,
 order_id作为OrderId,
 sales_org作为SalesOrg,
 sales_dist作为SalesDist,
 sales_div作为SalesDiv,
 customer_id作为CustomerId,
 receive_id为RecipientId,
 po_ref为PoRef,
 po_date作为PoDate,
 作为国际贸易术语解释通则,
 作为材料,
 描述为描述,
 @ Semantics.quantity.unitOfMeasure:" SalesUnit"
 数量作为数量,
 @ Semantics.unitOfMeasure
 sales_unit作为SalesUnit,
 @ Semantics.amount.currencyCode:'货币'
 价格为价格,
 @ Semantics.currencyCode:是
 货币作为货币,
 @ Semantics.quantity.unitOfMeasure:'WeightUnit'
 net_weight为NetWeight,
 @ Semantics.quantity.unitOfMeasure:'WeightUnit'
 gross_weight为GrossWeight,
 @ Semantics.unitOfMeasure
 weight_unit作为WeightUnit,
 delivery_date作为DeliveryDate,
 作为植物,
 stor_loc作为StorLoc,
 dispatch_pl为DispatchPl
 } 

我得到了错误消息:

 [BO检查]元素DRAFTID是没有DB字段,没有存储(查看ZPOCCDSORDERS,表ZPOC_ORDERS)
 [BO检查]元素DRAFTITEM是没有DB字段,没有存储(查看ZPOCCDSORDERS,表ZPOC_ORDERS)


我在做什么错? 谢谢


一周热门 更多>