SAP HCM通用控制器PersInfoWrapperController

时间:2019-04-25 17:41:21

标签: sapui5 sap-fiori

尊敬的SAP Fiori专家

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

不幸的是,我找不到相应的控制器来添加验证,该视图使用的是HCM公共控制器“ hcm.fab.lib.common.controller.PersInfoWrapperController”,可以请一些建议在哪里添加自定义代码在这种情况下,甚至“保存”按钮也位于“ sap.ushell.ui.footerbar”中?预先谢谢你。

查看:enter image description here

项目结构:

enter image description here

2 个答案:

答案 0 :(得分:0)

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

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

您可能希望使用 PersInfoCommonCountryController ,而不是像您提到的那样使用 PersInfoWrapperController

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

所有具有属性 fieldGroupIds =“ PersInfoValidation ”的字段均得到验证。在SAP标准中,这些是SAP交付的屏幕上的所有输入字段。 当前没有用于客户特定扩展的Controller-Hooks。

实施特定于客户的输入验证的一种方法是,根据SAP的通用 PersInfoCommonCountryController 实施特定于客户的“ CommonCountryController ”,类似于针对特定应用的“ CommonCountryController ”: enter image description here 应用专用控制器(标有绿色)需要替换为您自己的客户专用控制器。

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

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

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

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

答案 1 :(得分:0)

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