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: 

regarding spool to mail

Former Member
0 Kudos

HAI GUYS,

I want to send my Spool generated by program to SAP mail inbox for recipeint.

1-How can i know my recipient address(ie sample mail id to confirm my output mail).

2-Just directly i can use FM or i need any calculation to do this..

If i can get spool datas in excel format at mail would be good.

Suggestion please.. i have visited few spool postings but i feel looks long step to achieve this..

advice please.

Regards

Chandra

3 REPLIES 3

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Here is a sample program where I am submitting a report program and bringing the list back from memory, then formatting in HTML and emailing. I can't seem to get it to send to an internal sapoffice inbox, but this is to send to an external email address.



report zrich_0003 .

data: maildata like sodocchgi1.
data: mailtxt like solisti1 occurs 10 with header line.
data: mailrec like somlrec90 occurs 0 with header line.
data: list type table of abaplist with header line.
data: ascilines(1024) type c occurs 0 with header line.
data: htmllines type table of w3html with header line.

start-of-selection.

  submit zrich_0004 exporting list to memory and return.

  call function 'LIST_FROM_MEMORY'
       tables
            listobject = list
       exceptions
            not_found  = 1
            others     = 2.

  call function 'LIST_TO_ASCI'
       tables
            listobject         = list
            listasci           = ascilines
       exceptions
            empty_list         = 1
            list_index_invalid = 2
            others             = 3.

  call function 'WWW_HTML_FROM_LISTOBJECT'
       tables
            html       = htmllines
            listobject = list.


  clear: maildata, mailtxt, mailrec.
  refresh: mailtxt, mailrec.

  maildata-obj_name = 'TEST'.
  maildata-obj_descr = 'Test Subject'.

  loop at htmllines.
    mailtxt = htmllines.
    append mailtxt.
  endloop.

* Doesn't seem to work for internal SAPoffice inbox
*  mailrec-receiver = sy-name.
*  mailrec-rec_type = 'B'.  " or 'O'
 
  mailrec-receiver = 'you@yourcompany.com'.
  mailrec-rec_type = 'U'.
  append mailrec.

  call function 'SO_NEW_DOCUMENT_SEND_API1'
       exporting
            document_data              = maildata
            document_type              = 'HTM'
            put_in_outbox              = 'X'
       tables
            object_header              = mailtxt
            object_content             = mailtxt
            receivers                  = mailrec
       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.

Regards,

Rich Heilman

Former Member
0 Kudos

hi,

the following FM's are used to bring the mail address of tahe person's. to this FM Address number and person number are mandatory inputs.

ADDR_SELECT_ADR6_ARRAY

ADDR_SELECT_ADR6_Single.

For sending the spool you can go ahead as rich advised. if you wnat any other way lwt us know

Former Member
0 Kudos

For generating spool

FORM write_to_spool.

DATA : l_f_list_name LIKE pri_params-plist,

l_f_destination LIKE pri_params-pdest,

l_f_spld LIKE usr01-spld,

l_f_layout LIKE pri_params-paart,

l_f_line_count LIKE pri_params-linct,

l_f_line_size LIKE pri_params-linsz,

l_f_out_parameters LIKE pri_params,

l_f_valid.

l_f_line_size = 255.

l_f_line_count = 65.

l_f_layout = 'X_65_255'.

l_f_list_name = sy-repid.

  • to get defult spool device for the user

SELECT SINGLE spld INTO l_f_spld FROM usr01 WHERE bname = sy-uname.

IF sy-subrc = 0.

MOVE l_f_spld TO l_f_destination.

ENDIF.

CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

  • ARCHIVE_ID = C_CHAR_UNKNOWN

  • ARCHIVE_INFO = C_CHAR_UNKNOWN

  • ARCHIVE_MODE = C_CHAR_UNKNOWN

  • ARCHIVE_TEXT = C_CHAR_UNKNOWN

  • AR_OBJECT = C_CHAR_UNKNOWN

  • ARCHIVE_REPORT = C_CHAR_UNKNOWN

  • AUTHORITY = C_CHAR_UNKNOWN

  • COPIES = C_NUM3_UNKNOWN

  • COVER_PAGE = C_CHAR_UNKNOWN

  • DATA_SET = C_CHAR_UNKNOWN

  • DEPARTMENT = C_CHAR_UNKNOWN

destination = l_f_destination

  • EXPIRATION = C_NUM1_UNKNOWN

immediately = 'X'

  • IN_ARCHIVE_PARAMETERS = ' '

  • IN_PARAMETERS = ' '

layout = l_f_layout

line_count = l_f_line_count

line_size = l_f_line_size

list_name = l_f_list_name

  • LIST_TEXT = C_CHAR_UNKNOWN

  • MODE = ' '

  • NEW_LIST_ID = C_CHAR_UNKNOWN

  • NO_DIALOG = C_FALSE

  • RECEIVER = C_CHAR_UNKNOWN

  • RELEASE = C_CHAR_UNKNOWN

  • REPORT = C_CHAR_UNKNOWN

  • SAP_COVER_PAGE = C_CHAR_UNKNOWN

  • HOST_COVER_PAGE = C_CHAR_UNKNOWN

  • PRIORITY = C_NUM1_UNKNOWN

  • SAP_OBJECT = C_CHAR_UNKNOWN

  • TYPE = C_CHAR_UNKNOWN

  • USER = SY-UNAME

IMPORTING

  • OUT_ARCHIVE_PARAMETERS =

out_parameters = l_f_out_parameters

valid = l_f_valid

EXCEPTIONS

archive_info_not_found = 1

invalid_print_params = 2

invalid_archive_params = 3

OTHERS = 4

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

IF l_f_valid NE space.

NEW-PAGE PRINT ON PARAMETERS l_f_out_parameters.

WRITE : /5 'Material No.',

25 'Message Type',

40 'Message Issued'.

ULINE.

LOOP AT g_t_message_table WHERE type = 'E'.

WRITE : / g_t_message_table-matnr UNDER 'Material No.',

g_t_message_table-type UNDER 'Message Type',

g_t_message_table-message UNDER 'Message Issued'.

ENDLOOP.

NEW-PAGE PRINT OFF.

ENDIF.

ENDFORM. " WRITE_TO_SPOOL

For sending mail

FORM send_mail USING p_y16m_rcp_par STRUCTURE y16m_rcp_par.

  • Have a subject for the mail

g_s_document_data-obj_name = text-t02.

g_s_document_data-obj_descr = text-t03.

  • Fill receiver information

g_s_receivers-rec_type = p_y16m_rcp_par-rec_type.

g_s_receivers-rec_id = p_y16m_rcp_par-rec_id.

g_s_receivers-express = 'X'.

APPEND g_s_receivers TO g_t_receivers.

  • Call function to send mail

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'

EXPORTING

document_data = g_s_document_data

document_type = 'RAW'

  • PUT_IN_OUTBOX = ' '

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

TABLES

  • OBJECT_HEADER =

object_content = g_t_object_content

  • CONTENTS_HEX =

  • OBJECT_PARA =

  • OBJECT_PARB =

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

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDFORM. " SEND_MAIL

Check the above code it may help u.

Regards