Skip to Content
0
Former Member
Nov 29, 2006 at 03:09 PM

Extension of attached pdf file in mail appears as .PDF.TXT

176 Views

When I try to send email with attacment using function module SO_NEW_DOCUMENT_ATT_SEND_API1, I receive the pdf file with extension .PDF.TXT. for eg Filename.PDF.TXT

FORM CONVERT_OTF_TO_PDF USING LV_KUNNR TYPE KNA1-KUNNR.

DATA: LV_DESCRIPTION(30) TYPE C,

LV_ADRNR TYPE ADRC-ADDRNUMBER,

LV_EMAIL TYPE ADRC-EXTENSION2.

*-- If 'Send e-mail aatchment' read Spool Request Number.

IF P_EMAIL EQ 'X'.

*-- FM to convert the document from OTF to PDF format

CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = ITCPP-TDSPOOLID

IMPORTING

PDF_BYTECOUNT = GV_BYTECOUNT

PDF_SPOOLID = GV_PDFSPOOLID

BTC_JOBNAME = GV_JOBNAME

BTC_JOBCOUNT = GV_JOBCOUNT

TABLES

PDF = GT_PDF

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

OTHERS = 12.

*-- FM to send the attachment via email.

IF SY-SUBRC IS INITIAL.

CLEAR GS_DOC_DATA.

*-- Title and Description

GS_DOC_DATA-OBJ_NAME = 'Forward contract'.

*-- Subject of the email

CONCATENATE 'Forward Contract:' BELEG-ZUONR INTO LV_DESCRIPTION.

GS_DOC_DATA-OBJ_DESCR = LV_DESCRIPTION.

GS_DOC_DATA-OBJ_PRIO = 1.

*-- Refresh binary object

CLEAR gt_objbin.

REFRESH gt_objbin.

CALL FUNCTION 'QCE1_CONVERT'

TABLES

T_SOURCE_TAB = GT_PDF

T_TARGET_TAB = GT_OBJBIN

EXCEPTIONS

CONVERT_NOT_POSSIBLE = 1

OTHERS = 2.

IF SY-SUBRC IS INITIAL.

DESCRIBE TABLE GT_OBJBIN LINES gv_lin1.

IF gv_lin1 GT 0.

GT_OBJTXT-line = 'THIS IS BODY OF THE EMAIL'.

APPEND GT_OBJTXT.

CLEAR GT_OBJTXT.

ENDIF.

  • DESCRIBE TABLE GT_OBJTXT LINES GV_TAB_LIN.

ENDIF.

*-- creation of the entry for the compressed document

DESCRIBE TABLE GT_OBJTXT LINES GV_TAB_LIN.

CLEAR gt_objpack.

gt_objpack-transf_bin = ' ' .

gt_objpack-head_start = 1.

gt_objpack-head_num = 0.

gt_objpack-body_start = 1.

gt_objpack-body_num = GV_TAB_LIN.

gt_objpack-doc_type = 'RAW'.

gt_objpack-doc_size = ( GV_TAB_LIN - 1 ) * 255 + STRLEN(

gt_objtxt ).

APPEND gt_objpack.

*-- creation of the entry for the attachment

DESCRIBE TABLE gt_objbin LINES GV_TAB_LIN.

CLEAR gt_objpack.

gt_objpack-transf_bin = 'X'.

gt_objpack-head_start = 1.

gt_objpack-head_num = 1.

gt_objpack-body_start = 1.

gt_objpack-body_num = GV_TAB_LIN.

gt_objpack-doc_type = 'RAW'.

CONCATENATE BELEG-ZUONR '.PDF' INTO gt_objpack-obj_name.

gt_objpack-obj_descr = gt_objpack-obj_name.

gt_objpack-doc_size = ( GV_TAB_LIN - 1 ) * 255 + STRLEN(

gt_objbin ).

APPEND gt_objpack.

ENDIF.

  • READ TABLE objtxt INDEX gv_tab_lines.

DESCRIBE TABLE gt_objtxt LINES gv_tab_lin.

  • Calculating doc. size which is email

gs_doc_data-doc_size = ( GV_TAB_LIN - 1 ) * 255 + STRLEN( gt_objbin

).

*-- Read email address of the customer.

CLEAR LV_ADRNR.

SELECT SINGLE ADRNR FROM KNA1

INTO LV_ADRNR

WHERE KUNNR EQ LV_KUNNR.

SELECT SINGLE EXTENSION2 FROM ADRC

INTO LV_EMAIL

WHERE ADDRNUMBER EQ LV_ADRNR.

*-- Refresh receiver's list.

REFRESH GT_RECLIST.

*--Move email address to receiving list.

MOVE LV_EMAIL TO GT_RECLIST-RECEIVER.

GT_RECLIST-rec_type = 'U'.

GT_RECLIST-copy = ''.

GT_RECLIST-blind_copy = ''.

APPEND GT_RECLIST.

CLEAR GT_RECLIST.

*FM to send the email.

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

DOCUMENT_DATA = GS_DOC_DATA

PUT_IN_OUTBOX = 'X'

TABLES

PACKING_LIST = GT_OBJPACK

CONTENTS_BIN = gt_objbin

CONTENTS_TXT = gt_objtxt

RECEIVERS = GT_RECLIST .

ENDIF.

ENDFORM. " CONVERT_OTF_TO_PDF