cancel
Showing results for 
Search instead for 
Did you mean: 

E-Mail Functionality Problem - PO

former_member372321
Participant
0 Kudos

Hi Every Body,

I am working on email functionality.

=> (Requirement) Sending the PO Order Ouput to vendor via email in the form of PDF fom.

=> I am getting some problem while receiving mail in the OUTLOOK.

=> I am getting mail in the form of "TEXT Fomate" with special character instead of "PDF Formate".

For Your Information.

=> I am using following functional module.

CONVERT_OTF - PDF Conversion FM

SO_NEW_DOCUMENT_ATT_SEND_API1 - E-Mail FM.

=> Unicode is Mandatory.

If any body is aware of this problem, provide some inputs to me to go ahead forward

Thanks & Regards,

Naga.

Accepted Solutions (1)

Accepted Solutions (1)

former_member156446
Active Contributor
0 Kudos
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'

CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
content_bin           = i_attach_raw

CALL METHOD l_email->add_attachment
      EXPORTING
        contents_bin = i_attach_raw
        name         = lv_name
        type         = 'BIN'.

*   Send the e-mail.
    CALL METHOD l_email->send
      EXPORTING
        commit_work = space
      EXCEPTIONS
        send_error  = 1
        OTHERS      = 2.

Answers (5)

Answers (5)

former_member372321
Participant
0 Kudos

ok

former_member205763
Active Contributor
0 Kudos

Hi check this wiki.

http://wiki.sdn.sap.com/wiki/display/Snippets/mailsendthroughoutputcontrols

This wiki gives you entire process to send a PO as pdf through mail.

The output of convert_otf gives you a 132 line output in the internal table, this u need to convert into 255 line output before mailing the pdf, Did u do this stuff?

check the code in the link for more info.

Edited by: Kartik Tarla on Oct 9, 2009 1:27 PM

venkateswarareddy_medam
Active Participant
0 Kudos

Hi ,

You can add this in your SSF FM and try it.

DATA : tab_otf_data TYPE ssfcrescl.

IMPORTING

job_output_info = tab_otf_data

Regards,

Venkat.

Former Member
0 Kudos

Hi,

Once you get the OTF data copy the code from below which convert into PDF

 call function 'SSF_FUNCTION_MODULE_NAME'
     exporting
          formname           = 'ZSMART1'
     importing
          fm_name            = v_form_name
     exceptions
          no_form            = 1
          no_function_module = 2
          others             = 3.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. 

 
w_ctrlop-getotf = 'X'.
w_ctrlop-no_dialog = 'X'.
w_compop-tdnoprev = 'X'.

 
CALL FUNCTION v_form_name
     EXPORTING
          control_parameters = w_ctrlop
          output_options     = w_compop
          user_settings      = 'X'
     IMPORTING
          job_output_info    = w_return
     EXCEPTIONS
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4
          OTHERS             = 5.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
i_otf[] = w_return-otfdata[].

call function 'CONVERT_OTF'

EXPORTING

format = 'PDF'

max_linewidth = 132

IMPORTING

bin_filesize = v_len_in

TABLES

otf = i_otf

lines = i_tline

EXCEPTIONS

err_max_linewidth = 1

err_format = 2

err_conv_not_possible = 3

others = 4.

  • Fehlerhandling

if sy-subrc <> 0.

endif.

loop at i_tline.

translate i_tline using '~'.

concatenate wa_buffer i_tline into wa_buffer.

endloop.

translate wa_buffer using '~'.

do.

i_record = wa_buffer.

append i_record.

shift wa_buffer left by 255 places.

if wa_buffer is initial.

exit.

endif.

enddo.

 

  • Attachment

refresh:

i_reclist,

i_objtxt,

i_objbin,

i_objpack.

clear wa_objhead.

i_objbin[] = i_record[].

              • Create Message Body

        • Title and Description

i_objtxt = 'test with pdf-Attachment!'.

append i_objtxt.

describe table i_objtxt lines v_lines_txt.

read table i_objtxt index v_lines_txt.

wa_doc_chng-obj_name = 'smartform'.

wa_doc_chng-expiry_dat = sy-datum + 10.

wa_doc_chng-obj_descr = 'smartform'.

wa_doc_chng-sensitivty = 'F'.

wa_doc_chng-doc_size = v_lines_txt * 255.

        • Main Text

  • wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + strlen( i_objtxt )

clear i_objpack-transf_bin.

i_objpack-head_start = 1.

i_objpack-head_num = 0.

i_objpack-body_start = 1.

i_objpack-body_num = v_lines_txt.

i_objpack-doc_type = 'RAW'.

append i_objpack.

        • Attachment

  • (pdf-Attachment)

i_objpack-transf_bin = 'X'.

i_objpack-head_start = 1.

i_objpack-head_num = 0.

i_objpack-body_start = 1.

  • Länge des Attachment ermitteln

describe table i_objbin lines v_lines_bin.

read table i_objbin index v_lines_bin.

i_objpack-doc_size = v_lines_bin * 255 .

i_objpack-body_num = v_lines_bin.

i_objpack-doc_type = 'PDF'.

i_objpack-obj_name = 'smart'.

i_objpack-obj_descr = 'test'.

append i_objpack.

clear i_reclist.

i_reclist-receiver = 'ABAP'.

i_reclist-rec_type = 'B'.

append i_reclist.

 

call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = wa_doc_chng

put_in_outbox = 'X'

TABLES

packing_list = i_objpack

object_header = wa_objhead

CONTENTS_BIN = i_objbin

contents_txt = i_objtxt

receivers = i_reclist

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.

Please close the thread, if solved

Regards,

Aditya

Former Member
0 Kudos

Hi,

check with this code..

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 = t_packing_list

contents_bin = t_attachment

contents_txt = it_message

receivers = t_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.

This Format working fine

Regards,

Ansari

Former Member
0 Kudos

HI,

Check this Standard program ...

BCS_EXAMPLE_6

Email documents using PDF based forms

Regards,

Ansari.