云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站服务器_大连虚拟主机_返现

小七 141 0

系统环境示例(SAP内部系统):

WEBCUIF 749BBPCRM 715

主要内容:

参考:

KBA 2013392–不应强制时显示为强制的动态强制字段Blog动态强制字段-定制解决方案

我想将字段定义为强制字段应该是crmwebui世界中的一个非常常见的要求。简而言之,有两个选项:

让我们尝试一下高级要求:要启用动态强制字段,物联网工程师,强制与否将取决于同一视图中另一个字段的值。让我们有一个假要求,在创建个人帐户时,如果"学术头衔"的值为0002(在我的测试系统中是教授),我们希望"名字"字段为必填字段。""名字"字段在初始创建屏幕上不是必需的。

如果我们考虑上述两个选项,大数据分析,如果我们想使用选项1(通过配置),我们可能必须在运行时更改配置xml。从理论上讲,这是可能的,但与我们所拥有的简单的伪需求相比,不值得使用如此复杂的解决方案。或者,我们想使用选项2,也就是通过在P Getter中编码。我们只在第五步对上述选项2做了不同的编码,大数据好就业吗,如下:

我想已经完成了。但当测试结果出来时,却发现有以下困惑行为:

感觉如此悲伤?让我们来分析一下这种混乱是怎么造成的,

按"回车"键(往返)后,对于一个空的必填字段,会有3个系统行为

与之前的视频相比,我们可以看到上述3个系统行为是不一致的。为字段"学术头衔"选择值0002后,按Enter键。系统行为1和2a将出现和消失,这就是我们想要的。但是对于系统行为2b和3,我必须第二次按回车键才能正确显示它。系统行为3,这是强制字段为空时禁止保存的关键逻辑。由于系统行为的不一致性,强制控制无法正确实现。这不是我们想要的。

KBA2013392也描述了同样的问题。并说明在当前crmwebui框架下,仅在getter中添加逻辑并不能避免上述不一致的系统行为。KBA 2013392必须对标准限制等行为进行评论。那我们就没有出路了吗?不,让我们从KBA2013392中的评论开始,分析强制控制的机制,深度学习数据集,看看如何绕过这个标准限制。以下是KBA2013392的评论

这里提到的DO\u FINISH\u INPUT方法是CL\u BSP\u WD\u VIEW\u CONTROLLER method DO\u FINISH\u INPUT。让我们检查那里的编码

"问题错误"对应于系统行为3。和"设置错误状态"系统行为2。下面的屏幕截图显示了如何将"设置错误状态"转换为html表示。在CL\u THTMLB\u INPUTFIELD中,它接管从方法DO\u FINISH\u INPUT传递的错误状态,将一个错误类添加到html中。在CSS定义中,背景色和边框色解释了系统行为2a和2b。

在分析错误状态时,我碰巧找到了处理必填字段状态的编码。下面的屏幕截图显示,在CL\u THTMLB\u INPUTFIELD中,系统检查"required"属性,并将th ip sp md class id设置为html。这导致2a的系统行为。关于红星,它在CL\u THTMLB\u标签中处理。"*"被添加到标签中,CSS强制它变为红色。

那么这个"必需"属性从何而来?这是本博客开头提到的两个选项。编码细节如下

可视化一次往返流程如下。错误消息将基于bsp应用程序最后一次往返的必填字段。只有在它之后,P getter才会被调用。这导致了不一致的系统行为

经过分析,我觉得机制对我来说很清楚。但最初的问题还没有解决。

我已经和我们的Web UI开发人员讨论过了。我们的开发人员已将此问题包含在待办事项列表中。但这可能需要一段时间才能解决。在我们得到标准解决方案之前,让我们看看是否有机会绕过标准限制。

2013年有一个博客,讨论相同的动态强制字段要求。提出了客户bsp组件的解决方案。这个博客将尝试在一个增强的bsp组件的范围内。

让我们回顾一下可视化的流程。这里CL\u BSP\u WD\u VIEW\u CONTROLLER method POST\u MANDATORY\u FIELD为BSP应用程序添加了一个新的强制字段。这是一个公共方法。如果当前流要增加一个强制字段,我们可以在DO\u FINISH\u INPUT中获取\u EMPTY\u mandatory\u字段之前调用此方法。但如何减少必填字段?观察类CL\u BSP\u WD\u VIEW\u CONTROLLER attribute强制字段,它是一个私有属性。并且没有提供公共方法来删除强制字段的一个条目。所以这似乎是一个死胡同。

那么重新定义输入法如何?完成输入法吗?或者重新定义方法GET\u空\u强制\u字段?

在我同事的帮助下,我们通过重定义方法GET\u EMPTY\u MANDATORY\u FIELDS成功地实现了以下编码。在下面的代码中,最好创建一个单独的接口或方法来封装判断动态条件的逻辑,应该或不应该进行额外的逻辑。这可以导致易于阅读和扩展的未来。这里检查字段是否为空的编码是从CL\u BSP\u WD\u VIEW\u CONTROLLER method GET\u empty\u MANDATORY\u FIELDS复制的。