Application Development 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: 

SOST: Error Message cannot be processed as it cannot be converted

Former Member
0 Kudos

I am sending Email of XLS Document thru my program,

but in SOST i got Error Message cannot be processed as it cannot be converted.

i used FM SO_DOCUMENT_SEND_API1 and after Sy-subrc of Fm is = 0

i used SUBMIT rsconn01 WITH mode = 'INT'

WITH output = 'X'

AND RETURN.

Can any one guide me on the finding out the error in this?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Check the below code. It may help you. First you need to convert the file into OTF.

DATA: NUMBYTES TYPE TST01-DSIZE,

PDFSPOOLID TYPE TSP01-RQIDENT.

DATA: BEGIN OF PDFDATA OCCURS 0.

INCLUDE STRUCTURE TLINE.

DATA: END OF PDFDATA.

DATA: G1_LINES_TXT TYPE I.

DATA : L_DOCUMENT_DATA TYPE SODOCCHGI1,

T_PACKING_LIST TYPE STANDARD TABLE OF SOPCKLSTI1,

W_OBJHEAD TYPE SOLI_TAB,

T_OBJBIN TYPE STANDARD TABLE OF SOLISTI1,

T_OBJTXT TYPE STANDARD TABLE OF SOLISTI1,

LW_PACKING_LIST TYPE SOPCKLSTI1,

L_LINES TYPE I,

W_RECEIVER TYPE SOMLRECI1,

T_RECEIVER TYPE STANDARD TABLE OF SOMLRECI1.

DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.

DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.

DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.

DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.

DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.

DATA: DOC_CHNG LIKE SODOCCHGI1.

DATA: TAB_LINES LIKE SY-TABIX.

SELECT MAX( RQIDENT ) INTO G_SPOOL_NUM

FROM TSP01

WHERE RQCLIENT = SY-MANDT AND

RQOWNER = SY-UNAME.

*....Convert Spool to PDF

CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = G_SPOOL_NUM

NO_DIALOG = 'X'

DST_DEVICE = G_PDEST

IMPORTING

PDF_BYTECOUNT = NUMBYTES

TABLES

PDF = PDFDATA

EXCEPTIONS

ERR_NO_ABAP_SPOOLJOB = 1

ERR_NO_SPOOLJOB = 2

ERR_NO_PERMISSION = 3

ERR_CONV_NOT_POSSIBLE = 4

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

*...Convert 132 char to 255 char

LOOP AT PDFDATA.

TRANSLATE PDFDATA USING ' ~'.

CONCATENATE GD_BUFFER PDFDATA INTO GD_BUFFER.

ENDLOOP.

TRANSLATE GD_BUFFER USING '~ '.

DO.

IT_MESS_ATT = GD_BUFFER.

APPEND IT_MESS_ATT.

SHIFT GD_BUFFER LEFT BY 255 PLACES.

IF GD_BUFFER IS INITIAL.

EXIT.

ENDIF.

ENDDO.

  • Creating the document attachment

LOOP AT IT_MESS_ATT.

OBJBIN = IT_MESS_ATT.

APPEND OBJBIN.

CLEAR: OBJBIN,

IT_MESS_ATT.

ENDLOOP.

  • Creating the document to be sent

DOC_CHNG-OBJ_NAME = 'IG Balance'.

*.....Subject of the email.

CONCATENATE 'Intragroup Confirmation from AoO: ' P_ZAOO INTO DOC_CHNG-OBJ_DESCR.

  • DOC_CHNG-OBJ_DESCR = 'Intragroup Confirmation from AoO '.

*...Body of the email

OBJTXT = 'Please find attached a summary and details for intragroup transactions for the referenced AoOs.'.

APPEND OBJTXT.

OBJTXT = 'Any queries regarding the attached should be addressed to the contact names on the Summary Report.'.

APPEND OBJTXT.

DESCRIBE TABLE OBJTXT LINES TAB_LINES.

READ TABLE OBJTXT INDEX TAB_LINES.

DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).

  • Creating 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'.

APPEND OBJPACK.

DESCRIBE TABLE OBJBIN LINES TAB_LINES.

