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

SO_DOCUMENT_SEND_API1 - Destribution list

Former Member
0 Likes
1,192

Hi all,

Can anyone tell me how to create the distribution list while using the SO_DOCUMENT_SEND_API1 FM.

THank you.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
897

HI,

check the T-code SO23 Tcode for creation of the distribution list.

Regards,

siva chalasani

4 REPLIES 4
Read only

former_member188829
Active Contributor
0 Likes
897

Hi,

Check these threads..

Read only

0 Likes
897

hello,

I want to create the distribution list which we are passinf to FM SO_DOCUMENT_SEND_API1,

Read only

Former Member
0 Likes
898

HI,

check the T-code SO23 Tcode for creation of the distribution list.

Regards,

siva chalasani

Read only

Former Member
0 Likes
897

Hi,

Here is the sample code which i have used in my program.but i used SO_NEW_DOCUMENT_ATT_SEND_API1 fm in my program.i think its new version .

DATA: w_document_data TYPE sodocchgi1. "Mail data

DATA: tbl_packing_list TYPE sopcklsti1 OCCURS 0 WITH HEADER LINE,

tbl_object_header TYPE solisti1 OCCURS 0 WITH HEADER LINE,

tbl_contents_txt1 TYPE solisti1 OCCURS 0 WITH HEADER LINE,

tbl_receivers TYPE somlreci1 OCCURS 0 WITH HEADER LINE.

tbl_contents_txt TYPE solisti1 OCCURS 0 WITH HEADER LINE.

CONSTANTS: c_x TYPE c VALUE 'X'.

CONSTANTS: c_c TYPE c VALUE 'C'.

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

FORM send_mail.

CHECK NOT tbl_error[] IS INITIAL.

SORT tbl_error BY material.

  • Prepare mail

PERFORM prepare_mail.

  • Get e-mail document data

PERFORM document_data.

  • Get packing list

PERFORM packing_list.

  • Get receiver mail id's

tbl_receivers-receiver = 'Z_ROOTS_SHP'.

tbl_receivers-rec_type = c_c.

tbl_receivers-express = c_x.

tbl_receivers-sap_body = c_x.

APPEND tbl_receivers.

  • Call FM to send E-mails to receivers

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

document_data = w_document_data

put_in_outbox = 'X'

TABLES

packing_list = tbl_packing_list

object_header = tbl_object_header

contents_txt = tbl_contents_txt

receivers = tbl_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.

CLEAR tbl_packing_list.

ENDIF.

REFRESH: tbl_packing_list,tbl_object_header,tbl_contents_txt,

tbl_receivers.

ENDFORM. " send_mail

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

FORM prepare_mail.

CONSTANTS:c_comma TYPE c VALUE ',', "Delimiter

c_linefeed TYPE x VALUE '0D'. "Line feed

  • E-Mail body content

CONCATENATE text-026 w_docnum text-027 INTO

  • Pease find the errors in the document attached

tbl_contents_txt-line

SEPARATED BY space.

APPEND tbl_contents_txt.

CLEAR tbl_contents_txt.

"#EC NOTEXT

    • E-mail attachment header

CONCATENATE text-029 text-030 text-035 text-036 text-031

text-037 text-064 text-033 text-038 text-043 text-039 c_comma

INTO tbl_contents_txt-line SEPARATED BY c_comma.

APPEND tbl_contents_txt.

CLEAR tbl_contents_txt.

  • E-mail attachment content

IF NOT tbl_error[] IS INITIAL.

LOOP AT tbl_error.

CONCATENATE w_docnum

tbl_error-sold_to

tbl_error-distchan

tbl_error-ship_to

tbl_error-material

tbl_error-shipped_qty

tbl_error-plant "TIR-60433

tbl_error-uom

tbl_error-purchase_order

tbl_error-tsa_no

tbl_error-description

INTO tbl_contents_txt-line

SEPARATED BY c_comma.

CONCATENATE c_linefeed tbl_contents_txt-line c_comma

INTO tbl_contents_txt-line.

APPEND tbl_contents_txt.

CLEAR: tbl_contents_txt.

CLEAR: tbl_error.

ENDLOOP.

ENDIF.

ENDFORM. " prepare_mail

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

FORM document_data.

CONSTANTS: c_underscore TYPE c VALUE '_'.

CLEAR w_line.

CONCATENATE 'RootsTownShipment' sy-datum sy-uzeit INTO w_line

SEPARATED BY c_underscore.

w_document_data-obj_name = w_line.

w_document_data-obj_descr = w_line.

w_document_data-priority = 1.

w_document_data-obj_prio = 1.

ENDFORM. " document_data

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

FORM packing_list.

CLEAR w_lines.

DESCRIBE TABLE tbl_error LINES w_lines.

READ TABLE tbl_contents_txt INDEX w_lines.

tbl_packing_list-head_start = 1.

tbl_packing_list-head_num = 1.

tbl_packing_list-body_start = 1.

tbl_packing_list-body_num = 1.

tbl_packing_list-doc_type = 'RAW'.

APPEND tbl_packing_list.

tbl_packing_list-head_start = 1.

tbl_packing_list-head_num = 0.

tbl_packing_list-body_start = 2.

tbl_packing_list-body_num = w_lines + 1.

tbl_packing_list-doc_type = 'CSV'.

tbl_packing_list-obj_name = 'RootsTownshipment'.

tbl_packing_list-doc_size = 350 * ( w_lines + 1 ).

"255 * ( w_lines + 1 ).

APPEND tbl_packing_list.

ENDFORM. " packing_list

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

Change according to your data.Definitely it will help you.

Reward if its useful

Thanks

Sivaparvathi

Message was edited by:

Siva Parvathi