WebClient UI 作为一种极佳的企业级应用 UI 开发技术,给开发人员提供了强大而灵活选择来实现用户的各种需求。
在实际的 CRM 实施项目中,一个常见的要求是,概览页面中的某个分配块只能在某种情况下显示,例如被 ABAP business switch 开启与否的控制。
本文以下是通过 ABAP 代码控制一个赋值块的可见性的三种方法。
方法一:动态视图分离
这种做法的思路是,
redefine
概述页面的控制器类的方法
DETACH_STATIC_OVW_VIEWS
.
所有放入内部表 rt_viewid 中的视图将在运行时被 UI 框架隐藏。
下面的代码是一个示意,开发人员可以评估第 3 行中的某些条件,如果满足条件,则赋值块 SearchResult 将被隐藏。
方法2:动态UI配置加载
创建一个新配置,其中仅显示搜索视图。 配置绑定到特定的 UI 对象类型。
现在我们有两个 UI 配置。 标准配置默认显示两个分配块,UI 对象类型 = CRM_SMC 的配置将仅显示搜索视图。
方法
DO_CONFIG_DETERMINATION
的实现代码:
method DO_CONFIG_DETERMINATION." IF search result view should be hidden
me->set_config_keys( iv_object_type = 'CRM_SMC'
iv_propagate_2_children = abap_false ).
" ENDIF
endmethod.
方法三:通过 business switch 可见性
这是三种方法里最优雅的方式,但前提是只有当我们想通过业务开关控制视图的可见性时,才可以使用它。
ABAP Business Switch(ABAP业务开关)是SAP系统中的一项功能,用于控制特定的业务功能或行为。它允许管理员在系统中启用或禁用某些功能,以满足特定的业务需求或遵循特定的规则和标准。通过启用或禁用这些开关,可以调整系统的行为,以适应不同的业务场景。
ABAP 业务开关通常用于以下情况:
- 功能启用/禁用: 在系统中启用或禁用特定的功能模块或业务流程。这可以根据企业的需求来调整系统的功能,以便满足不同的业务需求。
- 法律遵从性: 一些国家或行业可能有特定的法规和标准,要求企业在其系统中实施特定的控制措施。ABAP业务开关可以帮助企业符合这些法规,通过启用或禁用相关功能来确保系统的合规性。
- 性能调优: 在某些情况下,启用或禁用特定的功能可以改善系统的性能。ABAP业务开关可以用于调整系统的行为,以提高性能或减少资源消耗。
- 实验和测试: 在系统开发或更新过程中,可以使用ABAP业务开关来启用或禁用新功能,以进行测试和验证。这有助于确保新功能的稳定性和兼容性。
ABAP 业务开关的配置通常由系统管理员或具有相应权限的用户进行。它们可以在 SAP 系统的管理界面中进行设置和管理。
当我们将分配视图分配到运行时存储库中的概述页面的视图区域时,可以分配 business switch,如下图所示。 如果关闭该开关,UI Framework 将自动隐藏相关视图。
将视图分配给概览页面的视图区域后,switch ID 将显示在视图名称后面。
首先可以通过 tcode SFW1,找到 business function
CRM_SOC_SFWS_SMI_2
的相关业务功能,
然后在SFW5中查找业务功能状态:
以上就是三种通过方式的详细介绍。大家在项目中可以根据自己的实际情况,选择最适合自己的一种来实现。
版权归原作者 汪子熙 所有, 如有侵权,请联系我们删除。