cancel
Showing results for 
Search instead for 
Did you mean: 

Smartforms as email

Former Member
0 Kudos

Hi everybody!

We are generating some forms as smartforms while implementing LSO 600. These forms are being emailed to the respective people. The catch is that we want to send these smartforms as the BODY of the email as opposed to a PDF attachment.

Does anyone know how to do this within the confines of standard LSO correspondence?

Your help is most appreciated!

thanks -

Abby

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi All -

Just an FYI - you can actually do this within LSO correspondence. However, you have to put a correspondence form within a correspondence form. If you need any more information, please let me know.

Thanks!

Abby

Former Member
0 Kudos

Hi,

U can do it through this code.

First u have to convert this smartforms into pdf and then send this pdf to mail by following function module.

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

format = 'PDF'

max_linewidth = 132

IMPORTING

bin_filesize = v_len_in

TABLES

  • otf = i_otf

otf = i_otf

  • lines = i_tline

lines = i_tline

EXCEPTIONS

err_max_linewidth = 1

err_format = 2

err_conv_not_possible = 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.

*convert PDF from 132 to 255

LOOP AT i_tline.

*Replacing space by '~'.

TRANSLATE i_tline USING '~'.

CONCATENATE wa_buffer i_tline INTO wa_buffer.

ENDLOOP.

*Repalacing '~' by space.

TRANSLATE wa_buffer USING '~'.

*

DO.

i_record = wa_buffer.

*Appending 255 characters as a record.

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.

*Object with PDF.

i_objbin[] = i_record[].

DESCRIBE TABLE i_objbin LINES v_lines_bin.

*

                • Create Message Body

          • Title and Description

*Object with main text of the mail.

i_objtxt = 'Find attached the output of the smartform'.

APPEND i_objtxt.

i_objtxt = 'Regards'.

APPEND i_objtxt.

i_objtxt = 'Lokesh'.

APPEND i_objtxt.

DESCRIBE TABLE i_objtxt LINES v_lines_txt.

  • READ TABLE i_objtxt INDEX v_lines_txt.

*Document information.

wa_doc_chng-obj_name = 'Offer Letter'.

wa_doc_chng-expiry_dat = sy-datum + 10.

wa_doc_chng-obj_descr = 'Offer Letter'.

wa_doc_chng-sensitivty = 'F'.

wa_doc_chng-doc_size = v_lines_txt * 255.

*

          • Main Text

*Pack to main body as RAW.

*Object to be transported not in binary form.

    • 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)

*Packing as PDF

i_objpack-transf_bin = 'X'.

i_objpack-head_start = 1.

i_objpack-head_num = 1.

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 = 'mitra.ampl@gmail.com'.

i_reclist-express = 'X'.

i_reclist-rec_type = 'U'.

APPEND i_reclist.

*

*CALL FUNCTION 'LXE_SEND_MAIL_ATTMNT'

  • EXPORTING

  • description =

    • SENSITIVITY = 'O'

    • IN_OUTBOX = ' '

  • tables

  • receivers =

  • document_text =

    • DOCUMENT_ATTMNT =

    • DOCUMENT_ATTMNT_ATTR =

    • EXCEPTIONS

    • TOO_MANY_RECEIVERS = 1

    • DOCUMENT_NOT_SENT = 2

    • NO_AUTHORIZATION = 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.

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.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ELSE.

MESSAGE 'success' TYPE 'I'.

ENDIF.

*

  • ENDIF.

Rewads points if it is useful.