DEFINE_COM CLASS(£EDEMRP01) NAME(£vi_edemrp01) REFERENCE(*Deferred)
........
........
MTHROUTINE NAME(um_InviaMail)
DEFINE_MAP FOR(*INPUT) CLASS(£R_DE50) NAME(£p_a) MANDATORY('')
DEFINE_MAP FOR(*INPUT) CLASS(£R_DE50) NAME(£p_key1) MANDATORY('')
DEFINE_MAP FOR(*INPUT) CLASS(£R_DE50) NAME(£p_key2) MANDATORY('')
DEFINE_MAP FOR(*INPUT) CLASS(£R_STR256) NAME(£p_oggetto)
DEFINE_MAP FOR(*INPUT) CLASS(£R_STR256) NAME(£p_commento) MANDATORY('')
DEFINE_MAP FOR(*INPUT) CLASS(£R_STR256) NAME(£p_pathall ) MANDATORY('')
£R_STR256 := £p_commento
* DESTINATARIO
£vi_edemrp01.um_ImpoDestinatario( £p_a )
OPPURE
£vi_edemrp01.um_ImpoDestinatByKey P_EDEMKEY1(£p_key1) P_EDEMKEY2(£p_key2)
* OGGETTO
£vi_edemrp01.um_ImpoOggetto( £p_oggetto TRUE )
* MESSAGIO
£vi_edemrp01.um_ImpoRigaMessaggio( £p_commento.Substring( 1 100 ) TRUE )
£vi_edemrp01.um_ImpoRigaMessaggio( £p_commento.Substring( 101 100 ) TRUE )
£vi_edemrp01.um_ImpoRigaMessaggio( £p_commento.Substring( 201 56 ) TRUE )
£vi_edemrp01.um_ImpoRigaMessaggio( ....... )
* ALLEGATO
£vi_edemrp01.um_AggiungiAllegato( £p_pathall )
* INVIA
£r_uid32 := £vi_edemrp01.um_ChiudiEmail( £thishandler.avLoggedonUser )
£vi_edemrp01.um_InviaEmail P_UTENTE(£thishandler.avLoggedonUser) P_IDFILE(£r_uid32)
OPPURE
£vi_edemrp01.um_InviaEmail P_UTENTE(£thishandler.avLoggedonUser) P_IDFILE(£r_uid32) P_TRACCIABILE(N) --> per evitare invio mail all'utente mittente in conoscenza nascosta e ritorno mail notifica mail letta dal destinatario
ENDROUTINE
La procedura invia una e-mail per ogni chiamata: i parametri per la definizione della mail
devono essere passati tramite una working-list di nome "MAILINFO":
DEF_LIST NAME(£MAILINFO) FIELDS(£R_MAILCMD £R_MAILPRM) TYPE(*WORKING) ENTRYS(9999)
e deve essere passata nella CALL. Es:
CALL PROCESS(*DIRECT) FUNCTION(EDEMAIL) EXIT_USED(*NEXT) MENU_USED(*NEXT) IF_ERROR(*NEXT) PASS_LST(£MAILINFO)
Elenco dei comandi
Campo R_MAILCMD Campo R_MAILPRM
--------------- ---------------------------
SET_SUBJECT Indicare l'oggetto del messaggio
ADD_TO Aggiunge un Destinatario
ADD_TO_CC Aggiunge un Destinatario per conoscenza
ADD_TO_BCC Aggiunge un Destinatario per conoscenza riservata
ADD_TEXT Aggiunge il testo del messaggio
ADD_TEXT_NL Aggiunge una riga vuota nel testo del messaggio
ADD_ATTACH Aggiunge un allegato al messaggio (nome + percorso del file da inserire
I comandi "ADD_TO_*" possono essere ripetuti più volte
I comandi "ADD_TEXT" E "ADD_TEXT_NL" possono essere ripetuti più volte
per formare il corpo del messaggio e verranno elaborati nella stessa
sequenza di immissione nella lista
Il comando "ADD_ATTACH" può essere ripetuto più volte