2010 Jan 07 9:26 AM
Hello,
I have a requirement to attach a pdf file and send it as an attachement to the recipients in the mailing list,
I have got the internal table holding the pdf data using CALL FUNCTION 'ZCONVERT_ABAPSPOOLJOB_2_PDF which is i_pdf,
Now i have not been able to figure out how do i use this table and pass it to the fm
CALL FUNCTION 'SO_DOCUMENT_SEND_API1' . kindly advise.
Thanks in anticipation!
2010 Jan 07 10:20 AM
Hi,
As per your requirement, follow the below mentioned steps.
1. Convert internal table data to SPOOL using FM - SLVC_TABLE_PS_TO_SPOOL.
2. Convert this spool to PDF using FM - CONVERT_ABAPSPOOLJOB_2_PDF
3. While sending mail :
a. Convert PDF data to Binary content for mail using QCE1_CONVERT
b. Pass the above binary data in the table CONTENTS_BIN of the FM - SO_DOCUMENT_SEND_API1.
Your internal table will be send as an attachment to your mail.
Hope this helps.
Regards
Shruti
Hi,
As per your requirement, follow the below mentioned steps.
1. Convert internal table data to SPOOL using FM - SLVC_TABLE_PS_TO_SPOOL.
2. Convert this spool to PDF using FM - CONVERT_ABAPSPOOLJOB_2_PDF
3. While sending mail :
a. Convert PDF data to Binary content for mail using QCE1_CONVERT
b. Pass the above binary data in the table CONTENTS_BIN of the FM - SO_DOCUMENT_SEND_API1.
Your internal table will be send as an attachment to your mail.
Hope this helps.
Regards
Shruti
2010 Jan 07 9:39 AM
2010 Jan 07 9:57 AM
Hello,
check the below one it may help u .
Its for report
data : t_packing_list like sopcklsti1 occurs 0 with header line,
t_packing_list like sopcklsti1 occurs 0 with header line,
it_message type standard table of solisti1 initial size 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
w_doc_data like sodocchgi1,
ld_sender_address like soextreci1-receiver,
ld_sender_address_type like soextreci1-adr_typ,
w_sent_all(1) type c,
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.
For smartforms check this link
http://wiki.sdn.sap.com/wiki/display/Snippets/Smartform%2boutput%2bto%2bPDF%2bformat
Thanks & reagrads,
santhosh
Edited by: santhosh kumar on Jan 7, 2010 10:57 AM
2010 Jan 07 10:20 AM
Hi,
As per your requirement, follow the below mentioned steps.
1. Convert internal table data to SPOOL using FM - SLVC_TABLE_PS_TO_SPOOL.
2. Convert this spool to PDF using FM - CONVERT_ABAPSPOOLJOB_2_PDF
3. While sending mail :
a. Convert PDF data to Binary content for mail using QCE1_CONVERT
b. Pass the above binary data in the table CONTENTS_BIN of the FM - SO_DOCUMENT_SEND_API1.
Your internal table will be send as an attachment to your mail.
Hope this helps.
Regards
Shruti
2010 Jan 08 4:08 AM
Hi Shruti,
Thanks for the suggestion.
I tried doing it as mentioned by you , i could generate the PDF and attach it in the mail , however when i try to open file in the mail it does not open (says file not in pdf format) any idea what could be the possible shortcoming , how can this be countered?Please advise.
Thanks,
Alok.
2010 Jan 11 4:15 AM
Hi,
In the function module - SO_NEW_DOCUMENT_ATT_SEND_API1 , you have to create two line items in the table parameter PACKING_LIST.
1. entry for the compressed document (Related to table CONTENTS_TXT) - Pass parameter DOC_TYPE = 'HTM'.
2. entry for Packing as PDF(related to table CONTENTS_BIN) - Pass parameter DOC_TYPE = 'PDF' & TRANSF_BIN = 'X'.
Regards
Shruti
2010 Feb 10 2:55 PM
Hello Alok,
could you fix your issue in the meantime ? If not, take a look at SMP Notes 1320163 and 1324547. I had the same problem and could solve it.
Kind regards
Andreas
2010 Jan 08 4:17 AM
2010 Jan 12 12:43 PM
Hello,
first: check this: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c2567f2b-0b01-0010-b7b5-977cbf806...
second: you can get more attention under NetWeaver - Adobe forms
Regards, Otto
2010 Feb 11 6:38 AM
Hi Alok,
Change your code accordingly
Creating the entry for the compressed attachment
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 1.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'.
OBJPACK-OBJ_NAME = 'ATTACHMENT'.
OBJPACK-OBJ_DESCR = 'Reproduction object 138'.
OBJPACK-DOC_SIZE = TAB_LINES * 255.
APPEND OBJPACK.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards,
Soundarya.
2010 Feb 11 6:42 AM
Hi Alok,
Try out this code,
Creating the entry for the compressed attachment
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 1.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'.
OBJPACK-OBJ_NAME = 'ATTACHMENT'.
OBJPACK-OBJ_DESCR = 'Reproduction object 138'.
OBJPACK-DOC_SIZE = TAB_LINES * 255.
APPEND OBJPACK.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards,
Soundarya.
2010 Feb 11 6:42 AM
Hi Alok,
Try out this code,
Creating the entry for the compressed attachment
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 1.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'.
OBJPACK-OBJ_NAME = 'ATTACHMENT'.
OBJPACK-OBJ_DESCR = 'Reproduction object 138'.
OBJPACK-DOC_SIZE = TAB_LINES * 255.
APPEND OBJPACK.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards,
Soundarya.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |