發郵件的例子
下面是一個利用通用模塊SO_NEW_DOCUMENT_ATT_SEND_API1進行發郵件的例子。
發送的檔案內容及附件內容:
***************
Record No. Record Description Error Text
1 1st record 1st record in attachment
2 2st record 2st record in attachment
****************
file name was : Arcos Error Report.TXT.
mail body was : Short description of contents(subject)subject : SOME DESCRIPTION
REPORT ZPRG_MAIL.
*----------------------------------------------------------------------*
* PARAMETERS DEFINITION
*----------------------------------------------------------------------*PARAMETERS:
P_EMAIL(40) TYPE C DEFAULT .
*----------------------------------------------------------------------*
* DATA DEFINITION
*----------------------------------------------------------------------*DATA:
G_TABLE_LINES LIKE SY-TABIX, " table index
G_TAB TYPE X VALUE '09'. " TAB value
DATA:
X_DOC_CHNG LIKE SODOCCHGI1, " document attributes
IT_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
" attachment table
IT_OBJHEAD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
" object header table
IT_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
" binary table
IT_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
IT_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.
*----------------------------------------------------------------------*
* INITIALIZATION
*----------------------------------------------------------------------*INITIALIZATION.
CLEAR IT_RECLIST.
REFRESH IT_RECLIST.
*----------------------------------------------------------------------*
* START-OF-SELECTION
*----------------------------------------------------------------------*START-OF-SELECTION.
*-fill email ids
IT_RECLIST-RECEIVER = P_EMAIL.
IT_RECLIST-REC_TYPE = 'U'.
*-append receiver table
APPEND IT_RECLIST.
CLEAR IT_RECLIST.
*-set document attributes
CLEAR: X_DOC_CHNG.
X_DOC_CHNG-OBJ_NAME = 'HEADING'.
X_DOC_CHNG-OBJ_DESCR = 'Short description of contents(subject)'.
*-set body text
IT_OBJTXT = 'This is the first line of the mail'.
APPEND IT_OBJTXT.
IT_OBJTXT = 'This is the second line of the mail'.
APPEND IT_OBJTXT.
*-document size
CLEAR G_TABLE_LINES.
DESCRIBE TABLE IT_OBJTXT LINES G_TABLE_LINES.
READ TABLE IT_OBJTXT INDEX G_TABLE_LINES.
X_DOC_CHNG-DOC_SIZE =
( G_TABLE_LINES - 1 ) * 255 + STRLEN( IT_OBJTXT ).
*-set packing list for body text
CLEAR IT_OBJPACK-TRANSF_BIN.
IT_OBJPACK-HEAD_START = 1.
IT_OBJPACK-HEAD_NUM = 0.
IT_OBJPACK-BODY_START = 1.
IT_OBJPACK-BODY_NUM = G_TABLE_LINES.
IT_OBJPACK-DOC_TYPE = 'RAW'.
APPEND IT_OBJPACK.
CLEAR IT_OBJPACK.
*-set object header
IT_OBJHEAD = 'Arcos Error Report'(057).
APPEND IT_OBJHEAD.
CLEAR IT_OBJHEAD.
*--for attachment ---start
*-populate object bin table for attachment
*-column header
CONCATENATE 'Record No.'
'Record Description'
'Error Text'
INTO IT_OBJBIN
SEPARATED BY G_TAB.
APPEND IT_OBJBIN.
CLEAR IT_OBJBIN.
*-error details
CONCATENATE '1'
'1st record'
'1st record in attachment'
INTO IT_OBJBIN
SEPARATED BY G_TAB.
APPEND IT_OBJBIN.
CLEAR IT_OBJBIN.
CONCATENATE '2'
'2st record'
'2st record in attachment'
INTO IT_OBJBIN
SEPARATED BY G_TAB.
APPEND IT_OBJBIN.
CLEAR IT_OBJBIN.
*-get total no.of lines of Object table(attachment)
CLEAR : G_TABLE_LINES.
DESCRIBE TABLE IT_OBJBIN LINES G_TABLE_LINES.
*-populate object header
IT_OBJHEAD = 'Report'.
APPEND IT_OBJHEAD.
CLEAR IT_OBJHEAD.
*-packing list for attachment
IT_OBJPACK-TRANSF_BIN = 'X'.
IT_OBJPACK-HEAD_START = 1.
IT_OBJPACK-HEAD_NUM = 1.
IT_OBJPACK-BODY_START = 1.
IT_OBJPACK-BODY_NUM = G_TABLE_LINES .
IT_OBJPACK-DOC_TYPE = 'RAW' .
IT_OBJPACK-OBJ_NAME = 'ABCD'.
IT_OBJPACK-OBJ_DESCR = 'ERROR REPORT'.
IT_OBJPACK-DOC_SIZE = G_TABLE_LINES * 255.
APPEND IT_OBJPACK.
CLEAR IT_OBJPACK.
*--code for attachment -- end
*-Sending the document
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = X_DOC_CHNG
PUT_IN_OUTBOX = 'X'
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
TABLES
PACKING_LIST = IT_OBJPACK
OBJECT_HEADER = IT_OBJHEAD
CONTENTS_BIN = IT_OBJBIN
CONTENTS_TXT = IT_OBJTXT
RECEIVERS = IT_RECLIST
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 <> 0.
ENDIF.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8214011/viewspace-897022/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javamail郵件傳送例子JavaAI
- 郵件開發:接收解析郵件
- 郵件開發:複雜郵件的一個示例
- 群發郵件
- shell發郵件
- oracle 發郵件Oracle
- 在servlet中直接寫埠傳送郵件的例子 (轉)Servlet
- 用Oracle發郵件Oracle
- linux下發郵件的配置Linux
- python 發個郵件Python
- 郵件開發:DNS、JDNIDNS
- Oracle 發郵件過程Oracle
- 轉發郵件附件丟了
- 發郵件失敗,求助
- 郵件營銷用純文字郵件還是html郵件HTML
- JS實現發郵件功能JS
- 利用命令列發郵件命令列
- python自動發郵件Python
- 郵件開發:傳送程式
- Java郵件群發(web版)JavaWeb
- 用 Android Intent 發郵件AndroidIntent
- 利用SQL Server發郵件 (轉)SQLServer
- 透過python發郵件Python
- 郵件開發:電子郵件的傳輸過程、各種協議的說明協議
- linux mail利用外部郵箱地址發郵件LinuxAI
- 利用godaddy的cpanel郵箱伺服器的smtp發郵件Go伺服器
- 在FoxMail裡收發ZohoMail的郵件AI
- 一個不錯的發郵件工具blat
- 郵件開發:Javamail、JAF簡介JavaAI
- 直接telnet 25埠發郵件
- 用ASP發電子郵件 (轉)
- Android開發呼叫第三方郵件應用傳送郵件Android
- 蘋果郵件蘋果
- 實現簡單的郵件收發器(十二)
- 發SMTP而不是微軟預設的MAPI郵件微軟API
- domino 發郵件時,透過修改 Principal 中的值改變發件人地址
- 使用python傳送郵件和接收郵件Python
- 多部門下發補貼?假的!Coremail郵件安全提醒:詐騙型釣魚郵件正在活躍!REMAI