我正在开发ABAP。 我需要在ABAP Z程序中触发自定义事件。 任何人都可以告诉我如何在Z程序中调用自定义事件来发送电子邮件。 (请注意:这不是工作流程,我需要在Z程序中完成此任务)。
答案 0 :(得分:1)
您的描述有点模糊,因此一般来说,如果您谈到按下按钮并触发以下操作,您可能需要:
答案 1 :(得分:0)
您应该在事务SM62中创建自定义事件。在程序中,调用功能模块BP_EVENT_RAISE,以引发自定义事件。 “eventid”是您之前在SM62创建的事件的名称。
答案 2 :(得分:0)
使用以下代码示例通过调用功能模块SO_NEW_DOCUMENT_SEND_API1(SAPoffice:发送新文档)在ABAP z程序代码中发送电子邮件:
* Data Declarations
DATA: LT_MAILSUBJECT TYPE SODOCCHGI1.
DATA: LT_MAILRECIPIENTS TYPE STANDARD TABLE OF SOMLREC90 WITH HEADER LINE.
DATA: LT_MAILTXT TYPE STANDARD TABLE OF SOLI WITH HEADER LINE.
* Recipients
LT_MAILRECIPIENTS-REC_TYPE = 'U'.
LT_MAILRECIPIENTS-RECEIVER = 'sheetal@gmail.com'.
APPEND LT_MAILRECIPIENTS .
CLEAR LT_MAILRECIPIENTS .
* Subject.
LT_MAILSUBJECT-OBJ_NAME = 'TEST'.
LT_MAILSUBJECT-OBJ_LANGU = SY-LANGU.
LT_MAILSUBJECT-OBJ_DESCR = 'Mail Subject'.
* Mail Contents
LT_MAILTXT = 'This is a test mail'.
APPEND LT_MAILTXT. CLEAR LT_MAILTXT.
* Send Mail
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = LT_MAILSUBJECT
TABLES
OBJECT_CONTENT = LT_MAILTXT
RECEIVERS = LT_MAILRECIPIENTS
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
IF SY-SUBRC EQ 0.
COMMIT WORK.
* Push mail out from SAP outbox
SUBMIT RSCONN01 WITH MODE = 'INT' AND RETURN.
ENDIF.