Application Development and Automation 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: 
Read only

Problem sending pdf file

Former Member
0 Likes
1,483

Hi all,

I need to send a sapscript via email.

I convert the spool in pdf.

If I try to download the internal table with pdf content I'm able to create correctly the pdf file on my pc.

Insted, if I send the contet of internal table with the pdf data via email, an error occured when I try to open the attached pdf file.

regards

enzo

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,443

Hi Enzo,

1. There can be many possible causes for it.

2. a) Checkout the SCOT settings

(basis team may help u out)

b) In ur pgoram code,

mention attachment type as 'PDF'

instead of 'BIN'.

I Hope it helps.

Regards,

Amit M.

Hi Enzo,

1. There can be many possible causes for it.

2. a) Checkout the SCOT settings

(basis team may help u out)

b) In ur pgoram code,

mention attachment type as 'PDF'

instead of 'BIN'.

I Hope it helps.

Regards,

Amit M.

10 REPLIES 10
Read only

Former Member
0 Likes
1,443

Hi,

This below code may help you in case:

DATA WA_OBJBIN LIKE SOLISTI1.

DESCRIBE TABLE OBJTXT LINES PDFLINES.

*-- A funtion module to convert otf to pdf format

CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'

EXPORTING

FORMAT_SRC = 'OTF'

FORMAT_DST = 'PDF'

DEVTYPE = 'PRINTER'

  • FUNCPARA =

LEN_IN = PDFLINES

IMPORTING

LEN_OUT = PDFLINES

TABLES

CONTENT_IN = OBJTXT

CONTENT_OUT = OBJBIN

EXCEPTIONS

ERR_CONV_FAILED = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

DESCRIBE TABLE OBJBIN LINES PDFLINES.

DESCRIBE TABLE OBJTXT LINES TAB_LINES.

*-- a perform to do the email

*-- creation of the entry for the compressed document

CLEAR OBJPACK-TRANSF_BIN.

OBJPACK-HEAD_START = 1.

OBJPACK-HEAD_NUM = 0.

OBJPACK-BODY_START = 1.

OBJPACK-BODY_NUM = TAB_LINES.

OBJPACK-DOC_TYPE = 'RAW'.

OBJPACK-DOC_SIZE = TAB_LINES * 255.

APPEND OBJPACK.

*-- creation of the entry for the attachment

CLEAR OBJPACK.

OBJPACK-TRANSF_BIN = 'X'.

OBJPACK-HEAD_START = 1.

OBJPACK-HEAD_NUM = 0.

OBJPACK-BODY_START = 1.

OBJPACK-BODY_NUM = PDFLINES.

  • objpack-objname =

OBJPACK-OBJ_DESCR = '%PDF-FILE.PDF'.

OBJPACK-DOC_TYPE = 'PDF'.

OBJPACK-DOC_SIZE = PDFLINES * 255.

APPEND OBJPACK.

*-- populating the t_receivers with mail address

  • READ TABLE t_adr6 INDEX 1.

IF NOT T_ADR6[] IS INITIAL.

LOOP AT T_ADR6.

T_RECEIVERS-RECEIVER = T_ADR6-SMTP_ADDR.

T_RECEIVERS-REC_TYPE = 'U'.

APPEND T_RECEIVERS.

CLEAR T_RECEIVERS.

ENDLOOP.

ENDIF.

*-- Calling a function module to send an E-mail

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

DOCUMENT_DATA = DOC_DATA

PUT_IN_OUTBOX = 'X'

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

TABLES

PACKING_LIST = OBJPACK

OBJECT_HEADER = OBJHEAD

CONTENTS_BIN = OBJBIN

CONTENTS_TXT = OBJTXT

  • contents_hex = objbin

  • OBJECT_PARA =

  • OBJECT_PARB =

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

.

It may help you.

try to rectify the mistake that you have in your program by checking this sample code....

Read only

Former Member
0 Likes
1,444

Hi Enzo,

1. There can be many possible causes for it.

2. a) Checkout the SCOT settings

(basis team may help u out)

b) In ur pgoram code,

mention attachment type as 'PDF'

instead of 'BIN'.

I Hope it helps.

Regards,

Amit M.

Read only

0 Likes
1,443

Hi all,

I'm using the PDF type.

More, I have opened the 2 pdf file on my pc:

one downloaded with download FM,

one downloaded from the email.

The first one opens normaly, the other no.

I try to open they with a notepad.

I have seen that in the attached file missing some rows (many, eg. the line with EOF) that are present in the file downloaded with FM.

Does it suggest nothing to anyone?

Bye

enzo

Read only

0 Likes
1,443

How can you open a Pdf file with Notepad.

i don't know,

check out some problem lies in mail attachment...

regards

vijay

Read only

0 Likes
1,443

Hi Enzo,

You can also try this.. it is a Table entry but this is usually done by BASIS..

TABLE: SXSERV

KEY: NODE = INTIMAL, ADDR_TYPE = INT

change the fields CONVERT_S, CONVERT_L, CONVERT_O, and CONVERT_T to 'PDF'.

Regards,

Suresh Datti

Read only

0 Likes
1,443

I open the pdf with a program named ConText is an simple text editor.

Read only

0 Likes
1,443

Hi Suresh,

I saw the table SXSERV, but there aren't the fields you said to change?

Read only

0 Likes
1,443

Hi Enzo,

What version are you on? I am on 47 and used this very table to fix our PDF email issue..

Regards,

Suresh Datti

Read only

0 Likes
1,443

Hi Suresh,

I'm on a 4.6C

Read only

Former Member
0 Likes
1,443

Hi,

Once you are ready with pdf data in an internal table try to use the following code:

count the number of lines in an internal table and store them in tab_lines

CLEAR objpack-transf_bin.

objpack-transf_bin = 'X'.

objpack-head_start = 0.

objpack-head_num = 0.

objpack-body_start = 0.

objpack-body_num = tab_lines.

objpack-doc_type = 'pdf'.

objpack-doc_size = tab_lines * 255.

APPEND objpack.

CLEAR objpack.

objbin: contains the attachment contents

  • Sending the document

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = doc_chng

put_in_outbox = 'X'

commit_work = 'X'

TABLES

packing_list = objpack

contents_txt = objtxt

contents_bin = objbin

receivers = reclist

EXCEPTIONS

too_many_receivers = 1

document_not_sent = 2

operation_no_authorization = 4

OTHERS = 99.

IF sy-subrc = 0.

SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.

ENDIF.

Try to give app. points if it helps your requirement.

Regards,

Suman