Foro todo ABAP
Noviembre 18, 2017, 10:27:00 *
Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Foro todo ABAP instalado el 21/12/2007!
 
   Inicio   Ayuda Buscar Ingresar Registrarse  

Páginas: [1]
  Imprimir  
Autor Tema: PDF por EMAIL con opción de "A" y "CC"  (Leído 9393 veces)
Neo_25
Newbie
*
Mensajes: 10


Ver Perfil
« en: Mayo 15, 2009, 05:21:16 »

Hola otra vez.
Me gustaría mandar un Smartform convertido a PDF por email, a unas personas (campo a: del email) y a otras (campo cc: del email).
Tiene q ser así, no puedo juntar los emails.

Yo se crear el PDF y guardarlo en el disco duro. Pero eso no es lo q me piden, porque no tengo permisos de guardarlo en C: y lo tengo q guardar en Mis documentos ...

Pero bueno, aunque lo tuviera q crear en el disco duro, la pregunta es,
a que función le puedo meter el PDF y de manera independiente los que reciben el email en "a:" y en "c:".

Muchas gracias
En línea
Foro todo ABAP
« en: Mayo 15, 2009, 05:21:16 »

 En línea
Neo_25
Newbie
*
Mensajes: 10


Ver Perfil
« Respuesta #1 en: Mayo 22, 2009, 02:22:20 »

Se puede hacer con: SO_NEW_DOCUMENT_SEND_API1
Pero limita el Asunto a 12 caracteres y el Cuerpo del email a 50.

He encontrado éste código, pero no se como anexar la tabla interna en la q tengo el PDF, si alguien me podría echar una mano por favor.

DATA : l_o_send_request TYPE REF TO cl_bcs, " email request object
l_o_document TYPE REF TO cl_document_bcs, " documents object
l_o_sender TYPE REF TO cl_cam_address_bcs, " sender object
l_o_recipient TYPE REF TO cl_cam_address_bcs, " recipient object
bcs_exception TYPE REF TO cx_bcs, " exceptions
l_v_ret TYPE os_boolean, " boolean return value
" document contents
l_it_contents TYPE bcsy_text,
l_wa_contents TYPE LINE OF bcsy_text,
" documents attachment
l_i_attachment TYPE solix_tab.