OBJHEAD = 'IG Balace.PDF'. APPEND OBJHEAD.

  • 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 = 'IG Balance Report'.

OBJPACK-DOC_SIZE = TAB_LINES * 255.

APPEND OBJPACK..

  • Entering names in the distribution list

DATA: L_CNT TYPE I.

LOOP AT T_EMAIL INTO W_EMAIL.

IF W_EMAIL-ZCONTACT1 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT1.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

ELSEIF W_EMAIL-ZCONTACT2 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT2.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

ENDIF.

APPEND RECLIST.

CLEAR: RECLIST,

W_EMAIL.

ENDLOOP.

SELECT SINGLE ZAOO

ZCONTACT1

ZCONTACT2 FROM ZFI_MT_RPTRMAP INTO W_EMAIL

WHERE ZAOO EQ P_ZAOO.

IF W_EMAIL-ZCONTACT1 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT1.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

APPEND RECLIST.

ELSEIF W_EMAIL-ZCONTACT2 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT2.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

APPEND RECLIST.

ENDIF.

  • Sending the document

IF L_CNT > 0.

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.

CASE SY-SUBRC.

WHEN 0.

WRITE 'Email sent successfully'.

WHEN 1.

WRITE: / 'no authorization to send to the specified number of recipients!'.

WHEN 2.

WRITE: / 'document could not be sent to any of the recipients!'.

WHEN 4.

WRITE: / 'no authorization to send !'.

WHEN OTHERS.

WRITE: / 'error occurred during sending !'.

ENDCASE.

ELSE.

MESSAGE S000 WITH TEXT-018.

STOP.

ENDIF.

*...Delete Spool Request.

DATA: SPOOLID TYPE TSP01_SP0R-RQID_CHAR.

SPOOLID = G_SPOOL_NUM.

CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'

EXPORTING

SPOOLID = SPOOLID

  • IMPORTING

  • RC =

  • STATUS =

  • ERROR_MESSAGE =

.

4 REPLIES 4

Former Member
0 Kudos

Check the below code. It may help you. First you need to convert the file into OTF.

DATA: NUMBYTES TYPE TST01-DSIZE,

PDFSPOOLID TYPE TSP01-RQIDENT.

DATA: BEGIN OF PDFDATA OCCURS 0.

INCLUDE STRUCTURE TLINE.

DATA: END OF PDFDATA.

DATA: G1_LINES_TXT TYPE I.

DATA : L_DOCUMENT_DATA TYPE SODOCCHGI1,

T_PACKING_LIST TYPE STANDARD TABLE OF SOPCKLSTI1,

W_OBJHEAD TYPE SOLI_TAB,

T_OBJBIN TYPE STANDARD TABLE OF SOLISTI1,

T_OBJTXT TYPE STANDARD TABLE OF SOLISTI1,

LW_PACKING_LIST TYPE SOPCKLSTI1,

L_LINES TYPE I,

W_RECEIVER TYPE SOMLRECI1,

T_RECEIVER TYPE STANDARD TABLE OF SOMLRECI1.

DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.

DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.

DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.

DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.

DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.

DATA: DOC_CHNG LIKE SODOCCHGI1.

DATA: TAB_LINES LIKE SY-TABIX.

SELECT MAX( RQIDENT ) INTO G_SPOOL_NUM

FROM TSP01

WHERE RQCLIENT = SY-MANDT AND

RQOWNER = SY-UNAME.

*....Convert Spool to PDF

CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = G_SPOOL_NUM

NO_DIALOG = 'X'

DST_DEVICE = G_PDEST

IMPORTING

PDF_BYTECOUNT = NUMBYTES

TABLES

PDF = PDFDATA

EXCEPTIONS

ERR_NO_ABAP_SPOOLJOB = 1

ERR_NO_SPOOLJOB = 2

ERR_NO_PERMISSION = 3

ERR_CONV_NOT_POSSIBLE = 4

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

*...Convert 132 char to 255 char

LOOP AT PDFDATA.

TRANSLATE PDFDATA USING ' ~'.

CONCATENATE GD_BUFFER PDFDATA INTO GD_BUFFER.

ENDLOOP.

TRANSLATE GD_BUFFER USING '~ '.

