Fiori缓存与它的清除

最近在修改已有的Fiori应用,遇到了缓存上的一点问题,导致对Fiori应用的代码修改不能在前端页面生效。现将自己查到的一篇好资料翻译过来,以供参考。以下为正文。

2017.12.19更新:最近又遇到个问题,打开某应用时,提示“应用打开失败,请稍后再试(fiori could not open app. try again later)”,可以通过/UI2/INVALIDATE_GLOBAL_CACHES来解决。

 

我们知道,大部分情况下SAP Fiori安装在本地,使用企业的基础网络设施,经常会遇到网络延迟,特别是在复杂和分布式的场景下。

为了克服这些问题,SAP Fiori拥有以下缓存层:

  • SAP后端系统缓存——通常是OData服务相关的缓存
  • SAP Netweaver Gateway 缓存——OData服务,BSP应用和Fiori配置缓存
  • SAP Fiori客户端/Web浏览器缓存——用户终端设备上的缓存

 

本文链接:http://www.cnblogs.com/hhelibeb/p/7793730.html

英文原文:Clear SAP Fiori Cache

什么情况下我需要清除SAP Fiori缓存?

 

通常SAP Fiori缓存应该在它的配置、OData服务、Fiori BSP应用和主题发生修改时,或者应用了补丁/SAP notes时清空。在你遇到Fiori应用的陌生问题时,刷新缓存也是一个不错的故障定位方式。

清除缓存的步骤

1,清除后端缓存

为每个后端系统运行事务代码 /IWBEP/CACHE_CLEANUP (SAP ERP, CRM等)。

选择复选框"Cleanup Cache in all models"

2,清除SAP Gateway缓存

2.1 如果某些和主题相关的东西或系统发生了修改,需要重建客户主题、并且清除主题缓存。

  • 在SAP Gateway URL中使用你的主题设计器重建主题,URL是:
    https://<Your GW Server Host:Port>/sap/bc/theming/theme-designer/
    选择客户主题,点击rebuild。

  • 通过在你的SAP Gateway系统中运行事务代码 /ui5/theme_tool 来清空Fiori主题缓存。双击[Invalidate Cache]按钮。

2.2 运行事务代码  /IWBEP/CACHE_CLEANUP

选择复选框 "Cleanup Cache in all models"

2.3 运行事务代码  /IWFND/CACHE_CLEANUP (注意和2.2有区别)

2.4 运行以下报表

  • /UI2/INVALIDATE_GLOBAL_CACHES - 选择运行模式
  • /UI2/CHIP_SYNCHRONIZE_CACHE
  • /UI2/DELETE_CACHE_AFTER_IMP
  • /UI2/INVALIDATE_CLIENT_CACHES - 选择“所有用户”
  • /UI5/UPDATE_CACHEBUSTER

2.5 运行事务代码 SMICM 。在菜单选择 转到——HTTP插件——服务器缓存——使全局无效。

3,清除反向代理缓存(如有)

如果有的话,你需要清除反向代理缓存。通常它是 SAP Web Dispatcher,不过也可能是其它的产品。

4,清除客户端缓存

如果SAP UI5 Cache buster的设置正确,是不需要做额外操作的。如果不是正确设置过的话,你才需要手动清除浏览器或者Fiori客户端里的缓存。

 

参考文章:SAP Fiori – Cache Management

 

转载于:https://www.cnblogs.com/hhelibeb/p/7793730.html

