文章目录
- 第二代增强-创建采购申请时的增强
- 业务要求
- 实现过程
- 创建项目
- 编写代码
- 激活增强
- 维护消息类
- 运行效果
- 断点
- 关键点
- 另一种形式的错误提示-出口函数EXIT_SAPLMEREQ_005
- 运行结果
第二代增强-创建采购申请时的增强
业务要求
实现过程
创建项目
编写代码
"AFNAM,申请人
"需求:NB类型的采购申请,需要输入申请人
DATA ls_eban LIKE LINE OF im_t_eban.
DATA: ls_message TYPE bapiret2.
LOOP AT im_t_eban INTO ls_eban.
IF ls_eban-bsart = 'NB' AND ls_eban-afnam IS INITIAL.
ls_message-type = 'E'.
ls_message-id = 'ZMM'.
ls_message-number = '000'.
ls_message-row = ls_eban-bnfpo.
APPEND ls_message TO ex_messages.
ENDIF.
ENDLOOP.
APPEND ls_message TO ex_messages.
:将错误消息存在EX_MESSAGES里面
EX_MESSAGES是导出参数,就是传出参数
激活增强
维护消息类
经过测试,还是要使用消息类,错误消息才正常显示
运行效果
断点
关键点
最关键的就是找到增强点,然后实现它了。要综合出口函数的文本描述,参数,还有就是经验的积累。
另一种形式的错误提示-出口函数EXIT_SAPLMEREQ_005
"检查工厂是不是1000工厂,不是则报错
DATA: ls_message TYPE bapiret2.
IF im_data_new-werks <> '1000'.
ls_message-type = 'E'.
ls_message-id = 'ZMM'.
ls_message-number = '001'.
APPEND ls_message TO ex_messages.
ENDIF.