DO.

IT_MESS_ATT = GD_BUFFER.

APPEND IT_MESS_ATT.

SHIFT GD_BUFFER LEFT BY 255 PLACES.

IF GD_BUFFER IS INITIAL.

EXIT.

ENDIF.

ENDDO.

  • Creating the document attachment

LOOP AT IT_MESS_ATT.

OBJBIN = IT_MESS_ATT.

APPEND OBJBIN.

CLEAR: OBJBIN,

IT_MESS_ATT.

ENDLOOP.

  • Creating the document to be sent

DOC_CHNG-OBJ_NAME = 'IG Balance'.

*.....Subject of the email.

CONCATENATE 'Intragroup Confirmation from AoO: ' P_ZAOO INTO DOC_CHNG-OBJ_DESCR.

  • DOC_CHNG-OBJ_DESCR = 'Intragroup Confirmation from AoO '.

*...Body of the email

OBJTXT = 'Please find attached a summary and details for intragroup transactions for the referenced AoOs.'.

APPEND OBJTXT.

OBJTXT = 'Any queries regarding the attached should be addressed to the contact names on the Summary Report.'.

APPEND OBJTXT.

DESCRIBE TABLE OBJTXT LINES TAB_LINES.

READ TABLE OBJTXT INDEX TAB_LINES.

DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).

  • Creating 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'.

APPEND OBJPACK.

DESCRIBE TABLE OBJBIN LINES TAB_LINES.

OBJHEAD = 'IG Balace.PDF'. APPEND OBJHEAD.

  • 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 = 'IG Balance Report'.

OBJPACK-DOC_SIZE = TAB_LINES * 255.

APPEND OBJPACK..

  • Entering names in the distribution list

DATA: L_CNT TYPE I.

LOOP AT T_EMAIL INTO W_EMAIL.

IF W_EMAIL-ZCONTACT1 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT1.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

ELSEIF W_EMAIL-ZCONTACT2 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT2.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

ENDIF.

APPEND RECLIST.

CLEAR: RECLIST,

W_EMAIL.

ENDLOOP.

SELECT SINGLE ZAOO

ZCONTACT1

ZCONTACT2 FROM ZFI_MT_RPTRMAP INTO W_EMAIL

WHERE ZAOO EQ P_ZAOO.

IF W_EMAIL-ZCONTACT1 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT1.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

APPEND RECLIST.

ELSEIF W_EMAIL-ZCONTACT2 IS NOT INITIAL.

RECLIST-RECEIVER = W_EMAIL-ZCONTACT2.

RECLIST-REC_TYPE = 'U'.

L_CNT = L_CNT + 1.

APPEND RECLIST.

ENDIF.

  • Sending the document

IF L_CNT > 0.

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.

CASE SY-SUBRC.

WHEN 0.

WRITE 'Email sent successfully'.

WHEN 1.

WRITE: / 'no authorization to send to the specified number of recipients!'.

WHEN 2.

WRITE: / 'document could not be sent to any of the recipients!'.

WHEN 4.

WRITE: / 'no authorization to send !'.

WHEN OTHERS.

WRITE: / 'error occurred during sending !'.

ENDCASE.

ELSE.

MESSAGE S000 WITH TEXT-018.

STOP.

ENDIF.

*...Delete Spool Request.

DATA: SPOOLID TYPE TSP01_SP0R-RQID_CHAR.

SPOOLID = G_SPOOL_NUM.

CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'

EXPORTING

SPOOLID = SPOOLID

  • IMPORTING

  • RC =

  • STATUS =

  • ERROR_MESSAGE =

.

0 Kudos

I Sending XLS document to Email...using 4.6C version..

I am getting sy-subrc returned as Zero from FM SO_DOCUMENT_SEND_API1

But still I gettting Error message : Message cannot be processed as it cannot be converted in SOST.

and Email could not be sent.

Please guide..

Edited by: ksiva on Oct 2, 2008 6:56 PM

0 Kudos

Here is my code: Cna anyone find the error for sending XLS ..using here 4.6C..

*******Data Declarations*******************

DATA: it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0

WITH HEADER LINE...

