[SAP/ABAP] SEND EMAIL Example code

SAP ABAP 에서 이메일 보내는로직 

TABLES: SOMLRECI1.

DATA : SENDER_TYPE TYPE  SOEXTRECI1-ADR_TYP.

SELECT-OPTIONS: S_RECEIV FOR SOMLRECI1-RECEIVER DEFAULT '~~@gmail.com.

CONSTANTS:  CON_CRET TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>CR_LF.
DATA: W_DOC_DATA     LIKE    SODOCCHGI1,
      T_PACKING_LIST LIKE    SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
      T_ATTACHMENT   LIKE    SOLISTI1 OCCURS 0 WITH HEADER LINE,
      IT_MESSAGE     LIKE    SOLISTI1 OCCURS 0 WITH HEADER LINE,
      T_RECEIVERS    LIKE    SOMLRECI1 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF ITAB OCCURS 0,    "Excel Internal Table
        NAME(10) TYPE C,
        SEX(4)   TYPE C,
      END OF ITAB.

LOOP AT ITAB.
  CONCATENATE ITAB-NAME ITAB-SEX INTO T_ATTACHMENT SEPARATED BY ','.
  CONCATENATE CON_CRET T_ATTACHMENT INTO T_ATTACHMENT.
  APPEND T_ATTACHMENT.
ENDLOOP.


IT_MESSAGE = 'TEST.'.
APPEND IT_MESSAGE.

MOVE  'TEST CONTENT' TO IT_MESSAGE.
APPEND IT_MESSAGE.

W_DOC_DATA-DOC_SIZE = STRLEN( T_ATTACHMENT ).
W_DOC_DATA-OBJ_LANGU  = SY-LANGU.
W_DOC_DATA-OBJ_NAME   = 'SAPRPT'.
W_DOC_DATA-OBJ_DESCR  = 'Email subject'.  " 메일 제목
W_DOC_DATA-SENSITIVTY = 'F'.
T_PACKING_LIST-TRANSF_BIN = SPACE.
T_PACKING_LIST-HEAD_START = 1.
T_PACKING_LIST-HEAD_NUM = 0.
T_PACKING_LIST-BODY_START = 1.
DESCRIBE TABLE IT_MESSAGE LINES T_PACKING_LIST-BODY_NUM.
T_PACKING_LIST-DOC_TYPE = 'RAW'.
APPEND T_PACKING_LIST.

LOOP AT S_RECEIV .
  T_RECEIVERS-RECEIVER = S_RECEIV-LOW.
  T_RECEIVERS-REC_TYPE = 'U'.
  T_RECEIVERS-COM_TYPE = 'INT'.
  T_RECEIVERS-NOTIF_DEL = 'X'.
  T_RECEIVERS-NOTIF_NDEL = 'X'.
  APPEND T_RECEIVERS.
ENDLOOP.

SENDER_TYPE = 'INT'.

CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
  EXPORTING
    DOCUMENT_DATA       = W_DOC_DATA   "메일 Structure
    PUT_IN_OUTBOX       = 'X'                 "발신함 LOG 
    COMMIT_WORK         = 'X'                 "Process 
    SENDER_ADDRESS      = 'NO-REPLY@test.com'  " 송신자 
    SENDER_ADDRESS_TYPE = SENDER_TYPE
  TABLES
    PACKING_LIST        = T_PACKING_LIST "파일 속성 Internal Table
*   CONTENTS_BIN        = T_ATTACHMENT "첨부파일 양식 
    CONTENTS_TXT        = IT_MESSAGE    "메일 내용 
    RECEIVERS           = T_RECEIVERS.    "수신자  

WAIT UP TO 2 SECONDS. "이거 해야 메일이 바로감 
SUBMIT RSCONN01 WITH MODE = 'INT'. 

Tags:, ,

Add a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다