1,MEREQ001
用户出口(user-exit)MEREQ001是针对采购申请的增强,其中FM EXIT_SAPLMEREQ_010可以对采购申请的账户分配进行校验。
EXIT_SAPLMEREQ_010的输入参数,IM_T_EBAN、IM_T_EBKN是更改之后的采购申请和账户分配的值,
IM_T_EBAN_PERS、IM_T_EBKN_PERS是更改之前的旧值。
可以将错误消息保存到EX_MESSAGES中
下图就是ME52n中行项目上科目分配的tab页,科目类别是资产类(EBAN-KNTTP = 'A')的。
2,例子代码
针对资产采购,科目分配页签下维护的数量必须为1,否则报错。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
DATA:ls_eban LIKE LINE OF im_t_eban, ls_ebkn LIKE LINE OF im_t_ebkn, ls_message TYPE bapiret2. * 创建pr时,针对资产采购,科目分配页签下维护的数量必须为1,增加此校验规则 LOOP AT im_t_eban INTO ls_eban. IF ls_eban-knttp = 'A'. LOOP AT im_t_ebkn INTO ls_ebkn WHERE banfn = ls_eban-banfn AND bnfpo = ls_eban-bnfpo. IF ls_ebkn-menge <> '1'. ls_message-type = 'E'. ls_message-id = 'ZMM_001'."消息类 ls_message-number = '001'. ls_message-row = ls_eban-bnfpo. APPEND ls_message TO ex_messages. ENDIF. ENDLOOP. ENDIF. ENDLOOP. |
测试结果,报错屏幕如下:
以上。
发表评论