DATA: it_attach TYPE STANDARD TABLE OF ldbpsjtab3000 INITIAL SIZE 0

WITH HEADER LINE.

DATA: lv_date(10),

lv_time(8).

DATA: BEGIN OF i_spreadsheet1 OCCURS 0,

field1(4), " Company Code

field2(60), " Profit Center

field3(100), " Cost Center

field4(15), " G/L Account

field5(11), " Invoice doc. number

field6(11), " Line item

field7(5), " Vendor

field8(8), " Name

field9(8), " Currency

field10(8), " Loc.curr.amount

field11(12), " Tax Code

END OF i_spreadsheet1.

CONSTANTS: con_tab TYPE x VALUE 'OA', "Horizontal tab

con_cret TYPE x VALUE 'OD'. "Carriage return

DATA: no TYPE i,

t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,

t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,

t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,

t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,

t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,

w_cnt TYPE i,

w_sent_all(1) TYPE c,

w_doc_data LIKE sodocchgi1,

gd_error TYPE sy-subrc,

gd_reciever TYPE sy-subrc,

ld_error TYPE sy-subrc,

ld_reciever TYPE sy-subrc,

ld_mtitle LIKE sodocchgi1-obj_descr,

ld_email LIKE somlreci1-receiver VALUE 'sKXXXX@BCDF',

ld_format TYPE so_obj_tp ,

ld_attdescription TYPE so_obj_des, "so_obj_nam ,

ld_attfilename TYPE so_obj_nam, "so_obj_des ,

ld_sender_address LIKE soextreci1-receiver,

ld_sender_address_type LIKE soextreci1-adr_typ,

ld_receiver LIKE sy-subrc.

FIELD-SYMBOLS <fs> TYPE ANY.

FIELD-SYMBOLS <fs1> TYPE ANY.

DATA: temp(500) TYPE c,

gd_attachment_desc TYPE so_obj_nam,

gd_attachment_name TYPE so_obj_des,

p_email1 LIKE somlreci1-receiver

VALUE 'SXXX@ABCDF',

p_sender LIKE somlreci1-receiver.

LOOP AT i_final INTO wa_final.

CLEAR: i_spreadsheet1.

AT FIRST.

CLEAR: i_spreadsheet1.

APPEND i_spreadsheet1.

CONCATENATE sy-datum+6(02)

'.'

sy-datum+4(02)

'.'

sy-datum+0(04) INTO lv_date.

i_spreadsheet1-field1 = 'Run Date'.

MOVE: lv_date TO i_spreadsheet1-field2.

APPEND i_spreadsheet1.

CLEAR: i_spreadsheet1.

CONCATENATE sy-uzeit+0(02)

':'

sy-uzeit+2(02)

':'

sy-uzeit+4(02) INTO lv_time.

i_spreadsheet1-field1 = 'Run Time'.

MOVE: lv_time TO i_spreadsheet1-field2.

APPEND i_spreadsheet1.

CLEAR: i_spreadsheet1.

APPEND i_spreadsheet1.

CLEAR: i_spreadsheet1.

  • Report output list coloums details

i_spreadsheet1-field1 = 'Condition Type'.

i_spreadsheet1-field2 = 'Access Sequence Description'.

i_spreadsheet1-field3 = 'Access Sequence Values'.

i_spreadsheet1-field4 = 'Scale Qty'.

i_spreadsheet1-field5 = 'Prev Value'.

i_spreadsheet1-field6 = 'Curr Value'.

i_spreadsheet1-field7 = 'Curr'.

i_spreadsheet1-field8 = 'Valid From'.

i_spreadsheet1-field9 = 'Valid To'.

i_spreadsheet1-field10 = 'Created Date'.

i_spreadsheet1-field11 = 'USER ID'.

APPEND i_spreadsheet1.

CLEAR: i_spreadsheet1.

APPEND i_spreadsheet1.

CLEAR: i_spreadsheet1.

ENDAT.

  • Output details records moving to excel sheet

MOVE wa_final-kschl TO i_spreadsheet1-field1.

MOVE wa_final-ddtext TO i_spreadsheet1-field2.

MOVE wa_final-reqvakey TO i_spreadsheet1-field3.

