cancel
Showing results for 
Search instead for 
Did you mean: 

Want to Send smartform as pdf attachment with a Email to some mail id

Former Member
0 Kudos

Hi ,

I want to send a smartform as a PDF attachment with a mail to a mail id. And I can send a mail with the PDF attachment.

But I am not able to open the PDF. It is throwing some error (Adobe reader could not open u2018fileu2019 because it is either not a supported file type or because the file has been damaged (for example , it was sent as an email attachment and was not correctly decoded)).

By debugging I come to know that the file which is generating is in some encoding format.

Please help me regard this. This is very urgent.

here is the code,

Main Program :

REPORT Ztest_report.

*--Top Include for Global Data Declarations.

INCLUDE ztest_report_top.

*--Form Include for Form Routines.

INCLUDE ztest_report_form.

  • START-OF-SELECTION.

START-OF-SELECTION.

*--Display data

Perform display_data.

END-OF-SELECTION.

Top declaration :

  • Internal table

DATA : i_otfdata TYPE tsfotf, " Smart Forms: Table OTF

i_tline TYPE TABLE OF tline WITH HEADER LINE,

i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,

i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,

  • Objects to send mail.

i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,

i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,

i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,

i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,

  • Work Area declarations

w_mailaddr TYPE ppfdmailad,

w_mailtype TYPE so_escape,

w_mailrecipient TYPE swotobjid,

w_control TYPE ssfctrlop,

w_compop TYPE ssfcompop,

w_return TYPE ssfcrescl,

wa_doc_chng TYPE sodocchgi1,

w_data TYPE sodocchgi1,

wa_buffer TYPE string, "To convert from 132 to 255

wa_objhead TYPE soli_tab,

  • Variables declarations

v_form_name TYPE rs38l_fnam,

v_len_in LIKE sood-objlen,

v_len_out LIKE sood-objlen,

v_len_outn TYPE i,

v_lines_txt TYPE i,

v_lines_bin TYPE i.

  • Selection Screen

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-009.

PARAMETER: p_bukrs TYPE bukrs OBLIGATORY, "Company Code

p_belnr TYPE belnr_d OBLIGATORY, "Document No

p_gjahr TYPE gjahr OBLIGATORY, "document type

p_mailid(50) TYPE c OBLIGATORY.

"Mail Id

SELECTION-SCREEN END OF BLOCK blk1.

Form Logic :

FORM display_data.

*Local Variable declaration

DATA: lc_fm TYPE rs38l_fnam, "local variable to store the

l_i_document_output_info TYPE ssfcrespd,

l_i_struc_job_output_info TYPE ssfcrescl,

l_i_struc_job_output_options TYPE ssfcrescl,

i_lines TYPE TABLE OF tline WITH HEADER LINE,

lv_job_output_info TYPE ssfcrescl,

lv_document_output_info TYPE ssfcrespd,

lv_job_output_options TYPE ssfcresop,

lv_bin_filesize LIKE sood-objlen.

  • Determine the smartform name

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

formname = 'ZTEST_SMARTFORM'

IMPORTING

fm_name = lc_fm

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_control-getotf = 'X'.

w_control-no_dialog = 'X'.

w_control-preview = space.

  • w_control-device = 'MAIL'.

  • Call the smartform and pass the selection screen parameter

CALL FUNCTION lc_fm

EXPORTING

control_parameters = w_control

output_options = w_compop

user_settings = 'X'

t_bukrs = p_bukrs

t_belnr = p_belnr

t_gjahr = p_gjahr

IMPORTING

job_output_info = l_i_struc_job_output_info

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.

  • Moving the Smart Forms: Table OTF into an internal table

i_otfdata[] = l_i_struc_job_output_info-otfdata[].

  • CONVERT TO OTF TO PDF.

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

format = 'PDF'

max_linewidth = 132

IMPORTING

bin_filesize = lv_bin_filesize

TABLES

otf = i_otfdata

lines = i_lines

EXCEPTIONS

err_max_linewidth = 1

err_format = 2

err_conv_not_possible = 3

err_bad_otf = 4

OTHERS = 5.

  • IF sy-batch EQ l_c_no.

  • To directly view the print-preview in PDF format

CALL FUNCTION 'SSFCOMP_PDF_PREVIEW'

EXPORTING

i_otf = i_otfdata

EXCEPTIONS

convert_otf_to_pdf_error = 1

cntl_error = 2

OTHERS = 3.

  • For Sending the PDF file to a Mail ID.

  • LOOP AT i_lines.

  • TRANSLATE i_lines USING '~'.

  • CONCATENATE wa_buffer i_lines 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.

DATA: BEGIN OF zlines OCCURS 0,

tline TYPE char255,

END OF zlines.

*Change the PDF format from 132 to 255.

CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'

EXPORTING

transfer_bin = 'X'

TABLES

content_in = i_lines

content_out = zlines

EXCEPTIONS

err_line_width_src_too_long = 1

err_line_width_dst_too_long = 2

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

  • Attachment

REFRESH: i_reclist,

i_objtxt,

i_objbin,

i_objpack.

CLEAR wa_objhead.

i_objbin[] = zlines[].

  • 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

CLEAR i_objpack-transf_bin.

i_objpack-head_start = 1.

i_objpack-head_num = 1.

i_objpack-body_start = 2.

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

i_objpack-body_start = 2.

  • I_OBJPACK-DOC_TYPE = 'RAW'.

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

i_reclist-rec_type = 'U'.

APPEND i_reclist.

  • Send new document with attachments via RFC

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = wa_doc_chng

put_in_outbox = 'X'

commit_work = '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.

WRITE:/ 'Error When Sending the File', sy-subrc.

ELSE.

WRITE:/ 'Mail sent'.

ENDIF.

ENDFORM. " display_data

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi,

i wrote a programm.for me it is working.i think it will help for u.

DATA: t_otfdata TYPE ssfcrescl,

t_lines LIKE tline OCCURS 0 WITH HEADER LINE,

t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,

t_RECORD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.

  • Objects to send mail.

DATA:T_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,

T_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,

T_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,

T_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.

DATA: w_filesize TYPE i,

w_bin_filesize TYPE i,

wa_ctrlop TYPE ssfctrlop,

wa_outopt TYPE ssfcompop,

WA_BUFFER TYPE STRING, "To convert from 132 to 255

WA_OBJHEAD TYPE SOLI_TAB,

WA_DOC_CHNG TYPE SODOCCHGI1,

W_DATA TYPE SODOCCHGI1.

DATA: form_name TYPE rs38l_fnam,

V_LINES_TXT TYPE I,

V_LINES_BIN TYPE I,

nast-spras type sy-langu value 'DE'.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = 'ZSR_DEMO1'

  • VARIANT = ' '

  • DIRECT_CALL = ' '

IMPORTING

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

wa_ctrlop-LANGU = nast-spras.

wa_ctrlop-getotf = 'X'.

wa_ctrlop-no_dialog = 'X'.

wa_outopt-tdnoprev = 'X'.

CALL FUNCTION form_name

EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

CONTROL_PARAMETERS = wa_ctrlop

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

OUTPUT_OPTIONS = wa_outopt

USER_SETTINGS = 'X'

IMPORTING

  • DOCUMENT_OUTPUT_INFO =

JOB_OUTPUT_INFO = t_otfdata

  • JOB_OUTPUT_OPTIONS =

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.

t_otf[] = t_otfdata-otfdata[].

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

FORMAT = 'PDF'

MAX_LINEWIDTH = 132

  • ARCHIVE_INDEX = ' '

  • COPYNUMBER = 0

  • ASCII_BIDI_VIS2LOG = ' '

  • PDF_DELETE_OTFTAB = ' '

IMPORTING

BIN_FILESIZE = w_bin_filesize

  • BIN_FILE =

TABLES

OTF = t_otf

LINES = t_lines

EXCEPTIONS

ERR_MAX_LINEWIDTH = 1

ERR_FORMAT = 2

ERR_CONV_NOT_POSSIBLE = 3

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

loop at t_lines.

TRANSLATE t_lines USING '~'.

CONCATENATE WA_BUFFER T_LINES INTO WA_BUFFER.

ENDLOOP.

TRANSLATE WA_BUFFER USING '~'.

DO.

t_RECORD = WA_BUFFER.

APPEND t_RECORD.

SHIFT WA_BUFFER LEFT BY 255 PLACES.

IF WA_BUFFER IS INITIAL.

EXIT.

ENDIF.

ENDDO.

  • Attachment

REFRESH: T_RECLIST,

T_OBJTXT,

T_OBJBIN,

T_OBJPACK.

CLEAR WA_OBJHEAD.

T_OBJBIN[] = T_RECORD[].

  • Create Message Body Title and Description

T_OBJTXT = 'test with pdf-Attachment!'.

APPEND T_OBJTXT.

DESCRIBE TABLE T_OBJTXT LINES V_LINES_TXT.

READ TABLE T_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

CLEAR T_OBJPACK-TRANSF_BIN.

T_OBJPACK-HEAD_START = 1.

T_OBJPACK-HEAD_NUM = 0.

T_OBJPACK-BODY_START = 1.

T_OBJPACK-BODY_NUM = V_LINES_TXT.

T_OBJPACK-DOC_TYPE = 'RAW'.

APPEND T_OBJPACK.

  • Attachment (pdf-Attachment)

T_OBJPACK-TRANSF_BIN = 'X'.

