SAP 发送邮件例子(内部)

来源:互联网 发布:桃源网络硬盘5.8 破解 编辑:程序博客网 时间:2024/05/11 09:07

REPORT ZSEND .

TABLES: KNA1.

* data for send function 
DATA DOC_DATA LIKE SODOCCHGI1. 
DATA OBJECT_ID LIKE SOODK. 
DATA OBJCONT   LIKE SOLI OCCURS 10 WITH HEADER LINE. 
DATA RECEIVER LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE.

SELECT * FROM KNA1 WHERE ANRED LIKE 'C%'. 
WRITE:/ KNA1-KUNNR, KNA1-ANRED.

* send data internal table 
CONCATENATE KNA1-KUNNR KNA1-ANRED 
                         INTO OBJCONT-LINE SEPARATED BY SPACE.

APPEND OBJCONT. 
ENDSELECT.

* insert receiver (sap name) 
REFRESH RECEIVER. 
CLEAR RECEIVER. 
MOVE: SY-UNAME TO RECEIVER-RECEIVER, 
        'X'      TO RECEIVER-EXPRESS, 
        'B'      TO RECEIVER-REC_TYPE. 
APPEND RECEIVER.

* insert mail description 
WRITE 'Sending a mail through abap' 
                 TO DOC_DATA-OBJ_DESCR.

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1' 
     EXPORTING 
          DOCUMENT_DATA              = DOC_DATA 
     IMPORTING 
          NEW_OBJECT_ID              = OBJECT_ID 
     TABLES 
          OBJECT_CONTENT             = OBJCONT 
          RECEIVERS                  = RECEIVER 
     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.