Lunes, 19 Enero 2015 00:00

SAPconnect y el envío de correos

Escrito por 
Valora este artículo
(0 votos)

En primer lugar deberemos chequear si tenemos activo el servicio SMTP, para ello podemos validar a través de la transacción RZ10 el puerto sobre el que está configuado el protocolo SMTP, y a través de la transacción SMICM podemos comprobar si el servicio está activo, y el puerto es el correcto.

 

Después lanzamos la transacción SCOT para configurar SAPconnect, y chequeamos el nodo para SMTP situado debajo del nodo INT, y hacemos doble click en SMTP para que nos aparezca un ventana de configuración donde tendremos que indicar el nombre del servidor de correo saliente, el puerto, y activar la casilla de "Internet", poniendo el valor "*" para enviar correos a todo el mundo. El nodo se pondrá de color verde.

 

 



* Bloque1 donde el usuario realizará la selección
SELECTION-SCREEN: BEGIN OF BLOCK bq1 WITH FRAME TITLE text-001.
PARAMETERS: p_correo TYPE char100 OBLIGATORY,
            p_texto  TYPE char255.
SELECTION-SCREEN: END OF BLOCK bq1.

*********************************
* LÓGICA DE PROCESO             *
*********************************
AT SELECTION-SCREEN.
* Validaciones de la pantalla de selección

START-OF-SELECTION.
* Selección principal de datos


END-OF-SELECTION.
* Enviar email
  PERFORM f_enviar_mail USING p_correo p_texto.



*********************************
* SUBRUTINAS                    *
*********************************

FORM f_enviar_mail USING param_email TYPE char100   "destinatarios
                         param_texto TYPE char255.  "texto dinámico para el cuerpo del mail

  DATA: lt_docs            TYPE TABLE OF docs,
        ls_doc_chng        LIKE sodocchgi1,
        ld_tab_lines       LIKE sy-tabix,
        lt_objtxt          LIKE solisti1 OCCURS 0 WITH HEADER LINE,
        lt_objpack         LIKE sopcklsti1 OCCURS 6 WITH HEADER LINE,
        ls_body            TYPE solisti1,
        lt_body            TYPE TABLE OF solisti1,
        lt_recipients      TYPE TABLE OF somlreci1 WITH HEADER LINE,
        ls_recipients      TYPE somlreci1.

  DATA ld_subject(50)      TYPE c VALUE 'Asunto del correo'.
  DATA ld_body(255)        TYPE c.
  DATA lv_sender           TYPE soextreci1-receiver.
  DATA lv_len              TYPE          i.
  DATA lv_ofset            TYPE          i.
  DATA lv_char(1).

  CLEAR: ls_doc_chng, ls_body, lt_recipients, ld_tab_lines, lv_sender.
  REFRESH: lt_body, lt_recipients, lt_objpack, lt_objtxt.


* Cabecera del email
  ls_doc_chng-obj_name = 'URGENT'.
  ls_doc_chng-sensitivty = 'P'.
  ls_doc_chng-no_change = 'X'.
  ls_doc_chng-priority = '1'.
  ls_doc_chng-obj_prio = '1'.
  ls_doc_chng-obj_langu = sy-langu.
  ls_doc_chng-no_change = 'X'.

* Asunto
  ls_doc_chng-obj_descr = ld_subject.     " ver variable definida con valor constante arriba

* Cuerpo en HTML
  CLEAR ls_body.
  MOVE '' TO ls_body-line.
  APPEND ls_body TO lt_body.

  CLEAR ls_body.
  CONCATENATE '<p>' 'Ejecución del programa</p>'
  INTO ls_body-line.
  APPEND ls_body TO lt_body.

  CLEAR ls_body.
  APPEND ls_body TO lt_body.
  CLEAR ls_body.
  CONCATENATE '<p><b><u>' param_texto '</u></b><br></p>'
  INTO ls_body-line SEPARATED BY space.
  APPEND ls_body TO lt_body.

  CLEAR ls_body.
  APPEND ls_body TO lt_body.
  CLEAR ls_body.
  CONCATENATE '<p>' '<IMG SRC=''https://URL.com/images?q=tbn:ANd9GcRThNVHaxFTwm4AGzyqHHsjJ''></p>'
  INTO ls_body-line SEPARATED BY space.
  APPEND ls_body TO lt_body.

  CLEAR ls_body.
  MOVE  '' TO ls_body-line.
  APPEND ls_body TO lt_body.

* Carga el HTML
  lt_objtxt[] = lt_body[].
  CLEAR lt_objtxt.
  DESCRIBE TABLE lt_objtxt LINES ld_tab_lines.

  IF ld_tab_lines GT 0.
    READ TABLE lt_objtxt INDEX ld_tab_lines.
    ls_doc_chng-doc_size =  ( ld_tab_lines - 1 ) * 255 + strlen( lt_objtxt ).
    CLEAR lt_objpack-transf_bin.
    lt_objpack-head_start = 1.
    lt_objpack-head_num = 0.
    lt_objpack-body_start = 1.
    lt_objpack-body_num = ld_tab_lines.
    lt_objpack-doc_type = 'HTM'.
    APPEND lt_objpack.
  ENDIF.

