abap系统消息处理与自定义消息处理
来源:互联网 发布:java pow方法 编辑:程序博客网 时间:2024/05/01 03:05
CLASS cl_message_mm DEFINITION LOAD.
DATA: gl_handle TYPE REF TO cl_handle_mm,
gl_dummy(72),
gl_message_handler TYPE REF TO cl_message_handler_mm,
gl_subrc TYPE sy-subrc,
gl_tabix TYPE sy-tabix,
gl_objdesc TYPE mepo_objdesc.
************************************************************************
* *
* Current business Object *
* *
************************************************************************
DEFINE mmpur_business_obj.
gl_subrc = sy-subrc.
gl_tabix = sy-tabix.
call method cl_message_mm=>set_current_business_obj
exporting im_business_obj = &1.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_business_obj_id.
gl_subrc = sy-subrc.
gl_tabix = sy-tabix.
call method cl_handle_manager_mm=>get
exporting im_id = &1
importing ex_handle = gl_handle.
call method cl_message_mm=>set_current_business_obj
exporting im_business_obj = gl_handle.
call method cl_message_mm=>set_current_context
exporting im_context = 5.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_obj_from_id.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_handle_manager_mm=>get
exporting im_id = &1
importing ex_handle = &2.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
* Definitions via varkey (non object Case)
DEFINE mmpur_business_obj_hd.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
clear gl_objdesc.
gl_objdesc-objtyp = cl_po_header_handle_mm=>c_objtyp.
gl_objdesc-varkey+0(10) = &1.
call method cl_message_mm=>set_current_business_obj
exporting im_business_obj_var = gl_objdesc.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_business_obj_it.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
clear gl_objdesc.
gl_objdesc-objtyp = cl_po_item_handle_mm=>c_objtyp.
gl_objdesc-varkey+0(10) = &1.
gl_objdesc-varkey+10(5) = &2.
call method cl_message_mm=>set_current_business_obj
exporting im_business_obj_var = gl_objdesc.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_business_obj_sc.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
clear gl_objdesc.
gl_objdesc-objtyp = cl_po_schedule_handle_mm=>c_objtyp.
gl_objdesc-varkey+0(10) = &1.
gl_objdesc-varkey+10(5) = &2.
gl_objdesc-varkey+15(4) = &3.
call method cl_message_mm=>set_current_business_obj
exporting im_business_obj_var = gl_objdesc.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_business_obj_ac.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
clear gl_objdesc.
gl_objdesc-objtyp = cl_po_accounting_handle_mm=>c_objtyp.
gl_objdesc-varkey+0(10) = &1.
gl_objdesc-varkey+10(5) = &2.
gl_objdesc-varkey+15(2) = &3.
call method cl_message_mm=>set_current_business_obj
exporting im_business_obj_var = gl_objdesc.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
************************************************************************
* *
* meta fields *
* *
************************************************************************
DEFINE mmpur_metafield.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_contextfield_mm=>set_current_field
exporting im_field = &1.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
*
DEFINE mmpur_metafield_add.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_contextfield_mm=>add_to_current_fields
exporting im_field = &1.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
*-----------------------------------------------------------------------
*
* Context
*
*-----------------------------------------------------------------------
DEFINE mmpur_context.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_message_mm=>set_current_context
exporting im_context = &1.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
************************************************************************
* *
* Events *
* *
************************************************************************
DEFINE mmpur_message_config.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_message_mm=>configure exporting im_msgty = &1
im_dialog = &2
im_collect = &3
exceptions failure = 01.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
* simple replacement of the ABAP message statement
DEFINE mmpur_message.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
message id &2 type &1 number &3 with &4 &5 &6 &7 into gl_dummy.
call method cl_message_mm=>create exporting im_msgid = &2
im_msgty = &1
im_msgno = &3
im_msgv1 = sy-msgv1
im_msgv2 = sy-msgv2
im_msgv3 = sy-msgv3
im_msgv4 = sy-msgv4
exceptions failure = 01
dialog = 02.
if sy-subrc = 1 or sy-subrc = 2.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
* configurable message ( T160M )
DEFINE mmpur_message_enaco.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
message id &2 type 'W' number &3 with &4 &5 &6 &7 into gl_dummy.
call method cl_message_mm=>create exporting im_msgid = &2
im_msgty = &1
im_msgno = &3
im_msgv1 = sy-msgv1
im_msgv2 = sy-msgv2
im_msgv3 = sy-msgv3
im_msgv4 = sy-msgv4
im_custom = 1
exceptions failure = 01
dialog = 02.
if sy-subrc = 1 or sy-subrc = 2.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_message_enaco_forced.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
message id &2 type 'W' number &3 with &4 &5 &6 &7 into gl_dummy.
clear sy-msgty.
call method cl_message_mm=>create exporting im_msgid = &2
im_msgty = &1
im_msgno = &3
im_msgv1 = sy-msgv1
im_msgv2 = sy-msgv2
im_msgv3 = sy-msgv3
im_msgv4 = sy-msgv4
im_custom = 1
im_force_collect = mmpur_yes
exceptions failure = 01
dialog = 02.
if sy-subrc = 1 or sy-subrc = 2.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
* specialized version of mmpur_message: useful for soft
* error messages
DEFINE mmpur_message_forced.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
message id &2 type &1 number &3 with &4 &5 &6 &7 into gl_dummy.
call method cl_message_mm=>create exporting im_msgid = &2
im_msgty = &1
im_msgno = &3
im_msgv1 = sy-msgv1
im_msgv2 = sy-msgv2
im_msgv3 = sy-msgv3
im_msgv4 = sy-msgv4
im_force_collect = mmpur_yes
exceptions failure = 01
dialog = 02.
if sy-subrc = 1 or sy-subrc = 2.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_remove_messages_by_id.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_handle_manager_mm=>get
exporting im_id = &1
importing ex_handle = gl_handle.
call method cl_message_handler_mm=>get_handler importing
ex_handler = gl_message_handler.
call method gl_message_handler->remove_by_bo exporting
im_business_obj = gl_handle
im_context = 5.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
DEFINE mmpur_remove_msg_by_context.
gl_tabix = sy-tabix.
gl_subrc = sy-subrc.
call method cl_handle_manager_mm=>get
exporting im_id = &1
importing ex_handle = gl_handle.
call method cl_message_handler_mm=>get_handler
importing ex_handler = gl_message_handler.
call method gl_message_handler->remove_by_bo
exporting im_business_obj = gl_handle
im_context = &2.
sy-subrc = gl_subrc.
sy-tabix = gl_tabix.
END-OF-DEFINITION.
*-------如何使用
if it_ekpo-NETWR > 100000000.
mmpur_message 'W' 'ZEMM' '045' '100,000,000' '' '' ''.
endif .
*---包含程序
include MM_MESSAGES_MAC .
- abap系统消息处理与自定义消息处理
- Delphi 自定义消息处理过程与Windows消息处理过程
- 自定义消息的处理
- 处理自定义消息
- 自定义消息处理示例
- NSNotificationCenter 处理自定义消息
- 添加自定义消息处理
- wxwidgets的自定义消息与处理
- vc自定义消息处理函数与定时器
- 自定义消息的发送与接收处理
- 消息映射与消息处理
- Android消息处理系统
- 系统提示消息处理
- 消息系统扩容处理
- MFC消息处理与SDK消息处理
- MFC消息处理与SDK消息处理
- ABAP开发 ~消息处理 (Messages)
- 如何处理自定义消息 (非命令消息)
- tapestry5.1使用 t:if时应注意一点
- automount 配置
- 今天刷了联想乐Phone的S950版固件,有了小部分改善
- 说服他人的5种技巧
- c语言显示当前时间
- abap系统消息处理与自定义消息处理
- Ubuntu不得不分享的24条使用经验
- DDN配置实例
- DevExpress 控件翻译成简体中文(图)
- java 验证电子邮件 java利用正则表达式验证电子邮件 java 验证Email
- dwr
- 通过闪回查询和事物查询恢复小记
- RSS 和 Atom 的区别简介
- 嵌入式学习之路