EXCEL 첨부해서 메일 보내는 소스 2입니다.
얼마 전에 올렸던 방식과 좀 다릅니다..
밑에있는 EXCEL 첨부 소스는 인터널 테이블을 바로 엑셀 파일로 만들어서
첨부하는 방식이구요..
ECC에서는 UNICODE 때문에 한글이 깨지네요..ㅜ.ㅜ
결국 해결을 못해서 다른 방식의 소스를 구했습니다.
엑셀파일을 로컬에 다운 받은 후 그 파일을 그냥 바로 첨부해서 메일 보내는 방식입니다.
이게 더 확실하더라구요..
밑에 소스는 바로 실행해 보실 수 있을 겁니다..저는 ECC6.0에서 테스트 해봤습니다..
다들 도움이 되셨으면 좋겠네요..
===========================================================================================
*
* This program will allowed you to send email with attachment.
* First, specify the attachment file from your local hardisk and
*execute.
* Next, specify the sender email address and click the send button.
*
REPORT y_cr17_mail.
DATA method1 LIKE sy-ucomm.
DATA g_user LIKE soudnamei1.
DATA g_user_data LIKE soudatai1.
DATA g_owner LIKE soud-usrnam.
DATA g_receipients LIKE soos1 OCCURS 0 WITH HEADER LINE.
DATA g_document LIKE sood4 .
DATA g_header LIKE sood2.
DATA g_folmam LIKE sofm2.
DATA g_objcnt LIKE soli OCCURS 0 WITH HEADER LINE.
DATA g_objhead LIKE soli OCCURS 0 WITH HEADER LINE.
DATA g_objpara LIKE selc OCCURS 0 WITH HEADER LINE.
DATA g_objparb LIKE soop1 OCCURS 0 WITH HEADER LINE.
DATA g_attachments LIKE sood5 OCCURS 0 WITH HEADER LINE.
DATA g_references LIKE soxrl OCCURS 0 WITH HEADER LINE.
DATA g_authority LIKE sofa-usracc.
DATA g_ref_document LIKE sood4.
DATA g_new_parent LIKE soodk.
DATA: BEGIN OF g_files OCCURS 10,
text(255) TYPE c,
END OF g_files.
DATA : fold_number(12) TYPE c,
fold_yr(2) TYPE c,
fold_type(3) TYPE c.
PARAMETERS ws_file(4096) TYPE c DEFAULT 'c:test.xls'.
* Can me any file fromyour pc ....either xls or word or ppt etc ...
g_user-sapname = sy-uname.
CALL FUNCTION 'SO_USER_READ_API1'
EXPORTING
user = g_user
* PREPARE_FOR_FOLDER_ACCESS = ' '
IMPORTING
user_data = g_user_data
* EXCEPTIONS
* USER_NOT_EXIST = 1
* PARAMETER_ERROR = 2
* X_ERROR = 3
* OTHERS = 4
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
fold_type = g_user_data-outboxfol+0(3).
fold_yr = g_user_data-outboxfol+3(2).
fold_number = g_user_data-outboxfol+5(12).
CLEAR g_files.
REFRESH : g_objcnt,
g_objhead,
g_objpara,
g_objparb,
g_receipients,
g_attachments,
g_references,
g_files.
method1 = 'SAVE'.
g_document-foltp = fold_type.
g_document-folyr = fold_yr.
g_document-folno = fold_number.
g_document-objtp = g_user_data-object_typ.
*g_document-OBJYR = '27'.
*g_document-OBJNO = '000000002365'.
*g_document-OBJNAM = 'MESSAGE'.
g_document-objdes = 'sap-img.com testing by program'.
g_document-folrg = 'O'.
*g_document-okcode = 'CHNG'.
g_document-objlen = '0'.
g_document-file_ext = 'XLS'.
g_header-objdes = 'sap-img.com testing by program'.
g_header-file_ext = 'TXT'.
CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
EXPORTING
method = method1
office_user = sy-uname
ref_document = g_ref_document
new_parent = g_new_parent
IMPORTING
authority = g_authority
TABLES
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
CHANGING
document = g_document
header_data = g_header
* FOLMEM_DATA =
* RECEIVE_DATA =
.
* File from the pc to send...
method1 = 'ATTCREATEFROMPC'.
g_files-text = ws_file.
APPEND g_files.
CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
EXPORTING
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
IMPORTING
authority = g_authority
TABLES
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
CHANGING
document = g_document
header_data = g_header.
method1 = 'SEND'.
g_receipients-recnam = 'MK085'.
g_receipients-recesc = 'U'.
g_receipients-sndex = 'X'.
APPEND g_receipients.
CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
EXPORTING
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
IMPORTING
authority = g_authority
TABLES
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
CHANGING
document = g_document
header_data = g_header.
*-- End of Program
* e-abap님에 의해서 게시물 이동되었습니다 (2008-10-14 10:05)
댓글 13
-
달려라저글링
2008.10.04 21:48
-
김영욱
2008.10.05 22:24
네~~맞아요~~
-
Mike
2008.10.06 22:06
좋은 자료 감사합니다.. -
훈군
2008.10.08 19:09
좋은 자료 감사합니다!! -
달려라저글링
2008.10.11 19:15
지금 열심히 abap 컨설턴트 과정 배우고 있어요. 나중에 뵐수 있는 기회가 있으면 좋겠네요 ~ ^^
-
김영욱
2008.10.14 02:34
^^열심히 하셔서 좋은 결과 있으시길 바래요~~ -
mean
2008.10.16 19:27
엑셀을 이메일로 보내는게 불가능한가하여 많이 찾아도 보고했었는데,
짜잔하고 소스가 올라와있었꾼용. 잘보겠습니다^^
-
한사
2008.10.29 07:54
전 언제쯤이면 이 로직을 이해할수 있을지...막막합니다..^^;; -
달이랑
2009.03.17 19:12
완전 감사합니다. -
ID
2009.04.11 00:48
감사합니다~ -
JG
2009.08.19 16:47
감사합니다 -
통하라
2011.06.27 23:14
오, 굳!!!
-
^^ㅋ
2011.11.18 02:22
감사합니다! ㅋ
안녕하세요. 표세환입니다. 7월초 쯤인가 저희 매형하고 같이 제 진로 상담했었는데..
혹시 그분이맞으신지요??