点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好BOPF大师,
我已经实现了验证,并将其挂接到实体的CREATE
我将创建的实体添加到失败的密钥中,并设置一些消息,因为创建实体的先决条件未得到满足。 我想防止保留刚刚创建的实体数据。
将e010消息转换为msg。 向消息移动对应。 c_message-> add_message( is_msg =消息 iv_node = zif_i_fi_geninvi_c => sc_node-zi_fi_geninviexp iv_key = <费用>-键 )。 add_failed_key(导出i_key =-key更改c_failed_keys = e_failed_keys)。
以这种方式没有成功,该实体被成功保留,并且SADL将新实体连同错误消息一起返回到浏览器。
我试图在消息中设置目标(属性)并更改生命周期,但不走运。 UI中的批处理请求中不会执行其他任何操作。
防止创建实体的最佳方法是什么? (我开始调试框架,但是当一致性检查失败时,似乎仍然可以创建。坦率地说,我停止了调试BO框架。用调试在短时间内获得整个画面是不够的)
我有以下解决方法:
1。 添加BOPF操作CREATE,它将手动创建实体而不是框架,并通过操作验证(在此处进行检查)进行补充,这可能会阻止执行CREATE操作。 将节点实例创建隐藏到动作中并不是很好,但是所有内容都保留在BO中。
2。 为创建操作定义SAP Gateway Data提供程序类,然后在调用通用SADL处理程序进行创建之前在其中进行检查。 我宁愿避免这种情况,因为适当的验证将不在我的BO文档中。 当我想在ABAP中重用我的BO在bg中执行一些大规模自动操作时,我将放弃检查。 这甚至对于维护来说也不是透明的,任何人都很难找到该代码。
也许将检查移到一个称为CHECK_CREATE的确定可能会有所帮助,同时将评估时间点更改为BOBX的早期阶段?
我们处于7.5 sp9级别。
欢迎在CDS BOPF SADL GW通道上提出任何建议:)
谢谢
(38.5 kB)
一致性验证(与操作验证相反)不会阻止修改。 但是它们可以防止储蓄。 设置复选框"保存前检查"应该可以完成这项工作。
感谢Ivo,按预期工作。 您始终在BOPF领域提供宝贵的帮助。 最好的问候
一周热门 更多>