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向在线用户...通过以上分析,我们可以看到ABAP中向在线用户发送系统消息并自动刷新ALV的过程涉及到了多种技术和概念,包括数据管理、用户界面控制、事件处理和异常管理等,体现了ABAP开发的复杂性和灵活性。
标题“abap-ALV.rar_ABAP系统ALV_abap_abap开发alv”暗示我们将深入探讨ABAP ALV的使用,特别是在ABAP系统中的应用以及如何进行开发。 描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,...
ABAP长文本的读取与插入 ABAP长文本的读取与插入是ABAP开发中常见的操作,用于读取和...ABAP长文本的读取与插入是ABAP开发中非常重要的知识点,掌握了这项技术,可以更好地处理长文本数据,提高开发效率和系统性能。
《SAP ABAP开发详解与高端应用》这本书深入探讨了SAP ABAP(Advanced Business Application Programming)编程语言,这是SAP系统中用于开发业务应用程序的关键技术。ABAP是SAP平台上的核心编程语言,用于创建自定义...
在ABAP(Advanced Business Application Programming)环境中,处理Excel文件(通常以.xlsx格式存在)是常见的需求,例如数据导入导出、报表生成等。"abap xlsx2 demo 程序"是一个示例项目,旨在展示如何在SAP系统中...
SAP ABAP Query 是 SAP 系统中一种用于创建自定义报表的强大工具,尤其适合那些对 SQL 不太熟悉或者没有数据库直接访问权限的用户。它提供了丰富的功能,使得开发人员可以构建复杂的数据查询,而无需编写大量的 ABAP...
综上所述,这个自定义的ABAP函数提供了一个强大且灵活的方式来处理Excel文件的上传与数据读取任务。它不仅简化了开发过程,还提高了数据导入的准确性和效率。对于需要频繁处理Excel文件的项目来说,这是一个非常有...
BADI(Business Add-In)和屏幕增强是ABAP开发中的关键概念,它们允许用户自定义和扩展标准SAP功能以满足特定业务需求。 **BADI简介** BADI是一种灵活的、面向对象的设计技术,它允许开发人员在不修改标准SAP代码的...
ABAP 4.7版本开始支持SOAP和RESTful Web服务,使得SAP系统能与其他系统进行集成和数据交换。 9. 调试和测试: SAP提供了强大的调试工具,如ABAP Debugger,用于查找和修复代码错误,同时支持单元测试和集成测试。...
Dialog模块专注于处理与用户交互的屏幕对话框,通常用于处理数据库的读取和更新事务。Dialog程序不是独立运行的,而是通过transaction code触发屏幕对话流程。Dialog的流程逻辑分为PBO(Process Before Output)和...
自定义BAPI(Business Application Programming Interface)是SAP系统中用于外部系统集成的重要工具,它提供了标准化的接口,使得外部程序可以与SAP系统进行数据交互。以下将详细阐述自定义BAPI的基本过程: 1. ...
ABAP语言具有强大的编程能力、灵活的数据类型、丰富的内置函数和强大的错误处理机制等特点。ABAP程序是SAP R/3系统的核心组件之一,对于SAP系统的开发和实施起着至关重要的作用。 下载ABAP程序源代码的程序是指从...
- 事务码(Transaction Code):了解SAP系统的操作界面与事务码的关联,如何创建和使用自定义事务码。 - 选择屏幕(Selection Screen):学习创建交互式的输入屏幕,提高用户友好性。 - 内部表操作:深入理解内部...
这些基本知识对于ABAP程序员来说是不可或缺的,它们构成了ABAP编程的基础,使得开发人员能够有效地与SAP系统进行交互,处理数据,以及构建用户友好的应用程序。通过深入理解和熟练运用事务代码和系统变量,可以提高...
3. **业务逻辑**:编写处理业务逻辑的ABAP代码,与SAP业务对象交互。 4. **事件处理**:学习如何响应用户的操作,如按钮点击、字段改变等。 5. **状态管理和导航**:理解事务状态,实现事务间的导航和跳转。 “BCAB...
ABAP 屏幕设计中添加文本编辑器是指在 SAP 业务系统中,使用文本编辑器处理内表,并在屏幕上显示编辑器,退出时将内容输出。本文将详细介绍如何在屏幕上显示编辑器,退出时将内容输出。 知识点1:建立屏幕 在建立...
ABAP(Advanced Business Application Programming)是SAP系统中的一种编程语言,主要用于开发和定制企业级业务应用程序。本套“ABAP培训全套教材”是针对初学者和内部员工设计的,内容涵盖ABAP的基础到进阶知识,...
5. **错误处理与性能优化** 在设计接口时,应考虑异常处理,以捕获可能出现的错误,如文件打开失败、写入权限不足等。同时,为了提高性能,可以考虑批量写入单元格,而不是一次写一个。 6. **内存优化** OODI在...
此外,ABAP还支持证书和公钥基础设施(PKI),这在进行SSL/TLS通信或签署消息时非常有用。`cl_x509_certificate`类可以帮助处理X.509证书,而`cl_abap_rsa`类则提供了RSA加密和解密功能。这些技术对于确保网络传输...