* Destinatarios del email separados por ";"
  lv_sender = Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla.'.             " indicar el mail origen

  CLEAR lt_recipients.
  lv_len = strlen( param_email ).
  DO lv_len TIMES.
    lv_ofset = sy-index - 1.
    lv_char = param_email+lv_ofset(1).
    CHECK lv_char IS NOT INITIAL.
    IF lv_char = ';'.
      CONDENSE lt_recipients-receiver.
      lt_recipients-rec_type    = 'U'.
      lt_recipients-rec_date    = sy-datum.
      APPEND lt_recipients.
      CLEAR lt_recipients.
      CONTINUE.
    ENDIF.
    CONCATENATE lt_recipients-receiver lv_char INTO lt_recipients-receiver.
    IF lv_len = sy-index.
      CONDENSE lt_recipients-receiver.
      lt_recipients-rec_type    = 'U'.
      lt_recipients-rec_date    = sy-datum.
      APPEND lt_recipients.
    ENDIF.
  ENDDO.

  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
    EXPORTING
      document_data              = ls_doc_chng
      put_in_outbox              = 'X'
      sender_address             = lv_sender
      sender_address_type        = 'SMTP'
      commit_work                = 'X'
    TABLES
      packing_list               = lt_objpack
      contents_txt               = lt_objtxt
      receivers                  = lt_recipients
    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 EQ 0.
    FORMAT: COLOR COL_POSITIVE, INTENSIFIED ON.
    WRITE: /1 'el MAIL fue enviado con éxito'.
  ELSE.
    FORMAT: COLOR COL_NEGATIVE, INTENSIFIED ON.
    WRITE: /1 'no se pudo enviar mail'.
  ENDIF.

ENDFORM.                    " enviar_mail

 

Para visualizar los correos generados para envío SCOT -> Utilidades -> Resumen órdenes de envío

 

 

Visto 155495 veces Modificado por última vez en Lunes, 22 Febrero 2016 15:53

8125 comentarios

  • Enlace al Comentario Greennex Jueves, 19 Octubre 2017 09:02 publicado por Greennex

    viagra acquistare online

    http://viagracheapoi.com/ - viagra online

    cheap viagra online

    online viagra american express

  • Enlace al Comentario Greennex Jueves, 19 Octubre 2017 09:01 publicado por Greennex

    quando il viagra non bast

    http://viagracheapoi.com/ - online viagra

    buy viagra

    can u use viagra with zoloft

  • Enlace al Comentario ApokoaloGig Jueves, 19 Octubre 2017 08:59 publicado por ApokoaloGig

    cialis meilleur prix vous
    vente de sildenafil
    site pour acheter du cialis
    vente kamagra en ligne
    le viagra pas cher
    femara le prix
    acheter viagra sans ordonnance france
    vente de cialis sur internet pharmacie en ligne
    acyclovir prix
    peut on acheter du stromectol sans ordonnance
    ordonnance viagra belgique
    cout du viagra
    zithromax avec ou sans ordonnance
    acheter lioresal vallee d aoste
    acheter xenical dans le monde

  • Enlace al Comentario Greennex Jueves, 19 Octubre 2017 08:25 publicado por Greennex

    viagra pills ingreediants

    http://viagracheapoi.com/ - viagra online

    buy viagra

    viagra coupon in costco

  • Enlace al Comentario Greennex Jueves, 19 Octubre 2017 08:03 publicado por Greennex

    viagra pfizer de

    http://viagracheapoi.com/ - cheap viagra

    viagra cheap

    viagra coupon in costco

  • Enlace al Comentario Greennex Jueves, 19 Octubre 2017 08:03 publicado por Greennex

    de viagra prescripcion no

    http://viagracheapoi.com/ - viagra online

    viagra cheap

    buy soft tab viagra

  • Enlace al Comentario KennethSkype Jueves, 19 Octubre 2017 08:02 publicado por KennethSkype

    wh0cd1946793 is albenza over the counter albendazole http://albendazole.directory

  • Enlace al Comentario Jameshes Jueves, 19 Octubre 2017 07:31 publicado por Jameshes

    b buy cialis coupon wood
    one buy cialis online
    buy cialis coupon

  • Enlace al Comentario Greennex Jueves, 19 Octubre 2017 07:29 publicado por Greennex

    viagra roma

    http://viagracheapoi.com/ - buy generic viagra

    buy generic viagra

    herbal viagra

  • Enlace al Comentario ApokoaloGig Jueves, 19 Octubre 2017 06:46 publicado por ApokoaloGig

    med france acheter cialis
    viagra explication ligne acheter
    achat acai pour maigrir
    sur quel site acheter kamagra
    prix levitra parapharmacie
    medecin ordonnance cialis
    fluconazole 150 prix
    vente citalopram
    acheter cialis en ligne en belgique
    creme aciclovir prix

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.