MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 27/12/10, 17:03:04
Cristiana Cristiana is offline
Member
 
Fecha de Ingreso: may 2007
Localización: culiacan sin
Mensajes: 46
Smile Enviar PDF por email

Hola Foro

Alguien me puede decir como enviar un Pdf por email... es una orden de compra la hize en smartforms ya logre hacer la conversion a Pdf solo me falta enviarla por email.

Gracias por su ayuda.

Felices Fiestas....
__________________
Lo correcto no siempre es lo mas facil, Pero siempre es lo Mejor.
Dios te Bendiga.
Crysty
Responder Con Cita
  #2  
Viejo 28/12/10, 12:19:24
Avatar de kiboqac
kiboqac kiboqac is offline
Member
 
Fecha de Ingreso: mar 2007
Localización: Argentina
Mensajes: 55
La idea es pasar el PDF a Hexa y despues usar la funcion: "SO_NEW_DOCUMENT_ATT_SEND_API1" para adjuntarlo al mail.

Te pego un pedazo de codigo que te va a ser de mucha ayuda



CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = w_pdf
TABLES
binary_tab = wt_hex.

DESCRIBE TABLE wt_hex LINES w_lines.
CONCATENATE 'Adobe Form ' space wi_id '.pdf' INTO wa_head.
APPEND wa_head TO wt_head.

wa_pack-transf_bin = 'X'.
wa_pack-head_start = 1.
wa_pack-head_num = 1.
wa_pack-body_start = 1.
wa_pack-body_num = w_lines.
wa_pack-doc_type = 'PDF'.
wa_pack-obj_name = 'Adobe Form'.
wa_pack-doc_size = w_lines * 255.
CONCATENATE 'Adobe Form ' space wi_id '.pdf' INTO wa_pack-obj_descr.

APPEND wa_pack TO wt_pack.

ENDIF.

ENDIF.

LOOP AT gt_mails INTO w_mail.

* A cuenta de mail externa.
wa_rec-receiver = w_mail.
wa_rec-rec_type = 'U'.
APPEND wa_rec TO wt_rec.

ENDLOOP.


* Envío el mail.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_data
commit_work = 'X'
TABLES
packing_list = wt_pack
object_header = wt_head
contents_txt = wt_txt
contents_hex = wt_hex
receivers = wt_rec
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.
Responder Con Cita
  #3  
Viejo 28/12/10, 13:28:06
conrad10ar conrad10ar is offline
Banned
 
Fecha de Ingreso: mar 2006
Mensajes: 296
Hola!

acá tienes resuelto lo que necesitas:



Saludos!
Responder Con Cita
  #4  
Viejo 13/09/11, 20:34:05
esterg esterg is offline
Junior Member
 
Fecha de Ingreso: sep 2011
Mensajes: 20
multiples pdfs por mail?

hola, alguien tiene el codigo de como attachear varios pds en un mismo mail?
muchas gracias desde ya.
Responder Con Cita
  #5  
Viejo 16/09/11, 17:46:44
marianoboni marianoboni is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 75
Las clases que utilizo son :

data:
pdf_content type solix_tab,
send_request type ref to cl_bcs,
document type ref to cl_document_bcs,

Hola, te paso el fragmento de codigo en el que hago esto:





TRY.
* -------- create persistent send request ------------------------
send_request = cl_bcs=>create_persistent( ).

* -------- create and set document -------------------------------
pdf_content = cl_document_bcs=>xstring_to_solix( pdf_xstring ).

pdf_content2 = cl_document_bcs=>xstring_to_solix( pdf_xstring2 ).

APPEND 'Hello world!' TO text.

document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = text
i_length = '12'
i_subject = text-001 ).

* Creo el attachment
TRY.

document->add_attachment(
EXPORTING
i_attachment_type = 'PDF'
i_attachment_subject = motivo_email
i_att_content_hex = pdf_content ).


document->add_attachment(
EXPORTING
i_attachment_type = 'PDF'
i_attachment_subject = text-002
i_att_content_hex = pdf_content2 ).

CATCH cx_document_bcs INTO lx_document_bcs.
CONCATENATE SY-MSGID '|' SY-MSGTY '|' SY-MSGNO ':' SY-MSGV1 '|' SY-MSGV2 '|' SY-MSGV3 '|' SY-MSGV4 INTO MSG_ID.
EXPORT MSG_ID TO MEMORY ID 'MSG_ID'.
EXIT.
ENDTRY.

* add document object to send request
send_request->set_document( document ).

* --------- add recipient (e-mail address) -----------------------
* create recipient object
recipient = cl_cam_address_bcs=>create_internet_address( mailto ).

* add recipient object to send request
send_request->add_recipient( recipient ).

* ---------- send document ---------------------------------------
sent_to_all = send_request->send( i_with_error_screen = 'X' ).

commit work.

*------------------------------------------------

ENDTRY.
Responder Con Cita
  #6  
Viejo 27/03/12, 18:03:04
izak izak is offline
Junior Member
 
Fecha de Ingreso: mar 2012
Mensajes: 3
Hola, saben como puedo pasar el contenido de un PDF para usarlo en la funcion 'SCMS_XSTRING_TO_BINARY'?

En pocas palabras, quisiera saber como lleno el dato:

EXPORTING
buffer = xxxxxx

Otra consulta, referente a lo que pusiste marianoboni,

pdf_content = cl_document_bcs=>xstring_to_solix( pdf_xstring ).

Puedo setear pdf_xstring con un archivo pdf directo o tengo que pasarlo a xstring, en todo caso como haría eso?

Gracias de antemano a todos.
Responder Con Cita
  #7  
Viejo 26/08/15, 17:54:20
vamp_01 vamp_01 is offline
Senior Member
 
Fecha de Ingreso: jun 2006
Mensajes: 109

marianoboni hola me puedes ayudar tengo que hacer algo parecido, generar 3 pdf y adjuntarlos a un correo, creo que con esta explicacion me queda claro, pero quiero preguntarte como generas los pdf, a mi me aparecen con vista previa o hay que generarlos de otra manera...
Muchas GRacias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:55:35.


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