T_OBJPACK-HEAD_START = 1.

T_OBJPACK-HEAD_NUM = 0.

T_OBJPACK-BODY_START = 1.

DESCRIBE TABLE T_OBJBIN LINES V_LINES_BIN.

READ TABLE T_OBJBIN INDEX V_LINES_BIN.

T_OBJPACK-DOC_SIZE = V_LINES_BIN * 255 .

T_OBJPACK-BODY_NUM = V_LINES_BIN.

T_OBJPACK-DOC_TYPE = 'PDF'.

T_OBJPACK-OBJ_NAME = 'smart'.

T_OBJPACK-OBJ_DESCR = 'test'.

APPEND T_OBJPACK.

CLEAR T_RECLIST.

T_RECLIST-RECEIVER = 'mail id'.

T_RECLIST-REC_TYPE = 'U'.

APPEND T_RECLIST.

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

DOCUMENT_DATA = WA_DOC_CHNG

PUT_IN_OUTBOX = 'X'

COMMIT_WORK = 'X'

TABLES

PACKING_LIST = T_OBJPACK

OBJECT_HEADER = WA_OBJHEAD

CONTENTS_BIN = T_OBJBIN

CONTENTS_TXT = T_OBJTXT

RECEIVERS = T_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.

WRITE:/ 'Error When Sending the File', SY-SUBRC.

ELSE.

WRITE:/ 'Mail sent'.

ENDIF.

please reward me if helpful.

Answers (3)

Answers (3)

Former Member
0 Kudos
  • Internal Table declarations

DATA: I_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,

I_TLINE TYPE TABLE OF TLINE WITH HEADER LINE,

I_RECEIVERS TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,

I_RECORD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,

  • Objects to send mail.

I_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,

I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,

I_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,

I_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,

  • Work Area declarations

WA_OBJHEAD TYPE SOLI_TAB,

W_CTRLOP TYPE SSFCTRLOP,

W_COMPOP TYPE SSFCOMPOP,

W_RETURN TYPE SSFCRESCL,

WA_DOC_CHNG TYPE SODOCCHGI1,

W_DATA TYPE SODOCCHGI1,

WA_BUFFER TYPE STRING,u201DTo convert from 132 to 255

  • Variables declarations

V_FORM_NAME TYPE RS38L_FNAM,

V_LEN_IN LIKE SOOD-OBJLEN,

V_LEN_OUT LIKE SOOD-OBJLEN,

V_LEN_OUTN TYPE I,

V_LINES_TXT TYPE I,

V_LINES_BIN TYPE I.

CALL FUNCTION u2018SSF_FUNCTION_MODULE_NAMEu2019

EXPORTING

FORMNAME = u2018ZTESTu2019

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

W_CTRLOP-NO_DIALOG = u2018Xu2019.

W_COMPOP-TDNOPREV = u2018Xu2019.

CALL FUNCTION V_FORM_NAME

EXPORTING

CONTROL_PARAMETERS = W_CTRLOP

OUTPUT_OPTIONS = W_COMPOP

USER_SETTINGS = u2018Xu2019

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 u2018CONVERT_OTFu2019

EXPORTING

FORMAT = u2018PDFu2019

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 u2018~u2019.

CONCATENATE WA_BUFFER I_TLINE INTO WA_BUFFER.

ENDLOOP.

TRANSLATE WA_BUFFER USING u2018~u2019.

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[].

o

+

#

*

o

+ Create Message Body

1. Title and Description

I_OBJTXT = u2018test with pdf-Attachment!u2019.

APPEND I_OBJTXT.

DESCRIBE TABLE I_OBJTXT LINES V_LINES_TXT.

READ TABLE I_OBJTXT INDEX V_LINES_TXT.

WA_DOC_CHNG-OBJ_NAME = u2019smartformu2019.

WA_DOC_CHNG-EXPIRY_DAT = SY-DATUM + 10.

WA_DOC_CHNG-OBJ_DESCR = u2019smartformu2019.

WA_DOC_CHNG-SENSITIVTY = u2018Fu2019.

WA_DOC_CHNG-DOC_SIZE = V_LINES_TXT * 255.

1. 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 = u2018RAWu2019.

APPEND I_OBJPACK.

o

+

1. Attachment

  • (pdf-Attachment)

I_OBJPACK-TRANSF_BIN = u2018Xu2019.

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

I_OBJPACK-OBJ_NAME = u2019smartu2019.

I_OBJPACK-OBJ_DESCR = u2018testu2019.

APPEND I_OBJPACK.

CLEAR I_RECLIST.

I_RECLIST-RECEIVER = u2018email idu2019.

I_RECLIST-REC_TYPE = u2018Uu2019.

APPEND I_RECLIST.

