SAP HCM公共控制器PersInfoWrapperController

问题描述 投票:0回答:1

亲爱的SAP Fiori专家

有人可以就我面临的问题提出建议。我正在尝试扩展标准的HCM Fiori应用程序 - 我的通信数据。要求是在按下保存按钮时在其中一个视图中为输入字段添加一些验证。

不幸的是我无法找到相应的控制器来添加验证,视图使用的是HCM commons控制器“hcm.fab.lib.common.controller.PersInfoWrapperController”,有人可以建议在这种情况下添加自定义代码的位置甚至保存按钮也在“sap.ushell.ui.footerbar”中?先感谢您。

查看:enter image description here

项目结构:

enter image description here

sapui5 sap-fiori
1个回答
1
投票

您在屏幕截图中显示的视图是“显示” - 视图,仅包含标签和文本。因此,您无法使用此视图进行输入验证。你可能想要使用的相应“编辑”-View是“99_Edit_Default_V001.view.xml”:enter image description here

在此视图中,您将找到相应的输入字段。

您可能希望使用PersInfoCommonCountryController,而不是使用您提到的PersInfoWrapperController,如上所示。

此控制器位于通用服务“HCMFAB_COMMON”中,该服务由所有ESS应用程序共同使用。 PersInfoCommonCountryController用于所有PersInfo应用程序中的“编辑”屏幕。它提供了一个方法“validateField”,它只检查必填字段但不检查可选字段。

具有属性fieldGroupIds =“PersInfoValidation”的所有字段都经过验证。在SAP标准中,这些是SAP提供的屏幕上的所有输入字段。目前无法使用针对客户特定扩展的Controller-Hook。

实现客户特定输入验证的一种方法是,可以基于SAP的通用PersInfoCommonCountryController实现客户特定的“CommonCountryController” - 类似于特定于应用程序的“CommonCountryController”:enter image description here特定于应用程序的控制器(标有绿色)需要用您自己的客户特定控制器替换。

除此之外,您还需要在“controllerName”下的标题中提供您自己的客户特定屏幕和参考,并将其引用到您自己的客户特定控制器。

为了加载客户特定的屏幕,您需要在后端创建一个特定于客户的增强点“HCMFAB_PERSINFO”实现 - 国家/地区版本将为“99”。

此实现可以继承自“CL_IM_HCMFAB_PERSINFO_CONFIG99”类。

方法“IF_EX_HCMFAB_PERSINFO_CONFIG~GET_SCREEN_VERSIONS”需要重新定义,以返回客户特定的App ID屏幕“if_hcmfab_constants => gc_application_id-mycommunication('MYCOMMUNICATION')”:enter image description here


0
投票

谢谢@SAP Fiori Crew,这对我很有帮助。回复晚了非常抱歉

© www.soinside.com 2019 - 2024. All rights reserved.