内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

香港带宽_内江网站建设_价格

2021-07-23 00:07 出处:欧普曼云计算 人气: 评论(0

各位读者好,

在本文中,我将介绍如何清除OData服务的元数据缓存。当我们使用CDS和BOPF生成OData服务时,这个特性对开发人员很有用。当我们添加/删除/修改实体集中的任何属性或cd中的注释或任何BOPF功能(如createable、updateable或Deletable)时,我们需要清除元数据缓存,以便在元数据.xmlOData服务的文件,然后可以在任何UI5应用程序中使用。

清除此OData元数据缓存,主要有以下两种方式:

我们来看看上面的方法,

在这个方法中,我们使用TCodes/n/iwfnd/maint\ u服务和/n/iwfnd/gw\ u客户端来清除我们的元数据缓存。按照以下步骤:

进入TCode/n/iwfnd/maint\ U服务,从服务列表中选择所需的服务。您也可以使用filter按钮过滤技术名称的服务。

现在,企业软件平台,对于上述服务,要清除其元数据,我们可以转到TCode/n/iwfnd/gw\u客户端或单击左下角ICF节点部分的SAP Gateway client按钮。

下面的屏幕出现:

现在,要清除元数据缓存,我们可以点击更多,在弹出菜单中,选择元数据,然后选择清除缓存,在下一个弹出窗口中,点击"在两个系统上"选项。

这可以使用快捷键组合:Ctrl+Shift+F12来完成。

在执行上述步骤时,如果缓存被成功清除,则显示以下成功消息:

变体根据系统类型:

我们知道,SAP FIORI和NetWeaver Gateway基本上有两种实现方式,一种是嵌入式实现,前端系统(NetWeaver Gateway即OData和FIORI)和后端系统(ECC/Hana)都在同一台服务器上。另一种是集线器实现,其中NetWeaver网关和ECC/Hana驻留在两个不同的服务器上,它们通过RFC调用进行通信。

要使用上述过程清除元数据缓存,对于嵌入式实现,大数据,只需在后端系统上清除即可,但在集线器实现中,2018世界人工智能大会,必须清除两个系统上的缓存才能正确清除元数据缓存。

另一种清除元数据缓存的方法是使用tcode/n/IWBEP/REG\u服务。

在这里,如何成为淘客,我们可以提供我们服务的技术服务名称并单击"显示"按钮。

在这里,我们可以单击"清除缓存"按钮和我们服务的元数据缓存将被删除。

除了清理元数据缓存之外,TCode/n/IWBEP/REG\u服务还可以用来配置我们的OData服务。我们还可以获得模型提供者和数据提供者类的详细信息、技术服务名称和其他服务详细信息。我们还可以使用此TCode删除我们的服务。在这个方法中,我们可以在任何报表或函数模块或类方法中放置一段ABAP代码,并在需要清除OData服务元数据缓存时执行它。下面是一个SE38报告,其中包含可用于清除元数据缓存的代码段。

下面是代码:

在这里,我们从/IWFND/CL\u SUTIL\u MONI类调用一个方法"cleanup\u metadata\u cache"。该类主要用于处理我们OData服务的配置。

我们还有许多其他方法可供使用,我们可以根据需要使用。

清理元数据缓存占用一些导出参数,例如:

iv_模式–我们在两个系统上都有

A–清理缓存等选项B–仅在后端系统上清除缓存C–仅在集线器系统上清除缓存

iv_multi_origin–我们将此设置为true,因为我们的服务可以使用多个系统。

iv_namespace–这是我们服务的命名空间。我们知道OData服务大部分都存储在"/SAP/"命名空间下(可以从SICF TCode中检查),因此我们可以将相同的参数设置为该参数。

iv_service_name–此处我们可以放置服务名称(使用技术服务名称)。

iv_service_version–此处我们可以放置服务版本。通常是"0001"。只有在少数情况下是相反的。

这里要补充的一点是,在前面的方法中,我们使用了/n/iwfnd/gw\u client TCode来清除缓存,它只在内部使用这个类。如果我们在菜单中设置一个断点,点击"在两个系统上"按钮,我们可以检查元数据缓存如何被清除的整个流程。

要了解更多信息,请转到TCode se80并查看程序"/IWFND/SUTIL\u GW\u CLIENT",特别是屏幕0110。它包含了大部分清除元数据缓存的代码,例如在运行时使用功能模块动态获取服务名称和版本

使用这个方法,我们可以添加上面的代码片段,在系统中任何我们想清除缓存的地方,比如在get\u entityset方法中,人工智能是,或者任何功能模块中,类方法、报表、独立程序,甚至在BOPF中。在任何情况下,如果我们需要在UI的任何操作之后清除OData服务的元数据,我们可以创建一个对BOPF的确定,并将我们的代码放在那里。

元数据缓存将在每个UI操作之后被清除。BOPF确定代码可以这样写:

所以,从上面的代码中,我们可以通过从BOPF调用中检索操作、键和其他UI内容,然后清除缓存来动态获取操作、键和其他UI内容。

注意:我们如何确保我们的OData服务的元数据缓存已经被实际清除?

我们OData服务的元数据是从模型提供者类生成的。主要是MPC类中的DEFINE方法。因此,我们可以在SEGW TCode中转到我们的OData服务项目的DEFINE方法,并在DEFINE方法中放置一个断点。

当第一次请求服务的元数据时,MPC类将生成该元数据并将其放置在系统缓存中。因此,从第二次请求元数据开始,它将从缓存中带出,而不是从MPC类生成。

但是,当我们使服务的元数据缓存失效,然后请求元数据时,它将不得不再次由MPC类生成,因此,DEFINE方法中的断点将被触发

因此,如果我们在out MPC类的DEFINE方法中放置一个断点,基于它的触发,我们可以知道我们服务的元数据是否真的被清除了。

注意:我们如何导航到OData服务的模型提供者类,它是直接从CDS视图而不是使用SADL方法生成的?

如果OData服务是直接从CDS视图生成的,我们可以转到TCode/n/IWBEP/REG\u服务,给出我们的CDS生成的OData服务名称并单击"显示"。

在下一个屏幕中,我们可以向下滚动到"模型信息"部分,双击表单中提到的模型提供程序类。

此TCode也可以用于检查服务的注释,这些注释稍后可以在UI5应用程序中使用。我们可以通过点击上面屏幕上的注解模型按钮来实现这一点。

注意:我们可以通过什么方式确保从UI5应用程序中清除任何基于OData/元数据缓存?

要清除任何后端缓存并从后端接收更新的信息,我们可以执行一些基本步骤。

首先,打开清单.json在WebIDE中,以描述符编辑器格式。导航到数据源,点击Sync Metadata按钮。

它会将您在UI5应用程序中本地存储的元数据(如果您正在使用)与实际的OData服务元数据同步。

其次,我们也可以通过运行应用程序进行空缓存和硬加载。

注意:

以上过程用于清除元数据缓存只是。这些过程在清除OData服务缓存和BSP应用程序缓存时可能无效。有其他专用方法可用于清除这些缓存。

请在下面的评论中留下任何疑问或问题。

分享给小伙伴们:
本文标签: 香港带宽内江网站建设价格

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表