MOVE wa_final-kstbm TO i_spreadsheet1-field4.

MOVE wa_final-prevkbetr TO i_spreadsheet1-field5.

MOVE wa_final-kbetr TO i_spreadsheet1-field6.

MOVE wa_final-konwa TO i_spreadsheet1-field7.

MOVE wa_final-datab TO i_spreadsheet1-field8.

MOVE wa_final-datbi TO i_spreadsheet1-field9.

MOVE wa_final-erdat TO i_spreadsheet1-field10.

MOVE wa_final-ernam TO i_spreadsheet1-field11.

APPEND i_spreadsheet1.

ENDLOOP.

LOOP AT i_spreadsheet1.

CLEAR: temp, no.

DO 255 TIMES.

ADD 1 TO no.

ASSIGN COMPONENT no OF STRUCTURE i_spreadsheet1 TO <fs>.

CONCATENATE temp <fs> con_tab INTO temp.

CLEAR <fs>.

ENDDO.

MOVE temp TO it_attach-tabname3000.

CONCATENATE con_cret it_attach INTO it_attach.

APPEND it_attach.

CLEAR it_attach.

ENDLOOP.

***********************************

  • populate the email header message.

DATA: message TYPE char256.

message = 'Please find enclosed the output document'.

REFRESH it_message.

it_message = message.

APPEND it_message.

ld_mtitle = 'SAP Sample ouptut'.

ld_attdescription = 'SAP Output'.

ld_format = 'XLS'.

ld_attfilename = 'filename'.

ld_sender_address = space.

ld_sender_address_type = space.

ld_attfilename = 'filename'.

  • Fill the document data.

w_doc_data-doc_size = 1.

  • Populate the subject/generic message attributes

w_doc_data-obj_langu = sy-langu.

w_doc_data-obj_name = 'SAPRPT'.

w_doc_data-obj_descr = ld_mtitle .

w_doc_data-sensitivty = 'F'.

  • Fill the document data and get size of attachment

CLEAR w_doc_data.

DO 10 TIMES.

w_cnt = w_cnt + 1.

READ TABLE it_attach INDEX w_cnt.

w_doc_data-doc_size =

( w_cnt - 1 ) * 255 + STRLEN( it_attach ).

w_doc_data-obj_langu = sy-langu.

w_doc_data-obj_name = 'SAPRPT'.

w_doc_data-obj_descr = ld_mtitle.

w_doc_data-sensitivty = 'F'.

CLEAR t_attachment.

REFRESH t_attachment.

ENDDO.

t_attachment[] = it_attach[].

gd_attachment_desc = 'Attachname'.

  • Describe the body of the message

CLEAR t_packing_list.

REFRESH t_packing_list.

t_packing_list-transf_bin = space.

t_packing_list-head_start = 1.

t_packing_list-head_num = 0.

t_packing_list-body_start = 1.

DESCRIBE TABLE it_message LINES t_packing_list-body_num.

t_packing_list-doc_type = 'RAW'.

APPEND t_packing_list.

  • Create attachment notification

t_packing_list-transf_bin = 'X'.

t_packing_list-head_start = 1.

t_packing_list-head_num = 1.

t_packing_list-body_start = 1.

DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.

t_packing_list-doc_type = ld_format.

t_packing_list-obj_descr = ld_attdescription.

t_packing_list-obj_name = ld_attfilename.

t_packing_list-doc_size = t_packing_list-body_num * 255.

APPEND t_packing_list.

  • Add the recipients email address

CLEAR t_receivers.

REFRESH t_receivers.

t_receivers-receiver = ld_email.

t_receivers-rec_type = 'U'.

t_receivers-com_type = 'INT'.

t_receivers-notif_del = 'X'.

t_receivers-notif_ndel = 'X'.

APPEND t_receivers.

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

.

IF sy-subrc = 0.

WAIT UP TO 2 SECONDS.

SUBMIT rsconn01 WITH mode = 'INT'

WITH output = 'X'

AND RETURN.

ENDIF.

Former Member
0 Kudos

Hi Siva,

Checkout whether your services are maintained or not in the Txcode - SICF. That might help you.

Cheers!!