Skip to Content
0
Former Member
Mar 03, 2009 at 01:41 PM

sending a pdf form through email

47 Views

Hi,

I want to send a pdf form through mail for this i have to write code(given below) but my problem is that

it send a xml file to vendor. i want to send its pdf form. how it is possible.........................

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'

EXPORTING

buffer = fp_outputparams

  • APPEND_TO_TABLE = ' '

  • IMPORTING

  • OUTPUT_LENGTH =

TABLES

binary_tab = lt_att_content_hex.

CLASS cl_bcs DEFINITION LOAD.

DATA:

lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.

*--Create persistent send request

lo_send_request = cl_bcs=>create_persistent( ).

  • Message body and subject*****************************************************************************************

DATA:

lt_message_body TYPE bcsy_text VALUE IS INITIAL,

lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.

APPEND 'Dear Vendor,' TO lt_message_body.

APPEND ' ' TO lt_message_body.

APPEND 'Please fill the attached form and send it back to us.' TO lt_message_body.

APPEND ' ' TO lt_message_body.

APPEND 'Thank You,' TO lt_message_body.

lo_document = cl_document_bcs=>create_document(

i_type = 'RAW'

i_text = lt_message_body

i_subject = 'Vendor Payment Form' ).

DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.

TRY.

lo_document->add_attachment(

EXPORTING

i_attachment_type = 'PDF'

i_attachment_subject = 'A Test Adobe Form').

  • i_attachment_size =

  • i_attachment_language = space

  • i_att_content_text =

  • i_attachment_header =

  • i_att_content_hex = lt_att_content_hex ).

CATCH cx_document_bcs INTO lx_document_bcs.

ENDTRY.

  • Add attachment

  • Pass the document to send request

lo_send_request->set_document( lo_document ).

  • Create sender

DATA:

lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,

l_send TYPE adr6-smtp_addr VALUE '.............'.

lo_sender = cl_cam_address_bcs=>create_internet_address( l_send ).

  • Set sender

lo_send_request->set_sender(

EXPORTING

i_sender = lo_sender ).

  • Create recipient

DATA:

lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.

lo_recipient = cl_sapuser_bcs=>create( sy-uname ).

  • Set recipient

lo_send_request->add_recipient(

EXPORTING

i_recipient = lo_recipient

i_express = 'X' ).

lo_send_request->add_recipient(

EXPORTING

i_recipient = lo_recipient

i_express = 'X' ).

  • Send email

DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.

lo_send_request->send(

EXPORTING

i_with_error_screen = 'X'

RECEIVING

result = lv_sent_to_all ).

COMMIT WORK.

MESSAGE 'The payment form has been emailed to the Vendor' TYPE 'I'.

Thanks in advance

Shri