2008 Dec 04 9:15 AM
Experts,
i am writing a ode to send male by attachment. i will use so_new_document_attach_api modile to send.
i m sending and received email. but format is not correct.
what can we do ?
2008 Dec 04 9:25 AM
refer thread for more information.check this thread
and excel, fields are separated by tab spaces... so after reading every field name, u need to separate them using tabspaces. ABAP has got inbuilt Method for it.
cl_abap_char_utilities=>horizontal_tab
for eg .
concatenate field1 field2 field3... into temp_variable separated by cl_abap_char_utilities=>horizontal_tab.
this works fine for everyrecord. after u done wth first record, then need to add carriage return line feed to go into next line.
cl_abap_char_utilities=>CR_LF.
hope u got this.
Pintoo
refer thread for more information.check this thread
and excel, fields are separated by tab spaces... so after reading every field name, u need to separate them using tabspaces. ABAP has got inbuilt Method for it.
cl_abap_char_utilities=>horizontal_tab
for eg .
concatenate field1 field2 field3... into temp_variable separated by cl_abap_char_utilities=>horizontal_tab.
this works fine for everyrecord. after u done wth first record, then need to add carriage return line feed to go into next line.
cl_abap_char_utilities=>CR_LF.
hope u got this.
Pintoo
2008 Dec 04 9:25 AM
refer thread for more information.check this thread
and excel, fields are separated by tab spaces... so after reading every field name, u need to separate them using tabspaces. ABAP has got inbuilt Method for it.
cl_abap_char_utilities=>horizontal_tab
for eg .
concatenate field1 field2 field3... into temp_variable separated by cl_abap_char_utilities=>horizontal_tab.
this works fine for everyrecord. after u done wth first record, then need to add carriage return line feed to go into next line.
cl_abap_char_utilities=>CR_LF.
hope u got this.
Pintoo
2008 Dec 04 9:26 AM
Hi,
here is sample code.
DATA: LD_ERROR TYPE SY-SUBRC,
LD_RECIEVER TYPE SY-SUBRC,
LD_MTITLE TYPE SODOCCHGI1-OBJ_DESCR,
LD_EMAIL TYPE SOMLRECI1-RECEIVER,
LD_FORMAT TYPE SO_OBJ_TP ,
LD_ATTDESCRIPTION TYPE SO_OBJ_NAM ,
LD_ATTFILENAME TYPE SO_OBJ_DES ,
LD_SENDER_ADDRESS TYPE SOEXTRECI1-RECEIVER,
LD_SENDER_ADDRESS_TYPE TYPE SOEXTRECI1-ADR_TYP,
LD_RECEIVER TYPE SY-SUBRC.
DATA: IT_PACKING_LIST LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
IT_CONTENTS LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
IT_RECEIVERS LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,
IT_ATTACHMENT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
GD_DOC_DATA LIKE SODOCCHGI1,
IT_MESSAGE TYPE STANDARD TABLE OF SOLISTI1 INITIAL SIZE 0,
GD_CNT TYPE I,
GD_SENT_ALL(1) TYPE C,
GD_ERROR TYPE SY-SUBRC.
DATA : NOTE TYPE STRING,
W_CNT TYPE I,
W_SENT_ALL(1) TYPE C,
WA_MESSAGE TYPE SOLISTI1,
W_DOC_DATA TYPE SODOCCHGI1,
WA_ATTACH TYPE SOLISTI1,
WA_PACKING_LIST TYPE SOPCKLSTI1,
WA_RECEIVERS TYPE SOMLRECI1,
T_RECEIVERS TYPE STANDARD TABLE OF SOMLRECI1,
T_ATTACHMENT TYPE STANDARD TABLE OF SOLISTI1 INITIAL SIZE 0.
DATA: IT_ATTACH TYPE STANDARD TABLE OF SOLISTI1 INITIAL SIZE 0.
LD_EMAIL = P_EMAIL.
LD_MTITLE = TIL.
LD_FORMAT = 'XLS'.
LD_ATTDESCRIPTION = 'Test.
LD_ATTFILENAME = 'Attachment'.
LD_SENDER_ADDRESS = 'SY-UNAME'.
LD_SENDER_ADDRESS_TYPE = 'U'.
Fill the document data.
W_DOC_DATA-DOC_SIZE = 1.
Populate the subject/generic message attributes
W_DOC_DATA-OBJ_LANGU = SY-LANGU.
W_DOC_DATA-OBJ_NAME = 'SAPRPT'.
W_DOC_DATA-OBJ_DESCR = LD_MTITLE .
W_DOC_DATA-SENSITIVTY = 'F'.
Fill the document data and get size of attachment
CLEAR W_DOC_DATA.
READ TABLE IT_ATTACH INTO WA_ATTACH INDEX W_CNT.
W_DOC_DATA-DOC_SIZE = ( W_CNT - 1 ) * 255 + STRLEN( WA_ATTACH ).
W_DOC_DATA-OBJ_LANGU = SY-LANGU.
W_DOC_DATA-OBJ_NAME = 'SAPRPT'.
W_DOC_DATA-OBJ_DESCR = LD_MTITLE.
W_DOC_DATA-SENSITIVTY = 'F'.
CLEAR T_ATTACHMENT.
REFRESH T_ATTACHMENT.
T_ATTACHMENT[] = IT_ATTACH[].
Describe the body of the message
CLEAR WA_PACKING_LIST.
REFRESH IT_PACKING_LIST.
WA_PACKING_LIST-TRANSF_BIN = SPACE.
WA_PACKING_LIST-HEAD_START = 1.
WA_PACKING_LIST-HEAD_NUM = 0.
WA_PACKING_LIST-BODY_START = 1.
DESCRIBE TABLE IT_MESSAGE LINES WA_PACKING_LIST-BODY_NUM.
WA_PACKING_LIST-DOC_TYPE = 'RAW'.
APPEND WA_PACKING_LIST TO IT_PACKING_LIST.
Create attachment notification
WA_PACKING_LIST-TRANSF_BIN = 'X'.
WA_PACKING_LIST-HEAD_START = 1.
WA_PACKING_LIST-HEAD_NUM = 1.
WA_PACKING_LIST-BODY_START = 1.
DESCRIBE TABLE T_ATTACHMENT LINES WA_PACKING_LIST-BODY_NUM.
WA_PACKING_LIST-DOC_TYPE = LD_FORMAT.
WA_PACKING_LIST-OBJ_DESCR = LD_ATTDESCRIPTION.
WA_PACKING_LIST-OBJ_NAME = LD_ATTFILENAME.
WA_PACKING_LIST-DOC_SIZE = WA_PACKING_LIST-BODY_NUM * 255.
APPEND WA_PACKING_LIST TO IT_PACKING_LIST.
Add the recipients email address
CLEAR WA_RECEIVERS.
REFRESH IT_RECEIVERS.
WA_RECEIVERS-RECEIVER = LD_EMAIL.
WA_RECEIVERS-REC_TYPE = 'U'.
WA_RECEIVERS-COM_TYPE = 'INT'.
WA_RECEIVERS-NOTIF_DEL = 'X'.
WA_RECEIVERS-NOTIF_NDEL = 'X'.
APPEND WA_RECEIVERS TO IT_RECEIVERS.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = W_DOC_DATA
PUT_IN_OUTBOX = 'X'
SENDER_ADDRESS = LD_SENDER_ADDRESS
SENDER_ADDRESS_TYPE = LD_SENDER_ADDRESS_TYPE
COMMIT_WORK = 'X'
IMPORTING
SENT_TO_ALL = W_SENT_ALL
TABLES
PACKING_LIST = IT_PACKING_LIST
CONTENTS_BIN = T_ATTACHMENT
CONTENTS_TXT = IT_MESSAGE
RECEIVERS = IT_RECEIVERS
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.
2008 Dec 04 12:55 PM
send ur attachment in hex_tab
always keep ur attach data in raw_data_typ_tables type solix
fill the packing list with correct attachment_name, type, size, starting_lin and numberof_lines
check transaction scot SMTP if there are any conversions (double klick smtp )
maybe paste ur code?
Regards
Stefan Seeburger
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |