scn中有几个关于此主题的开放性问题:在BAdI IF\u EX\u ME\u PROCESS\u REQ\u CUST中,您可以生成自定义消息。在某些情况下,希望再次删除这些自定义消息。经过几次尝试,数据与大数据,我终于找到了方法。
示例场景:请购单中的所有项目应具有相同的帐户分配类别。如果没有,大数据行业前景,我会在方法进程中发出一条自定义消息,告诉用户正在使用不同的类别。如果用户以解决此问题的方式更改了项目(所有帐户分配类别都相同),则应从消息日志中删除先前生成的自定义消息
如果处理\u请求\u客户~处理\u项目,则方法的示例编码:
数据:ls \u项目\u mereq类型mereq \u项目
数据:lv \u knttp类型knttp
数据:lt\u items类型MMPUR\u requision\u items。数据:ls\u item\u next type MMPUR\u requision\u item.
数据:ls\u header type REF TO IF\u PURCHASE请购单。数据:lo\ u item\ u next type ref to if\ u purchase\ u requision\ u item。数据:ls\u item\u next\u mereq type mereq\u item.
数据:lt\u events type MMPUR\u EVENT\u LIST。数据:ls\u事件类型MMPUR\u事件\u条目。数据:lo\ U business\ U object type ref to if\ U message\ U obj\ mm.
INCLUDE mm\ U messages\ U mac.
*cv\ U failed是指示*是否可以保存购买*请购单(将移动到方法检查失败的Chu)清除简历失败。
*获取项目数据ls\u item\u mereq=im\u item->获取\u数据()。lv\U knttp=ls\U项目\U mereq-knttp.
*与其他项目比较*获取其他项目的项目数据ls\u header=im\u item->获取\u请购单()。lt\u items=ls\u header->GET\u items().
将lt\u items循环到ls\u item\u next.
*GET objectlou item\u next=ls\u item\u next-item.
*只检查当前项目以外的项目如果lou item\u nextim\u item.
*获取项目数据
ls\u item\u next\u mereq=lou item\u next->获取项目数据()。
*不同的帐户分配,发出消息如果lv\u knttpls\u item\u next\u mereq-knttp.
*设置上下文(例如值为'092'),个人网站建站,以便此消息*稍后可以确定mmpur\u context CC\u MESSAGE\u ACCOUNTING.
mmpur\u MESSAGE\u forced'I''Z\u MM\u PUR'010'''''''''"。
CV\u failed='X'。结束。endif.
*根据需要清除消息*错误已消除如果cv\u失败,则为初始值。call method cl\u message\u handler\u mm=>get\u handler导入ex\u handler=gl\u message\u handler.
*获取所有消息
调用方法gl\u message\u handler->getlist导入EX\u EVENTS=lt\u EVENTS.
*循环消息将lt\U事件循环到ls\U事件中。
*检查上下文如果ls\u event-context=CC\u MESSAGE\u ACCOUNTING.
*删除消息lou business\u object=ls\u event-business\u OBJ。调用方法gl\u message \u handler->REMOVE \u BY \u BO导出IM\u BUSINESS\u OBJ=lou BUSINESS\u对象IM\u CONTEXT=ls\u事件上下文。结束。结束循环。结束。结束循环。
,云服务器试用,大数据治理平台