TRY.
" create email objects
l_o_send_request = cl_bcs=>create_persistent( ).
" sender
l_o_sender = cl_cam_address_bcs=>create_internet_address( 'emailaddressAsender.com' ).
l_o_send_request->set_sender( i_sender = l_o_sender ).
" recipient TO
l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'emailtoArecipient.com' ).
l_o_send_request->add_recipient(
i_recipient = l_o_recipient
i_copy = '' " CC indicator).
" recipient CC
l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'emailccArecipient.com' ).
l_o_send_request->add_recipient(
i_recipient = l_o_recipient
i_copy = 'X' " CC indicator).

" email contents
CLEAR l_wa_contents.
l_wa_contents-line = 'Dear Recipients,'.
APPEND l_wa_contents TO l_it_contents.

CLEAR l_wa_contents.
l_wa_contents-line = 'This in the contents attachments'.
APPEND l_wa_contents TO l_it_contents.

" create documents
l_o_document = cl_document_bcs=>create_document(
i_type = 'RAW' " RAW document format
i_text = l_it_contents
i_subject = 'This Is The Subject for Email With Attachment' ).

l_o_document->add_attachment(
i_attachment_type = 'PDF' " add PDF attachment
i_attachment_subject = 'PDF attachment'
i_att_content_hex = l_i_attachment ).
l_o_send_request->set_document( l_o_document ).


" send email
l_v_ret = l_o_send_request->send( ).

CATCH cx_bcs INTO bcs_exception. " exceptions, do something
ENDTRY.
COMMIT WORK. " never forget this one
En línea
Neo_25
Newbie
*
Mensajes: 10


Ver Perfil
« Respuesta #2 en: Mayo 22, 2009, 02:23:03 »

El PDF lo obtengo así:

*  saco los datos del smartform
  DATA:
      lfm_name TYPE rs38l_fnam,
      lw_ctrlop TYPE ssfctrlop,
      lw_compop TYPE ssfcompop,
      lw_return TYPE ssfcrescl,
      li_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
      lv_len_in LIKE sood-objlen,
      li_tline TYPE TABLE OF tline WITH HEADER LINE.

*  llamo a mi smartform ZSGCF0001
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = 'ZSGCF0001'
    IMPORTING
      fm_name            = lfm_name
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2
      OTHERS             = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

*  para no verlo y que se marquen solos algunos botones
*  para que se mande imprimir directamente
  lw_ctrlop-getotf    = 'X'.
  lw_ctrlop-no_dialog = 'X'.
  lw_compop-tdnoprev  = 'X'.

*  se visualizaría el smartform
  CALL FUNCTION lfm_name
    EXPORTING
      control_parameters = lw_ctrlop
      output_options     = lw_compop
      user_settings      = 'X'
      e_task             = pi_e_task
      e_object           = pi_e_object
      i_estimation       = pi_i_estimation
      i_text_detail      = pi_i_text_detail
    IMPORTING
      job_output_info    = lw_return
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  li_otf[] = lw_return-otfdata[].

  CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
      format                = 'PDF'
      max_linewidth         = 132
    IMPORTING
      bin_filesize          = lv_len_in
    TABLES
      otf                   = li_otf
      lines                 = li_tline
    EXCEPTIONS
      err_max_linewidth     = 1
      err_format            = 2
      err_conv_not_possible = 3
      err_bad_otf           = 4
      OTHERS                = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

*  tenemos los datos del smartform en la ***** li_tline *****
En línea
Tomatorider
Newbie
*
Mensajes: 11

un desconocido

327180611
Ver Perfil WWW
« Respuesta #3 en: Noviembre 26, 2010, 12:51:16 »

ї Y el tamaсo de los texto que quieres pintar ? puede ser que no entren y por eso no se pinten ??

 Prueba y cuenta por aqui.
En línea

Es posible comprar Levitra online en Sevilla en una botica. Chicos diferentes suelen adquirir [URL=http://www.laprovincia.es/blogs/salud-y-mas/donde-conseguir-propecia-por-intern
Tomatorider
Newbie
*
Mensajes: 11

un desconocido

327180611
Ver Perfil WWW
« Respuesta #4 en: Noviembre 26, 2010, 12:43:32 »

Hola expertos

Bueno no hay ningъn problema en mandar mi Smartform a PDF el problema empieza cuando al mandarlo a PDF NO me imprime TODAS las copias del Smartform.

Es decir, en el Smartform yo imprimo 6 copias del mismo documento, pero al momento de mandarlo a PDF solo me trae una sola de esas copias.

Usй la funciуn CONVERT_OTF con su parбmetro COPYNUMBER pero unicamente sirve para imprimir la copia que le indicas, por ejemplo, si le pones 3 , te imprime la copia 3, yo quiero que imprima todo.

Alguna sugerencia?

Saludos y gracias de antemano
En línea

Es posible comprar Levitra online en Sevilla en una botica. Chicos diferentes suelen adquirir [URL=http://www.laprovincia.es/blogs/salud-y-mas/donde-conseguir-propecia-por-intern
pallo
Administrator
Jr. Member
*****
Mensajes: 75


Ver Perfil Email
« Respuesta #5 en: Diciembre 03, 2010, 08:49:14 »

Hola Tomatorider,

Podés poner un loop y llamar a la función para cada una de las copias?

Saludos,

pallo
En línea
Johenyst
Newbie
*
Mensajes: 6


johnherpespp@gmail.com
Ver Perfil
« Respuesta #6 en: Julio 14, 2011, 11:03:06 »

Si les es posible  Darme una mano con este problema tengo un smartfont  terminado pero no me presenta los   resultados solo me indica que es un problema de  formato de pagina Any no compatible como puedo solucionarlos.
En línea
Foro todo ABAP
   

 En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!