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 11/09/13, 13:46:44
javibest javibest is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Mensajes: 185
Como insertar varios ficheros PDF en un mail

Antes de realizar la función estuve buscando info de como hacer para recoger los archivos anexados en un objeto (archivelink) y enviarlos por correo.

Me encontré con 2 problemas
- Obtener los links de los archivos anexados al objeto
- Insertar varios documentos en un mismo mail.

Copio y pego el codigo de la funcíon :

FUNCTION zpinf_get_attach_cesion.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" REFERENCE(LS_PSPID) TYPE PS_PSPID
*" EXPORTING
*" REFERENCE(LS_RETURN) TYPE BAPIRET2
*"----------------------------------------------------------------------

*"----------------------------------------------------------------------


DATA : lwa_zir_er_doc_gos LIKE zir_er_doc_gos,
lwa_prps LIKE prps,
lwa_proj LIKE proj,
ld_nombre TYPE soli,
ld_return TYPE bapiret2,
ld_document_id TYPE so_entryid,
ld_document_data TYPE sofolenti1,
ld_sodocchgi1 LIKE sodocchgi1,
ld_lineas_txt LIKE sy-index,
ld_lineas_pdf LIKE sy-index.




DATA : lt_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE, "Header data for document
lt_object_content LIKE solisti1 OCCURS 0 WITH HEADER LINE, "Document Content
lt_contents_hex LIKE solix OCCURS 0 WITH HEADER LINE, "Table for Binary Content
lt_contents_bin LIKE solisti1 OCCURS 0 WITH HEADER LINE, "Table for Binary Content
lt_contents_txt LIKE solisti1 OCCURS 0 WITH HEADER LINE, "Table for mail body
lt_receivers LIKE somlreci1 OCCURS 5 WITH HEADER LINE, "Receivers
lt_packinglist LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.



SELECT SINGLE * INTO lwa_proj
FROM proj
WHERE pspid = ls_pspid.

CHECK sy-subrc = 0.

SELECT SINGLE * INTO lwa_zir_er_doc_gos
FROM zir_er_doc_gos
WHERE pspid = lwa_proj-pspid
AND carpeta = 'CES'.

CHECK sy-subrc = 0.

MOVE lwa_zir_er_doc_gos-attachment TO ld_document_id.

*------------------------------------------------------------------------------------------------
*- Lectura del documento
*------------------------------------------------------------------------------------------------

CALL FUNCTION 'SO_DOCUMENT_READ_API1'
EXPORTING
document_id = ld_document_id
* FILTER = 'X '
IMPORTING
document_data = ld_document_data
TABLES
object_header = lt_object_header
object_content = lt_object_content
* OBJECT_PARA =
* OBJECT_PARB =
* ATTACHMENT_LIST =
* RECEIVER_LIST =
contents_hex = lt_contents_hex
EXCEPTIONS
document_id_not_exist = 1
operation_no_authorization = 2
x_error = 3
OTHERS = 4.

IF sy-subrc <> 0.
MOVE-CORRESPONDING sy TO ls_return.
ENDIF.




*------------------------------------------------------------------------------------------------
*- Recipientes del correo
*------------------------------------------------------------------------------------------------
lt_receivers-receiver = 'javier.fernandezrodriguez.externo@hcenergia.com'.
lt_receivers-express = 'X'.
lt_receivers-rec_type = 'U'.
APPEND lt_receivers.
CLEAR lt_receivers.

*------------------------------------------------------------------------------------------------
* Objeto con el cuerpo del e-mail.
*------------------------------------------------------------------------------------------------
lt_contents_txt = 'Se adjunta fichero de cesion'.
APPEND lt_contents_txt.
CLEAR lt_contents_txt.

DESCRIBE TABLE lt_contents_txt LINES ld_lineas_txt.

*------------------------------------------------------------------------------------------------
*- Datos que pueden ser modificados en un objeto.
*------------------------------------------------------------------------------------------------

