点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我尝试从带有注释的CDS视图生成BO。 我尝试建模的实体是 Monster 和 Monster Items 。 因此,特别是我已经完成了此博客中的步骤 a>完成任务:
- 创建两个数据库表来保存BO数据
- 创建两个CDS视图
- 向两个CDS视图添加 @ObjectModel注释
- 保存并激活两个CDS视图
当我认为这些 @ObjectModel注释 应该如何工作时,BOPF运行时应该已经使用 ROOT节点生成了BO。 和 ITEM节点 。 但是不幸的是什么也没有产生。
我不知道为什么在激活CDS视图时未生成BO,因为为此任务设置了所有必需的注释。 我们正在使用以下补丁程序级别的SAP系统:
由于补丁程序级别,我们的系统可能无法识别这些从CDS View创建BO的注释吗?
这是两个CDS视图的源代码:
CDS视图Znl_Monster
@ AbapCatalog.sqlViewName:'ZDDL_NL_I_MNSTR' @ AbapCatalog.compiler.compareFilter:是 @ AccessControl.authorizationCheck:#NOT_REQUIRED @ EndUserText.label:'ZNL_MONSTER' @ Search.searchable:是 @ Search.ranking:"高" @ ObjectModel.semanticKey:'MonsterId' @ ObjectModel.representativeKey:'MonsterId' @ ObjectModel.modelCategory:#BUSINESS_OBJECT @ ObjectModel.compositionRoot:正确 @ ObjectModel.transactionalProcessingEnabled:正确 @ ObjectModel.writeActivePersistence:'ZNL_D_ROOT' @ ObjectModel.createEnabled:是 @ ObjectModel.deleteEnabled:是 @ ObjectModel.updateEnabled:是 定义视图Znl_Monster 从znl_d_root中选择作为Monster //与商品的关联 [0 .. *]与Znl_Monsteritem关联为Monster.monsterid = _MonsterItem.MonsterId { //怪物 @ Search.defaultSearchElement:true @ ObjectModel.readOnly:正确 将Monster.monsterid键设置为MonsterId, //名称 将Monster.name作为Name, //公开协会 @ ObjectModel.association.type:[#TO_COMPOSITION_CHILD] _MonsterItem//公开关联 }
CDS视图Znl_Monsteritem
@ AbapCatalog.sqlViewName:'ZDDL_NL_I_MNSTRI' @ AbapCatalog.compiler.compareFilter:是 @ AccessControl.authorizationCheck:#NOT_REQUIRED @ EndUserText.label:'ZNL_MONSTERITEM' @ Search.searchable:是 @ ObjectModel.semanticKey:['MonsterId','MonsterItemId'] @ ObjectModel.representativeKey:'MonsterItemId' @ ObjectModel.writeActivePersistence:'ZNL_D_ITEM' @ ObjectModel.createEnabled:是 @ ObjectModel.deleteEnabled:是 @ ObjectModel.updateEnabled:是 定义视图Znl_Monsteritem 从znl_d_item中选择作为项 //与标题关联 在Item.monsterid = _Monster.MonsterId {上,作为_Monster的Znl_Monster关联[*] //怪物 @ Search.defaultSearchElement:true @ ObjectModel.readOnly:正确 键Item.monsterid作为MonsterId, //怪物物品 @ Search.defaultSearchElement:true 键Item.itemid作为MonsterItemId, //名称 Item.name作为名称, //测量字段 Item.price作为价格, 数量作为数量, Item.power作为力量, //公开协会 @ ObjectModel.association.type:[#TO_COMPOSITION_PARENT,#TO_COMPOSITION_ROOT] _怪物 }
(82.9 kB)
您好 Nils Lutz ,
您找到解决问题的办法了,我也很同情。
您是否知道@ ObjectModel.transactionalProcessingEnabled注释在SAP NetWeaver 750中是否也不起作用?
我在Eclipse中看到此注释的字体颜色与其他注释的字体颜色不同,并且BOF不在SAP NetWeaver中创建。
嗨,洋子,
很抱歉,我们找不到此问题的解决方案。 从那以后,我们不再深入探讨BOPF主题。
此致
Nils
嗨,Nils/Marcio,
你们能从CDS注释中在BOPF中创建子节点吗? 关于创建子节点有什么建议吗? 还是您把机票交给SAP以寻求进一步的帮助?
自那时以来,我关注了几篇文章,并严格按照建议的注释进行创建。 我只能在BOPF中创建"根"节点,但未创建子节点。 您能否让我知道子节点创建的问题是什么? 因为我没有任何授权问题,也没有错误。
谢谢
Santosh Kumar J
您的评论对我有所帮助,谢谢!
您好,
我遇到了类似的问题,即未生成子节点。 因此,我开始尝试各种变体,然后意识到在子视图中,我指定了以下内容:
semanticKey:['SalesOrder','SalesOrderItem'],
在阅读有关此注释的文档时,它指出"对于给定的实体,仅定义了一个语义键。"
所以我将其更改为以下内容:
semanticKey:['SalesOrderItem'],
然后删除我的BOPF对象并重新生成。 这解决了问题。
尝试一下,因为我不确定为什么会出现这种行为。
干杯
Vikas
嗨,
我正面临类似的问题。 但是问题是,我的根节点下面有三个子节点。 我在根节点下创建了一个新的子节点,但未添加。
此外,我在subnode-3下创建了一个子节点。 BOPF中也没有将其累加。
请为此提供解决方案。
谢谢
Vignesh。
一周热门 更多>