新建预约时,界面字段Account和Contact被标记为必填字段
进入Account后,执行partner determination。如果只确定了一个联系人,则根据自定义设置自动填写字段联系人。但是,强制字段检查的错误仍然存在。如果按下"回车"键,错误将被清除。
这是标准的系统行为。在这种情况下,首先运行强制字段检查,然后运行partner determination来确定联系人。系统需要"触发器"来重新启动强制字段检查,因为系统很难知道UI字段输入何时完成。
但是最终用户不接受系统行为。因为他们觉得奇怪的是,这个错误仍然存在,智能物联,因为这个字段已经被填充了。如果找到的联系人不止一个,则从"合作伙伴选择"弹出窗口中选择联系人后就不存在此问题。
要绕过此问题,我可以考虑两种解决方法:
1。自定义更改
在已用合作伙伴确定过程中,将合作伙伴功能"联系人"的"选择限制"设置为1
之后,当找到一个联系人时,也会弹出一个选择。选择联系人后,删除"在字段中输入"错误。增强用户界面,在联系人填写完毕后删除错误信息
在get方法中增加对联系人值的检查。填写联系人值后,大淘客网站,从CL\u BSP\u WD\u message\u服务的message\u选项卡和BSP\u MESSAGES中删除联系人的错误消息BSP\u WD 022。
我更喜欢自定义更改。或者说服客户接受标准系统行为,因为错误只是暂时显示的。用户界面增强可能会导致其他问题,系统升级不支持此功能。
您的选择是什么?定制还是增强?
我的选择是通过OSS向SAP报告这是一个明显的错误,并要求他们修复,理由是我每年向他们支付巨额的"维护费",你应该用这笔钱拿回一些东西。
他们不会,如果这被认为是一个错误,那么一些事情已经做了。
如果有一个明确的错误,如上述一个在我写的任何软件,它将在一个小时内修复,一旦我意识到错误。
太多的时候,当有一个明显的错误,你提出了一个开放源码软件的便笺回来回答"这不是一个错误,这是工作的设计",这意味着"我们已经作出了一个有意识的决定,这不是正常工作,所以,接受它"
当谈到"说服习俗接受标准行为"这听起来有点比如:-
顾客:你卖给我的这只鹦鹉死了。
SAP:不,移动大数据,它不是,它在睡觉。
顾客:我告诉你它死了,它洗掉了这个凡人的线圈等等
SAP:不,不,死是鹦鹉的标准行为。那只鹦鹉正在按计划工作。
等等……
有趣的是,数据分析和大数据,我在每一个项目上都面对这个问题。。。每次我只在方法中用一行简单的代码就解决了这个问题,并完成了相应视图控制器的输入:
我->键入的上下文->btpartnerset->集合包装器->发布当前()。
事实上,在SAP标准中,系统这样做的原因只是因为在业务中输入业务伙伴事务,合作伙伴确定将在后台运行(这将反过来用联系人填充API缓冲区)。问题是:在这一点上,BOL缓冲区不可能知道一个新的联系人被添加到API缓冲区,除非您"强制"一个BOL缓冲区刷新。这是我们可以很容易地用上面的代码行。。。令人惊讶的是,您会在SAP标准方法DO\u PREPARE\u OUTPUT中发现完全相同的代码行。不幸的是,此方法是在执行强制字段检查后调用的。。。由于在流程后期插入了一行代码,因此导致错误消息。
我已经用此解决方案打开了一个客户事件,并得到通常的"系统按设计工作"回答。所以我一直在为我正在开发的每个SAP CRM系统添加这行代码……
干杯,
尼克。
一般来说,我只支持配置而不是定制/增强。不过,返利平台,在这种情况下,我也同意"标准"系统响应不充分或不理想。我的客户通常至少需要一个,但通常希望能够添加多个联系人。因此,编码增强是首选方法。
感谢Nick与团队共享此位代码。