我们在SAPUI5
服务维护方面遇到了问题。通过SEGW
事务对服务实体进行更改之后,在GW
客户端中加载的元数据将保持更改前的状态。
例如,有一个日期字段更改为字符串,并且GW
引发错误invalid or no mapping to system data types found
。原因是尝试将字符串日期值(如“ 16.05.2019”)放入日期类型(实体的元数据没有以某种方式刷新)。
我们尝试刷新那些缓存:
通过:
我们还重新加载了元数据,甚至删除了实体并重新创建-所有这些都失败了。
在/IWFND_GW_CLIENT
事务中,显示了更新的元数据。
仅重新创建具有不同名称的实体似乎可以解决该问题,但这似乎并不是维护服务的好方法...
答案 0 :(得分:0)
/IWFND/CACHE_CLEANUP
与OData唯一相关,其他缓存则用于已部署的UI5应用程序。
如果您在具有多个后端系统的GatewayHub环境中,则必须在两个系统上都运行事务。
如果事务不执行此操作,则这两个系统都会进行另一次缓存清理,SAP会以不同的方式实现。在SEGW后端系统中更改服务后,这是我要做的事情:
SEGW
:重新生成运行时对象/IWFND/GW_CLIENT
执行/sap/opu/odata/ZyourService_SRV/$metadata
。
服务无变化Metadata -> Cleanup Cache -> on both systems
/sap/opu/odata/ZyourService_SRV/$metadata
。有变化的服务为确保令牌是最新的,必须定期执行报告/ UI5 / UPD_ODATA_METADATA_CACHE。