我在Eclipse中创建了一个新的odata服务和一个新的SAPUI5项目。我已经通过Teams-> Share Project-> Submit函数在Eclipse中与后端服务器共享了该项目,但是不知何故未创建节点/ sap / bc / ui5_ui5 / sap/。
我以前已经创建了服务,并且一直成功地使用了Eclipse中可用的功能,所以我很困惑为什么它不能与新服务一起使用。例如,我一个月前创建的另一个服务: 所有必需的节点都可用。
您有什么想法可能是问题吗?
答案 0 :(得分:1)
我在SAP Wiki中找到了此信息。这应该增加价值以找出根本原因。
首先,请检查表ICFSERVICE中是否存在条目,其中缺少服务的名称。例如,如果事务SICF中缺少节点“ testhandler”,则调用事务SE16,在ICF_NAME字段中输入TESTHANDLER(以大写字母表示),然后单击“执行”。然后根据结果继续:
1。)在表ICFSERVICE中找不到条目 在这种情况下,请与负责的应用程序团队联系,或针对缺少的服务的应用程序组件打开客户事件。实际缺少的SICF服务或节点,需要从应用程序侧进行分析-可能未安装必要的附加组件,或者未激活业务功能。服务也可能已被手动删除-检查SAP注释2270828中描述的更改文档。
2。)在表ICFSERVICE中找到一个条目,但是事务SICF仍然不显示该服务 在这种情况下,最可能的根本原因是ICF节点的节点ID不匹配。 SICF树结构基于表ICFSERVICE及其字段ICFNODGUID(节点ID)和ICFPARGUID(父节点的ID)。每个ICF服务都有一个节点ID和一个父节点ID-如果该服务试图使用无效的父节点ID,则该服务将不会显示在SICF树中。节点ID不匹配的可能根本原因是:
a。已经从几个不同的系统(可能具有不同的SP级别)传输了节点。 示例:
我们有两个开发系统D01和D02,以及一个质量系统Q01。
服务“ testhandler”及其父节点“ testparent”存在于系统D01和D02中。这两个系统具有不同的SP级别-结果,“ testhandler”和“ testparent”在D01和D02中也具有不同的节点ID。现在,如果将“ testhandler”从D01传输到Q01,并将“ testparent”从D02传输到Q01,则服务“ testhandler”将不会出现在系统Q01的ICF树中。
b。有些节点是在系统中手动创建的,其他的则已传输。 示例:
我们有一个开发系统D01和一个质量系统Q01。
系统D01中存在服务“ testhandler”及其父节点“ testparent”。在系统Q01中,我们手动创建节点“ testparent”-结果,D01和Q01中“ testparent”的节点ID将不同。现在,如果将“ testhandler”从D01传输到Q01,则服务“ testhandler”将不会出现在系统Q01的ICF树中。
解决方案:始终从同一源系统传输ICF节点。如果需要手动创建,则需要在源系统中完成,然后将其传输到目标系统。