PDA

Ver la Versión Completa : Por Favor Necesito Ayuda Muy Urgente


paz
10/07/08, 08:14:35
Hola necesito enviar un correo. La función que utilizo para ello es:
FORM send_mail USING p_output STRUCTURE gw_output.


* Fill the document to send through Email-Sapmail.

DATA: objcont TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,
reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE,
doc_chng LIKE sodocchgi1.

doc_chng-sensitivty = 'P'.

*fill the document.
DATA: temp_string TYPE string.
DATA: temp_date TYPE string, temp_hour TYPE string.


MOVE 'Test' to temp_string.
doc_chng-obj_name = temp_string.
doc_chng-obj_descr = temp_string.

*message content
CLEAR: temp_string.
CONCATENATE 'Jobname: ' p_output-jobname
INTO temp_string SEPARATED BY space.
objcont = temp_string.
APPEND objcont.

CLEAR: temp_string.
CONCATENATE 'System: ' p_output-systemname
INTO temp_string SEPARATED BY space.
objcont = temp_string.
APPEND objcont.

*fill receiver list

* External adres: -> Type U, internal SAP -> Type B.



* List of receivers
reclist-receiver = p_adress.
reclist-rec_type = 'U'.
reclist-com_type = 'INT'.

APPEND reclist.


*send the document
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
document_data = doc_chng
"document_type = 'RAW'
"put_in_outbox = ' '
"commit_work = 'X'
TABLES
object_content = objcont
receivers = 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.
IF sy-subrc <> 0.
FORMAT COLOR 6.
WRITE: / 'Mail has not been sent!'.
FORMAT COLOR OFF.
MESSAGE x001(00) WITH 'Error sending mail.'.
ELSE.
FORMAT COLOR 5.
WRITE: /'Mail has been sent.'.
FORMAT COLOR OFF.
ENDIF.


ENDFORM. " send_mail


Pero siempre me saca el mensaje de document_not_sent = 2 he probado ya un monton de cosas pero nada me sirve. Estoy intentando mandar el mensaje a una cuenta de hotmail ...
Podríais ayudarme por favor?
Gracias ;)

pmarinab
10/07/08, 08:32:57
Prueba a descomentar esta linea:

"commit_work = 'X'

paz
10/07/08, 08:46:40
ya lo he hecho y sigue saliendo el mismo error ... he probado el codigo en otras maquinas y el error es el mismo ...
la verdad es q estoy bastante desesperada porq tengo q terminar este codigo para ya y no me funciona
gracias ;)

DavidXD_XD
10/07/08, 14:06:52
Posiblemente sea un error del BASIS, está configurada la salida por internet dentro de la SCOT???, tal vez sea por eso y t tas rompiendo las neuronas :D , de no ser asi a preocuparse :p

Ablius
11/07/08, 11:03:00
Yo utilizo como template este trozo de codigo y me funciona.
REPORT ZABEL_SEND_MAIL_NEW .

************************************************************************
*** COPIA DE function module:QFOA_MAIL_SENDING




DATA: L_SOUD LIKE SOUD,
L_OBJECT_HD_CHANGE LIKE SOOD1,
L_SOOD LIKE SOOD,
L_OBJCONT LIKE SOLI OCCURS 0 WITH HEADER LINE,
L_RECEIVERS LIKE SOOS1 OCCURS 0 WITH HEADER LINE.


* Initialization.
CLEAR: L_SOUD,
L_OBJECT_HD_CHANGE,
L_SOOD,
L_OBJCONT,
L_RECEIVERS.

REFRESH: L_OBJCONT,
L_RECEIVERS.


* Mail Type.
MOVE 'RAW' TO L_SOOD-OBJTP.

* Header.
MOVE: SY-LANGU TO L_OBJECT_HD_CHANGE-OBJLA,
'TEXT-020' TO L_OBJECT_HD_CHANGE-OBJNAM,
'TEXT-021' TO L_OBJECT_HD_CHANGE-OBJDES,

'Descripcion' TO L_OBJECT_HD_CHANGE-OBJDES+20(12),
'F' TO L_OBJECT_HD_CHANGE-OBJSNS.

*----------------------------------------------------------------------*
* TEXT fill
*----------------------------------------------------------------------*



*Line content.
CLEAR L_OBJCONT.
APPEND L_OBJCONT.
*Line
MOVE: 'TEXT-040' TO L_OBJCONT.
APPEND L_OBJCONT.
*Line
MOVE: 'TEXT-027' TO L_OBJCONT.
APPEND L_OBJCONT.

* Mail Receivers.
MOVE 'AGARCIA' TO L_RECEIVERS-RECNAM.
MOVE SPACE TO L_RECEIVERS-RECESC.
MOVE SPACE TO L_RECEIVERS-ACONE.
MOVE 'X' TO L_RECEIVERS-SNDEX.
APPEND L_RECEIVERS.

* Mail Sender
MOVE SY-UNAME TO L_SOUD-USRNAM.


CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
OBJECT_HD_CHANGE = L_OBJECT_HD_CHANGE
OBJECT_TYPE = L_SOOD-OBJTP
TABLES
OBJCONT = L_OBJCONT
RECEIVERS = L_RECEIVERS
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 01
COMPONENT_NOT_AVAILABLE = 02
FOLDER_NOT_EXIST = 03
FOLDER_NO_AUTHORIZATION = 04
FORWARDER_NOT_EXIST = 05
NOTE_NOT_EXIST = 06
OBJECT_NOT_EXIST = 07
OBJECT_NOT_SENT = 08
OBJECT_NO_AUTHORIZATION = 09
OBJECT_TYPE_NOT_EXIST = 10
OPERATION_NO_AUTHORIZATION = 11
OWNER_NOT_EXIST = 12
PARAMETER_ERROR = 13
SUBSTITUTE_NOT_ACTIVE = 14
SUBSTITUTE_NOT_DEFINED = 15
USER_NOT_EXIST = 16
X_ERROR = 17.