Incrustar un PDF en un correo mediante HTML

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • helios_gl
    Junior Member
    • feb
    • 4

    #1

    Incrustar un PDF en un correo mediante HTML

    Buenos dias, estoy intentando crear un programa que envie un mail desde sap, y el problema que me surge es el poder incrustar un pdf en el cuerpo del mail, actualmente estoy tratando de hacerlo con HTML, alguien sabe si es posible hacer esto y como?, muchas gracias.

    Este es el codigo:

    DATA:
    t_objbin TYPE STANDARD TABLE OF solisti1, " Attachment data
    t_objtxt TYPE STANDARD TABLE OF solisti1, " Message body
    t_objpack TYPE STANDARD TABLE OF sopcklsti1, " Packing list
    t_reclist TYPE STANDARD TABLE OF somlreci1, " Receipient list
    t_objhead TYPE STANDARD TABLE OF solisti1. " Header

    DATA: wa_docdata TYPE sodocchgi1, " Document data
    wa_objtxt TYPE solisti1, " Message body
    wa_objbin TYPE solisti1, " Attachment data
    wa_objpack TYPE sopcklsti1, " Packing list
    wa_reclist TYPE somlreci1. " Receipient list

    DATA: w_tab_lines TYPE i. " Table lines

    * Selection Screen
    PARAMETERS: p_email TYPE char120 obligatory
    VISIBLE LENGTH 40
    LOWER CASE.

    * Start-of-selection
    START-OF-SELECTION.

    * Creating message
    PERFORM create_message.

    * Sending Message
    PERFORM send_message.

    *&---------------------------------------------------------------------*
    *& Form create_message
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    FORM create_message .

    **1 Title, Description & Body
    PERFORM create_title_desc_body.

    **2 Receivers
    PERFORM fill_receivers.

    ENDFORM. " create_message

    *&---------------------------------------------------------------------*
    *& Form CREATE_TITLE_DESC_BODY
    *&---------------------------------------------------------------------*
    * Title, Description and body
    *----------------------------------------------------------------------*
    FORM create_title_desc_body.

    *...Title
    wa_docdata-obj_name = 'Email notification'.

    *...Description
    wa_docdata-obj_descr = 'Email body in HTML'.

    *...Message Body in HMTL
    wa_objtxt-line = '<html><body style="background-color:#FFE4C4;">'.

    APPEND wa_objtxt TO t_objtxt.

    wa_objtxt-line = '<p> List of Test materials </p>'.
    APPEND wa_objtxt TO t_objtxt.

    wa_objtxt-line = '<object'.
    APPEND wa_objtxt TO t_objtxt.
    wa_objtxt-line = 'type="application/pdf"'.
    APPEND wa_objtxt TO t_objtxt.
    wa_objtxt-line = 'data="T:\Documents and Settings\76954202\Escritorio\1107_Q715832A.pdf"'.
    APPEND wa_objtxt TO t_objtxt.
    wa_objtxt-line = 'style="width: 1000px; height: 1000px;" >'.
    APPEND wa_objtxt TO t_objtxt.
    wa_objtxt-line = 'ERROR (no puede mostrarse el objeto)'.
    APPEND wa_objtxt TO t_objtxt.
    wa_objtxt-line = '</object>'.
    APPEND wa_objtxt TO t_objtxt.

    wa_objtxt-line = '</body> </html> '.

    APPEND wa_objtxt TO t_objtxt.

    * Document data
    DESCRIBE TABLE t_objtxt LINES w_tab_lines.
    READ TABLE t_objtxt INTO wa_objtxt INDEX w_tab_lines.
    wa_docdata-doc_size =
    ( w_tab_lines - 1 ) * 255 + STRLEN( wa_objtxt ).

    * Packing data
    CLEAR wa_objpack-transf_bin.
    wa_objpack-head_start = 1.
    wa_objpack-head_num = 0.
    wa_objpack-body_start = 1.
    wa_objpack-body_num = w_tab_lines.
    * we will pass the HTML, since we have created the message
    * body in the HTML
    wa_objpack-doc_type = 'HTML'.
    APPEND wa_objpack TO t_objpack.

    ENDFORM. " CREATE_TITLE_DESC_BODY

    *&---------------------------------------------------------------------*
    *& Form fill_receivers
    *&---------------------------------------------------------------------*
    * Filling up the Receivers
    *----------------------------------------------------------------------*
    FORM fill_receivers .

    wa_reclist-receiver = p_email.
    wa_reclist-rec_type = 'U'.
    APPEND wa_reclist TO t_reclist.
    CLEAR wa_reclist.


    ENDFORM. " fill_receivers
    *&---------------------------------------------------------------------*
    *& Form send_message
    *&---------------------------------------------------------------------*
    * Sending Mail
    *----------------------------------------------------------------------*
    FORM send_message .

    * Send Message to external Internet ID
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = wa_docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel.6.10
    TABLES
    packing_list = t_objpack
    object_header = t_objhead
    contents_txt = t_objtxt
    receivers = t_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 NE 0.
    WRITE: 'Sending Failed'.
    ELSE.
    WRITE: 'Sending Successful'.
    ENDIF.


    ENDFORM. " send_message
  • mysmb2
    Senior Member
    • ene
    • 406

    #2
    Hola,
    probaste usar el tag embed
    Código:
    <embed src=”tu.pdf” >
    en vez de object cuando llenas la tabla t_objtxt.

    Saludos.
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    Trabajando...