Header orange

Come inviare una mail da programma ABAP

Guida publicata da: Anonymous
Parole chiave: SAP, ABAP, email, sost, transazione, inviare, SO_NEW_DOCUMENT_ATT_SEND_API1, configurare, ricevere, function module.

Ecco una guida step-by-step semplice e descrittiva per inviare mail in SAP da un programma scritto in ABAP usando le funzionalità del function module SO_NEW_DOCUMENT_ATT_SEND_API1.

-Sei uno sviluppatore ABAP? Salva il tuo codice (o la tua guida) su You-Specialist, lo troverai sempre disponibile su internet! Usa questo link, inserisci il codice nel form e noi lo pubblicheremo. Ricorda di dare una breve descrizione sull'utilizzo del codice o sulla sua funzione-

Il codice da usare, corredato di adeguati commenti, è il seguente:

DATA: gf_rows TYPE i,
gt_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
gt_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gw_docchng LIKE sodocchgi1,
gt_objpack TYPE TABLE OF sopcklsti1,
gw_objpack TYPE sopcklsti1,
gt_objhead TYPE TABLE OF solisti1,
gt_objbin TYPE TABLE OF solisti1.

*Mettiamo i destinatari della mail nella tab gt_reclist
move 'mario.rossi@mail.it' to gt_reclist-receiver
TRANSLATE gt_reclist-receiver TO UPPER CASE. "Importante
gt_reclist-rec_type = 'U'.
APPEND gt_reclist.

IF gt_reclist[] IS NOT INITIAL.

*Gestione del testo nella mail
MOVE text-m00 "riga 1
TO gt_objtxt.
APPEND gt_objtxt.
CLEAR: gt_objtxt.
APPEND gt_objtxt.

MOVE text-m01 "riga 2
TO gt_objtxt.
APPEND gt_objtxt.
CLEAR: gt_objtxt.
APPEND gt_objtxt.

DESCRIBE TABLE gt_objtxt LINES gf_rows.

*Definisco l'oggetto della mail
CLEAR gw_docchng.
gw_docchng-obj_name = 'URGENT'.
gw_docchng-expiry_dat = sy-datum + 10.
gw_docchng-sensitivty = 'O'.
gw_docchng-doc_size = gf_rows * 255.
MOVE text-m02 TO gw_docchng-obj_descr SEPARATED BY space. "Oggetto della mail

* Email settings
REFRESH gt_objpack.
CLEAR gw_objpack-transf_bin.
gw_objpack-head_start = 1.
gw_objpack-head_num = 0.
gw_objpack-body_start = 1.
gw_objpack-body_num = gf_rows.
gw_objpack-doc_type = 'RAW'.
APPEND gw_objpack TO gt_objpack.

* Inoltra Mail
REFRESH: gt_objhead, gt_objbin.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gw_docchng
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = gt_objpack
object_header = gt_objhead
contents_bin = gt_objbin
contents_txt = gt_objtxt
receivers = gt_reclist
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.

ENDIF.


Andando poi nella transazione SOST, troveremo la mail inviata. Da qui potremo visualizzarla, cancellarla o inoltrarla all'effettivo destinatario.

-Questo contenuto ti sembra utile? Clicca il pulsante "Mi Piace" qui sotto!-



ADS LINK LARGO 2