<think>我们正在解决SAPFiori加载目录失败的问题。根据用户提供的信息和引用内容,我们可以从以下几个方面进行排查和解决:1.**检查后端系统连接**:引用[1]提到SAPFiori应用程序在运行时使用来自SAPBusinessSuite后端系统的数据。因此,首先需要确保前端能够正常连接到后端系统。检查网络连接、系统状态以及必要的授权是否正常。2.**检查开发类配置**:引用[4]中提到了一个错误:“Objectcannotbecreatedwithoutadevelopmentclass”。在创建目录时,需要指定一个开发类(DevelopmentClass)。如果未指定或指定的开发类不存在,就会导致此错误。因此,在创建目录时,确保正确指定开发类。3.**检查SAPFioriTools配置**:引用[3]提到了SAPFioriTools中的PageMap功能,它依赖于app.json和manifest.json文件。虽然用户的问题是关于目录加载失败,但配置文件的错误也可能导致目录无法正常加载。检查相关配置文件(尤其是manifest.json)中关于目录的配置是否正确。4.**检查SAP云SDK和Fiori项目配置**:引用[2]介绍了SAP云SDKiOSFiori项目,如果用户是在移动端遇到问题,可能需要检查相关模块的配置和依赖。确保项目中的FioriThemeManager、FioriSwiftUICore等模块配置正确,并且后端目录服务兼容。5.**检查目录创建步骤**:确保按照正确的步骤创建目录。在SAPFioriLaunchpadDesigner中创建目录时,需要正确配置目录的属性、角色分配等。错误步骤可能导致目录无法加载。**具体解决方案步骤**:1.**验证后端连接**:-使用事务代码`SM59`检查RFC连接是否正常。-检查网关系统后端系统的连接状态。2.**指定开发类**(针对创建目录时的错误):-在创建目录时,在弹出窗口中填写正确的开发类(例如,`$TMP`用于本地对象,或指定一个有效的包)。-如果使用OData服务创建目录(如引用[4]中的情况),确保在POST请求的负载中包含开发类信息。3.**检查manifest.json配置**:-打开SAPFiori项目的manifest.json文件。-检查`sap.app`下的`dataSources`部分,确保目录服务的数据源配置正确。-检查`sap.portal`下的配置,确保目录的ID和路径正确。4.**清除缓存**:-有时浏览器或FioriLaunchpad的缓存可能导致目录加载失败。尝试清除浏览器缓存或使用隐身模式访问。-在SAP系统中,可以尝试清除网关缓存(使用事务代码`/IWFND/CACHE_CLEANUP`)。5.**检查用户角色和权限**:-确保当前用户拥有访问目录的必要角色(例如,SAP_BR_ADMINISTRATOR)。-使用事务代码`PFCG`检查角色是否包含相应的目录和组。6.**查看日志和错误消息**:-在SAP系统中查看系统日志(事务代码`SM21`)和应用日志(事务代码`SLG1`)以获取更多错误信息。-在浏览器开发者工具中查看网络请求和响应,定位具体错误。如果以上步骤无法解决问题,可能需要进一步分析具体错误消息或联系SAP支持。相关问题:1.如何配置SAPFioriLaunchpadDesigner中的目录?2.如何解决SAPFiori应用程序中的权限问题?3.如何调试SAPFiori应用程序的网络请求?</think>### SAP Fiori 加载目录失败的解决方案 根据您描述的目录加载失败问题,结合SAP Fiori架构特性和相关引用资料,以下是系统性解决方案: --- #### **1. 检查开发类配置** [关键步骤] 引用[4]明确指出目录创建需要开发类: ```abap Error (500) in OData response: "Object cannot be created without a development class" ``` - **解决方案**: - 使用事务代码 `SE80` 创建开发类(如 `$TMP` 临时类) - 在创建目录时,在弹出窗口中填写开发类字段 - 通过Fiori Launchpad Designer创建目录时,确保在"包"字段指定有效开发类 --- #### **2. 验证后端系统连接** 引用[1]强调Fiori依赖后端数据: > "SAP Fiori应用程序在运行时使用来自SAP Business Suite后端系统的数据"[^1] - **排查步骤**: 1. 检查网关系统(`/IWFND/GW_CLIENT`)后端系统的RFC连接状态 2. 执行事务代码 `SM59` 测试目标系统连接 3. 确认OData服务激活状态(`/IWFND/MAINT_SERVICE`) --- #### **3. 检查配置文件同步** 引用[3]指出配置文件同步机制的重要性: > "Page Map基于app.json和manifest.json文件互相同步"[^3] - **关键操作**: - 检查 `manifest.json` 中 `sap.app` → `dataSources` 的目录服务配置 - 验证 `sap.portal` → `config` → `categories` 的ID后端一致 - 使用 **`Fiori Tools CLI`** 执行同步命令: ```bash fiori verify fiori deploy ``` --- #### **4. 权限角色配置** - **用户权限检查**: - 分配 `SAP_BR_ADMINISTRATOR` 标准角色 - 检查PFCG角色中的目录访问权限: ```abap SU01 → 用户角色 → 检查S_ICF授权对象 ``` - 确认目录的 `Target Mapping` 中配置了有效角色 --- #### **5. 移动端专项排查**(如适用) 引用[2]提及iOS SDK的特殊性: > "FioriSwiftUICore模块处理UI数据绑定"[^2] - **iOS解决方案**: - 更新 `FioriThemeManager` 到最新版本 - 在 `ApplicationDelegate.swift` 中检查 `SAPcpmsSettings` 配置 - 确保 `Info.plist` 包含: ```xml <key>com.sap.store</key> <string>your_catalog_id</string> ``` --- #### **6. 高级诊断工具** - **日志分析**: - 启用前端调试:URL参数添加 `?sap-ui-debug=true` - 查看网关日志:事务代码 `/IWFND/ERROR_LOG` - 分析HTTP跟踪:事务代码 `ST01` --- #### **故障树图** ```mermaid graph TD A[目录加载失败] --> B{开发类缺失?} A --> C{后端连接故障?} A --> D{配置文件错误?} B -->|是| E[配置SE80开发类] C -->|是| F[检查SM59连接] D -->|是| G[同步manifest.json] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值