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 52644 veces Modificado por última vez en Lunes, 22 Febrero 2016 15:53

2542 comentarios

  • Enlace al Comentario Charlespew Sábado, 24 Junio 2017 06:42 publicado por Charlespew

    wh0cd548145 Wellbutrin

  • Enlace al Comentario marshalbus Sábado, 24 Junio 2017 01:32 publicado por marshalbus

    car insurance questions car insurance cheap michigan car insurance quotes car insurance usa
    aarp insurance

  • Enlace al Comentario AaronEtego Viernes, 23 Junio 2017 20:40 publicado por AaronEtego

    wh0cd548145 medrol online

  • Enlace al Comentario Kelcymmetty Viernes, 23 Junio 2017 18:26 publicado por Kelcymmetty

    Cialis With Priligy Propecia Drugs Propecia Tablets Buy Cialis 10 Mg Erfahrungsberichte levitra cheapest price Prix Du Cialis 5 Mg Once you have completed the application on our website well get in touch with you as soon as youve been matched to a suitable lender. bad credit loans Apr.Order Now Clobetasol Cash Delivery viagra Citalopram 20 Mg Cialis Taladafil Where Buy Propecia Viagra Y Prostatitis Levitra Costo Farmacia Buy Kamagra Oral Jelly Abbreviation Clavamox Canada Cialis Price Propecia Winnipeg Levitra Wirkungszeit best price on levitra buy cheap accutane online no prescription Cialis Comprar Espana Levitra 20mg Price Buy Colchicine Tablets Feline Amoxicillin Drops Cialis Generic Propecia Farmacocinetica How Much Does Generic Tadalafil Cost Cheap Viagra 50mg Cialis 5 Mg Order On Line How To Use Levitra Levitra Overnight Order Kamagra Online Uk Want To Buy Shipped Ups Dutasteride Visa Medicine Kamagra Sildenafil Cialis Authentique Suisse Does Cephalexin Have Penicillin Buy Levitra Now Rezeptfrei Viagra Preisvergleich Propecia Fegato Leggi buy viagra online Blog Sur Clomid Keflex For Urinary Bladder Infection viagra Mexico Pharmacy Mail Order Online Propecia Ginecomastia Cialis Cost Clobetasol By Money Order Cheapest Viagra Online Buy Isotane Generic Secure Ordering Dutasteride Cash Delivery

  • Enlace al Comentario TracyNok Viernes, 23 Junio 2017 08:59 publicado por TracyNok

    wh0cd904465 generic abilify ponstel kytril sustiva toradol pain erythromycin strattera

  • Enlace al Comentario CcVep Viernes, 23 Junio 2017 06:53 publicado por CcVep

    bad credit personal loans
    bad credit loan payday loans payday lender bad credit loan
    bad credit credit cards
    [url=https://badcreditjkkl.com/]bad credit credit cards[/url] ’

  • Enlace al Comentario antoniotCax Viernes, 23 Junio 2017 06:49 publicado por antoniotCax

    what is the best price for a dyson vacuum the dyson vacuum cleaner dyson belt replacement dc33 dyson fan heater

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 04:42 publicado por Genanex

    secure purchase online viagra

    buy viagra online

    buy viagra online

    nota de viagra 50mg

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 03:27 publicado por Genanex

    authentic viagra for sale

    viagra online

    viagra online

    red viagra for sale

  • Enlace al Comentario Genanex Viernes, 23 Junio 2017 02:03 publicado por Genanex

    pilule generic viagra

    generic viagra

    buy viagra

    viagra 25mg price uk

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.