CALL FUNCTION u2018SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

DOCUMENT_DATA = WA_DOC_CHNG

PUT_IN_OUTBOX = u2018Xu2019

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.

Another EXample

you may use the FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF' to convert the fom

into PDF.

But first to get the printed form from the spool, use FUNCTION

'RSPO_FIND_SPOOL_REQUESTS'.

Then you may send it to your PC, email, fax, etc by reading the record in

the lines of table IT_PDF_OUTPUT.

Note: You may also use program RSTXPDFT4 as a reference to get code

examples which uses different functions to perform the creation of PDFand

download the form to the PC,etc.

CALL FUNCTION 'RSPO_FIND_SPOOL_REQUESTS'

EXPORTING

RQOWNER = SY-UNAME

TABLES

SPOOLREQUESTS = SPOOL_REQUESTS.

READ TABLE SPOOL_REQUESTS INDEX 1.

GD_SPOOL_NR = SPOOL_REQUESTS-RQIDENT.

CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = GD_SPOOL_NR

NO_DIALOG = C_NO

IMPORTING

PDF_BYTECOUNT = GD_BYTECOUNT

PDF_SPOOLID = PDFSPOOLID

BTC_JOBNAME = JOBNAME

BTC_JOBCOUNT = JOBCOUNT

TABLES

PDF = IT_PDF_OUTPUT

EXCEPTIONS

ERR_NO_OTF_SPOOLJOB = 1

ERR_NO_SPOOLJOB = 2

ERR_NO_PERMISSION = 3

ERR_CONV_NOT_POSSIBLE = 4

ERR_BAD_DSTDEVICE = 5

USER_CANCELLED = 6

ERR_SPOOLERROR = 7

ERR_TEMSEERROR = 8

ERR_BTCJOB_OPEN_FAILED = 9

ERR_BTCJOB_SUBMIT_FAILED = 10

ERR_BTCJOB_CLOSE_FAILED = 11.

CHECK SY-SUBRC = 0.

REWARD IF HELPFUL

Former Member
0 Kudos

Hi,

wa_ctrlop-getotf = 'X'. " To get OTF dtaa

wa_ctrlop-no_dialog = 'X'. " No dialog box

wa_outopt-tdnoprev = 'X'. " No preveiw option

  • To get the Printer Name

CALL FUNCTION 'SSF_GET_DEVICE_TYPE'

EXPORTING

i_language = sy-langu

i_application = 'SAPDEFAULT'

IMPORTING

e_devtype = wa_outopt-tdprinter

EXCEPTIONS

no_language = 1

language_not_installed = 2

no_devtype_found = 3

system_error = 4

OTHERS = 5.

IF sy-subrc NE 0.

ENDIF. " IF sy-subrc NE 0

  • To call the FM of smart form

CALL FUNCTION w_fm_name

EXPORTING

control_parameters = wa_ctrlop

output_options = wa_outopt

user_settings = space

w_cornr = p_cornr

W_CUSTREV_PDF = 'X'

IMPORTING

job_output_info = t_otfdata.

Please varify that

wa_outopt-tdprinter

USER_SETTING = ' '. You are passing X remov X and put space ' '.

Bye

nikhil_chitre
Active Participant
0 Kudos

Hi,

In the smartform function modue which you would have called in you program

there you can pass mail address

Fields:

mail_recipient = lvs_recipient

mail_sender = lvs_sender

I see that you have tried to read spool job and then using Fm to send mail.

but Mail sent can certainly be controlled withing Smartform FM

Regards,

Nikhil

Edited by: Nikhil A Chitre on Jun 27, 2008 2:36 PM

Former Member
0 Kudos

hi Nikhil,

my concern was to open PDF attachment file from mail. Actually i am gettng mails with PDF attachment, but only problem is i am not able to open those attachment.it is giving some error.

Please help me in this regard.

Former Member
0 Kudos

hi,

try to open the PDF with the latest version of ADOBE READER. and try by sending mail to some other mail id.and open there.still if u r not getting.contact ur basis people whether the mail server settings are correct or not.

reward if helpful.

gupta.pullipudi

Former Member
0 Kudos

Hi Pullipudi,

i am using the latest version of Adobe Reader.i have tried to send mail to some other id also. But still i am getting problems. After doing some changes i got able to open the PDF attachement but now data is not coming.

I have checked in SBWP(SAP business workplace), there also i am not able to get the data . it means there is no problem from BASIS side.

Before mailing the PDF file i am saving it to the local system and there it is opening correctly.

please help me in this regard.

points will be rewarded if helpful.

Regards,

Sourabh Batwara

Former Member
0 Kudos

Hi all,

Even i got similar problem while opening the pdf attacchment.

Can anybode help me out how to fix this?

Thanks in advance.

Sunil