Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Needs content not in pdf format

Former Member
0 Kudos

Hi all,,

I have an ABAP program where i could send mails to the recipients.

But the recipients are able to receive the content of the mails only in attached pdf format.

But could not get into the body of the mail.

I had passed packing_list-Document type = 'RAW' in in so_document_send_API1

What should i need to do in the settings..

will be awarded..

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Naveena,

given below is a sample code to send mail with both body and an attachment.

pack-doc_type is RAW for sending the body.

  • vérifier qu'une adresse a été rentrée

CHECK NOT s_execut IS INITIAL.

  • Zone objet du mail

CLEAR str_docdata.

str_docdata-obj_name = text-m01.

str_docdata-obj_descr = text-m03.

  • Alim table des destinataires

LOOP AT s_execut.

tbl_dest-rec_type = 'U'.

tbl_dest-receiver = s_execut-low.

APPEND tbl_dest.

CLEAR tbl_dest.

ENDLOOP.

  • Alim tbl_text pour corps du mail

  • "ne pas répondre"

CLEAR tbl_text.

REFRESH tbl_text.

tbl_text-line = text-m02.

APPEND tbl_text.

CLEAR tbl_text.

  • saut de ligne

APPEND tbl_text.

  • nb de lignes lues / en anomalie / … qui seront dans le corps du texte

WRITE p_filpar TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE p_filali TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE p_recycl TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr2 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE w_enr_10 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr3 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE w_enr_20 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr4 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

APPEND tbl_text.

WRITE text-cr5 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

APPEND tbl_text.

CLEAR tbl_text.

CLEAR w_lines.

DESCRIBE TABLE tbl_text LINES w_lines.

CLEAR tbl_pack.

REFRESH tbl_pack.

tbl_pack-head_start = 1.

tbl_pack-head_num = 0.

tbl_pack-body_start = 1.

tbl_pack-body_num = w_lines.

tbl_pack-doc_type = 'RAW'.

tbl_pack-obj_name = text-m01. "Program name

tbl_pack-doc_size = ( w_lines - 1 ) * 255 + STRLEN( tbl_text-line ).

APPEND tbl_pack.

  • Alim tbl_text pour pièce jointe

  • - en-tête des colonnes

CLEAR tbl_text.

CONCATENATE text-ti1 text-ti2 text-ti3 text-ti4

kst_retours

INTO tbl_text-line SEPARATED BY ';'.

APPEND tbl_text.

  • contenu des colonnes

LOOP AT tbl_compte_rendu.

CLEAR tbl_text.

CONDENSE tbl_compte_rendu-text1.

CONCATENATE tbl_compte_rendu-text1

tbl_compte_rendu-text2

tbl_compte_rendu-text3

tbl_compte_rendu-text4

tbl_compte_rendu-text5

tbl_compte_rendu-text6

kst_retours

INTO tbl_text-line SEPARATED BY ';'.

APPEND tbl_text.

ENDLOOP.

DESCRIBE TABLE tbl_text LINES w_lines2.

CLEAR tbl_pack.

tbl_pack-head_start = 1.

tbl_pack-head_num = 0.

tbl_pack-body_start = w_lines + 1.

tbl_pack-body_num = w_lines + w_lines2.

tbl_pack-doc_type = 'CSV'.

tbl_pack-obj_name = text-m07.

tbl_pack-obj_descr = text-m08.

tbl_pack-doc_size = ( w_lines2 - 1 ) * 255

+ STRLEN( tbl_text-line ).

APPEND tbl_pack.

  • Envoi du mail

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = str_docdata

put_in_outbox = space

commit_work = 'X'

TABLES

packing_list = tbl_pack

contents_txt = tbl_text

receivers = tbl_dest

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.

Message was edited by:

Alvaro Tejada Galindo

1 REPLY 1

Former Member
0 Kudos

Hi Naveena,

given below is a sample code to send mail with both body and an attachment.

pack-doc_type is RAW for sending the body.

  • vérifier qu'une adresse a été rentrée

CHECK NOT s_execut IS INITIAL.

  • Zone objet du mail

CLEAR str_docdata.

str_docdata-obj_name = text-m01.

str_docdata-obj_descr = text-m03.

  • Alim table des destinataires

LOOP AT s_execut.

tbl_dest-rec_type = 'U'.

tbl_dest-receiver = s_execut-low.

APPEND tbl_dest.

CLEAR tbl_dest.

ENDLOOP.

  • Alim tbl_text pour corps du mail

  • "ne pas répondre"

CLEAR tbl_text.

REFRESH tbl_text.

tbl_text-line = text-m02.

APPEND tbl_text.

CLEAR tbl_text.

  • saut de ligne

APPEND tbl_text.

  • nb de lignes lues / en anomalie / … qui seront dans le corps du texte

WRITE p_filpar TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE p_filali TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE p_recycl TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr2 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE w_enr_10 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr3 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

WRITE w_enr_20 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

IF tbl_text-line IS INITIAL.

tbl_text-line = '0'.

ENDIF.

CONCATENATE text-cr4 tbl_text-line INTO tbl_text-line

SEPARATED BY space.

APPEND tbl_text.

CLEAR tbl_text.

APPEND tbl_text.

WRITE text-cr5 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.

APPEND tbl_text.

CLEAR tbl_text.

CLEAR w_lines.

DESCRIBE TABLE tbl_text LINES w_lines.

CLEAR tbl_pack.

REFRESH tbl_pack.

tbl_pack-head_start = 1.

tbl_pack-head_num = 0.

tbl_pack-body_start = 1.

tbl_pack-body_num = w_lines.

tbl_pack-doc_type = 'RAW'.

tbl_pack-obj_name = text-m01. "Program name

tbl_pack-doc_size = ( w_lines - 1 ) * 255 + STRLEN( tbl_text-line ).

APPEND tbl_pack.

  • Alim tbl_text pour pièce jointe

  • - en-tête des colonnes

CLEAR tbl_text.

CONCATENATE text-ti1 text-ti2 text-ti3 text-ti4

kst_retours

INTO tbl_text-line SEPARATED BY ';'.

APPEND tbl_text.

  • contenu des colonnes

LOOP AT tbl_compte_rendu.

CLEAR tbl_text.

CONDENSE tbl_compte_rendu-text1.

CONCATENATE tbl_compte_rendu-text1

tbl_compte_rendu-text2

tbl_compte_rendu-text3

tbl_compte_rendu-text4

tbl_compte_rendu-text5

tbl_compte_rendu-text6

kst_retours

INTO tbl_text-line SEPARATED BY ';'.

APPEND tbl_text.

ENDLOOP.

DESCRIBE TABLE tbl_text LINES w_lines2.

CLEAR tbl_pack.

tbl_pack-head_start = 1.

tbl_pack-head_num = 0.

tbl_pack-body_start = w_lines + 1.

tbl_pack-body_num = w_lines + w_lines2.

tbl_pack-doc_type = 'CSV'.

tbl_pack-obj_name = text-m07.

tbl_pack-obj_descr = text-m08.

tbl_pack-doc_size = ( w_lines2 - 1 ) * 255

+ STRLEN( tbl_text-line ).

APPEND tbl_pack.

  • Envoi du mail

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = str_docdata

put_in_outbox = space

commit_work = 'X'

TABLES

packing_list = tbl_pack

contents_txt = tbl_text

receivers = tbl_dest

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.

Message was edited by:

Alvaro Tejada Galindo