MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   error en funcion 'SO_DOCUMENT_SEND_API1 (foro/showthread.php?t=70839)

CESARCAES01 23/01/14 14:59:55

error en funcion 'SO_DOCUMENT_SEND_API1
 
hola a todos. estoy tratando de enviar un email desde un alv, con la función 'SO_DOCUMENT_SEND_API1, cunado ejecuto la función sy-surbc me devuelve 0, pero no aparecen los correos en sost, ayuda por favor. si necesitan código lo puedo facilitar...

eejmonterov 23/01/14 16:37:16

:)
 
Prueba esta función SO_NEW_DOCUMENT_ATT_SEND_API1

CESARCAES01 23/01/14 16:50:11

Cuales son sus parámetros?

CESARCAES01 23/01/14 16:54:15

esta es mi función... me dice que el correo se ha enviado. pero no aparece en la sost.

FORM f_send_mail.
" Local data
DATA: ld_sender_address LIKE soextreci1-receiver. " Mail data
DATA: ld_sender_address_type LIKE soextreci1-adr_typ. " Mail data
DATA: ld_sent_to_all LIKE sonv-flag. " Mail data
DATA: ld_lname TYPE string.
DATA: ld_index TYPE string.

" WA's
DATA: ls_doc_data LIKE sodocchgi1. " Mail Data
DATA: ls_packing_list TYPE sopcklsti1. " Mail Data
DATA: ls_receivers TYPE somlreci1. " Mail Data

" IT'S
DATA: lt_packing_list TYPE TABLE OF sopcklsti1. " Mail Data
DATA: lt_contents_bin TYPE TABLE OF solisti1. " Mail Data
DATA: lt_contents_txt TYPE TABLE OF solisti1. " Mail Data
DATA: lt_receivers TYPE TABLE OF somlreci1. " Mail Data

" FS's
FIELD-SYMBOLS: <lfs_line> TYPE solisti1. " Mail Data
FIELD-SYMBOLS: <lfs_packing_list> TYPE sopcklsti1. " Mail Data
FIELD-SYMBOLS: <lfs_receivers> TYPE somlreci1. " Mail Data
FIELD-SYMBOLS: <lfs_report> LIKE LINE OF gt_report.

" Contenido del mensaje LT_CONTENTS_TXT
DO.
" Se debe crear una constante por cada linea.
" El nombre debe comenzar por lo indicado en GC_BEG_LINE_NAME y seguidamente un número consecutivo
MOVE sy-index TO ld_index. CONDENSE ld_index.
CONCATENATE gc_beg_line_name ld_index INTO ld_lname.
ASSIGN (ld_lname) TO <lfs_line>.
IF <lfs_line> IS ASSIGNED.
APPEND <lfs_line> TO lt_contents_txt.
UNASSIGN <lfs_line>.
ELSE.
EXIT.
ENDIF.
ENDDO.

" Document data - Common part
MOVE sy-langu TO ls_doc_data-obj_langu.
MOVE 'SAPRPT' TO ls_doc_data-obj_name.
MOVE gc_mail_title TO ls_doc_data-obj_descr.
MOVE 'F' TO ls_doc_data-sensitivty.

" Describe the message body
MOVE space TO ls_packing_list-transf_bin.
MOVE 1 TO ls_packing_list-head_start.
MOVE 0 TO ls_packing_list-head_num.
MOVE 1 TO ls_packing_list-body_start.
MOVE 'BIN' TO ls_packing_list-doc_type.
DESCRIBE TABLE lt_contents_txt LINES ls_packing_list-body_num.
APPEND ls_packing_list TO lt_packing_list.

" Attachment notif
MOVE 'X' TO ls_packing_list-transf_bin.
MOVE 1 TO ls_packing_list-head_start.
MOVE 0 TO ls_packing_list-head_num.
MOVE 1 TO ls_packing_list-body_start.
MOVE 'PDF' TO ls_packing_list-doc_type.
CONCATENATE gc_fileprefix sy-datum INTO ls_packing_list-obj_name.
APPEND ls_packing_list TO lt_packing_list.

" Send to - Common part
MOVE 'U' TO ls_receivers-rec_type.
MOVE 'INT' TO ls_receivers-com_type.
MOVE 'X' TO ls_receivers-notif_del.
MOVE 'X' TO ls_receivers-notif_ndel.
APPEND ls_receivers TO lt_receivers.

" Loop employees
LOOP AT gt_report ASSIGNING <lfs_report>.

" Document data - Employee specific part
MOVE <lfs_report>-file_size TO ls_doc_data-doc_size.

" Attachment notif
READ TABLE lt_packing_list ASSIGNING <lfs_packing_list> INDEX 2.
DESCRIBE TABLE lt_contents_bin LINES <lfs_packing_list>-body_num.
MOVE <lfs_report>-file_size TO <lfs_packing_list>-doc_size.

" Pay receipt
MOVE <lfs_report>-pay_receipt TO lt_contents_bin.

" Send TO - Mail
READ TABLE lt_receivers ASSIGNING <lfs_receivers> INDEX 1.
* MOVE <lfs_report>-email TO <lfs_receivers>-receiver.
MOVE 'cesarcaes01@gmail.com' TO <lfs_receivers>-receiver.

" Enviar Correo
* CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = ls_doc_data
put_in_outbox = 'X'
* sender_address = ld_sender_address
* sender_address_type = ld_sender_address_type
"commit_work = 'X'
IMPORTING
sent_to_all = ld_sent_to_all
TABLES
packing_list = lt_packing_list
contents_bin = lt_contents_bin
contents_txt = lt_contents_txt
receivers = lt_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 NE 0.
MESSAGE 'Error al enviar mail' TYPE 'W'.

else.
MESSAGE 'Mensaje enviado' TYPE 'W'.
ENDIF.



ENDLOOP.

ENDFORM.

CESARCAES01 23/01/14 17:10:34

1 Adjunto(s)
Hola ya el correo aparace en la sost, pero el archivo adjunto pdf me dice que esta malo.. ver l aimagen que adjunto....


Husos Horarios son GMT. La hora en este momento es 12:24:23.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web