ld_sodocchgi1-obj_name = 'Cesion'. "Nombre del documento, de la carpeta o lista de distribución
ld_sodocchgi1-obj_descr = 'Documento de cesión'. "Breve descripción del contenido
ld_sodocchgi1-obj_langu = sy-langu. "Idioma en que se ha creado el documento
ld_sodocchgi1-obj_sort = ''. "Campo de clasificación
ld_sodocchgi1-obj_expdat = ''. "Fecha de caducidad del objeto
ld_sodocchgi1-sensitivty = ''. "Objeto: Carácter (privado, funcional, etc.)
ld_sodocchgi1-obj_prio = ''. "Prioridad del documento
ld_sodocchgi1-no_change = ''. "No es posible modificar este doc.
ld_sodocchgi1-doc_size = ld_lineas_txt.


*------------------------------------------------------------------------------------------------
*- Pack to main body as RAW
*------------------------------------------------------------------------------------------------


lt_packinglist-transf_bin = ''. "Indicador para visual.objeto a transportar de modo binario
lt_packinglist-head_start = '1'. "Línea de inicio de cabecera de obj.en paquete transporte
lt_packinglist-head_num = '0'. "Ctd.de líneas de cabecera de objeto en paquete
lt_packinglist-body_start = '1'. "Línea de inicio de contenido de objeto en paquete
lt_packinglist-body_num = ld_lineas_txt. "Cantidad de líneas de contenido de objeto en paquete
lt_packinglist-doc_type = 'RAW'. "Sigla p.tipo de documento
lt_packinglist-obj_name = 'Cesion'. "Nombre del documento, de la carpeta o lista de distribución
lt_packinglist-obj_descr = 'Documento de cesión'. "Breve descripción del contenido
lt_packinglist-obj_langu = sy-langu. "Idioma en que se ha creado el documento
lt_packinglist-doc_size = ld_lineas_txt * 255. "Tamaño de documento SAPoffice (para API1)
lt_packinglist-mess_type = ''. "Clase de mensaje

APPEND lt_packinglist.
CLEAR lt_packinglist.


*------------------------------------------------------------------------------------------------
*- Descripcion de elementos del objeto importados (PDF)
*------------------------------------------------------------------------------------------------
DESCRIBE TABLE lt_contents_hex LINES ld_lineas_pdf.

lt_packinglist-transf_bin = 'X'. "Indicador para visual.objeto a transportar de modo binario
lt_packinglist-head_start = '1'. "Línea de inicio de cabecera de obj.en paquete transporte
lt_packinglist-head_num = '1'. "Ctd.de líneas de cabecera de objeto en paquete
lt_packinglist-body_start = '1'. "Línea de inicio de contenido de objeto en paquete
lt_packinglist-body_num = ld_lineas_pdf. "Cantidad de líneas de contenido de objeto en paquete
lt_packinglist-doc_type = 'PDF'. "Sigla p.tipo de documento
lt_packinglist-obj_name = 'Cesion'. "Nombre del documento, de la carpeta o lista de distribución
lt_packinglist-obj_descr = 'Documento de cesión'. "Breve descripción del contenido
lt_packinglist-obj_langu = sy-langu. "Idioma en que se ha creado el documento
lt_packinglist-doc_size = ld_lineas_pdf * 255. "Tamaño de documento SAPoffice (para API1)
lt_packinglist-mess_type = ''. "Clase de mensaje

APPEND lt_packinglist.
CLEAR lt_packinglist.

*------------------------------------------------------------------------------------------------
*- Envío del correo con el adjunto.
*------------------------------------------------------------------------------------------------

* lt_contents_bin[] = lt_contents_hex[].

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = ld_sodocchgi1
* PUT_IN_OUTBOX = ' '
commit_work = 'X'
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
TABLES
packing_list = lt_packinglist
object_header = lt_object_header
* contents_bin = lt_contents_bin
contents_txt = lt_contents_txt
contents_hex = lt_contents_hex
* OBJECT_PARA =
* OBJECT_PARB =
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 <> 0.
MOVE-CORRESPONDING sy TO ls_return.
ENDIF.



ENDFUNCTION.


En este caso , el objeto que recibe la funcion es un elemento pep.
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 17:14:39.


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