Mandar Mails desde SAP

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • oieraz
    Member
    • nov
    • 54

    #1

    Mandar Mails desde SAP

    Buenos días, me han encomendado realizar un report que únicamente envíe un mail con un título y un texto. No he trabajado nunca con mails por lo que agradecería vuestra ayuda. Gracias por adelantado.

    Un saludo.
  • Atlas
    Senior Member
    • ago
    • 107

    #2
    puedes utilizar esta función, pero sin el objbin que no te hace falta:

    doc_chng-obj_descr = 'test'.

    objtxt = 'Texto adicional.'.
    APPEND objtxt.
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).

    objpack-body_start = 1.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'RAW'.
    objpack-obj_name = 'body'.
    objpack-obj_descr = 'Texto'.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    APPEND objpack.

    loop at t_all_spool.

    *if first = 'X'.
    * objpack-body_start = 1.
    * clear first.
    *else.
    objpack-body_start = tab_lines + 1.
    *endif.

    t_spool[] = t_all_spool-spool[].

    append lines of t_spool[] TO objbin[].

    * Esta es la lista
    DESCRIBE TABLE objbin LINES tab_lines.

    * Datos adjuntos
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.



    objpack-body_num = tab_lines.
    objpack-doc_type = 'ALI'.
    objpack-obj_name = 'Datos adjuntos'.
    objpack-obj_descr = 'spool ABAP'.
    READ TABLE objbin INDEX tab_lines.
    doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-doc_size = doc_size.
    APPEND objpack.

    endloop.

    .
    reclist-receiver = 'direccion@gmail.com'.
    reclist-rec_type = 'U'.
    RECLIST-EXPRESS = 'X'.
    RECLIST-REC_DATE = sy-datum.
    APPEND reclist.

    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = doc_chng
    PUT_IN_OUTBOX = 'X'
    COMMIT_WORK = 'X'
    * IMPORTING
    * SENT_TO_ALL =
    * NEW_OBJECT_ID =
    tables
    packing_list = objpack
    OBJECT_HEADER = objhead
    CONTENTS_BIN = objbin
    CONTENTS_TXT = objtxt
    * CONTENTS_HEX =
    * OBJECT_PARA =
    * OBJECT_PARB =
    receivers = 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 <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    Comentario

    • oieraz
      Member
      • nov
      • 54

      #3
      dudas

      Esto te sirve para enviar mails a SAP o al Outlook? Lo que me interesa es que sean enviado al Outlook.

      Gracias



      Originalmente publicado por Atlas
      puedes utilizar esta función, pero sin el objbin que no te hace falta:

      doc_chng-obj_descr = 'test'.

      objtxt = 'Texto adicional.'.
      APPEND objtxt.
      DESCRIBE TABLE objtxt LINES tab_lines.
      READ TABLE objtxt INDEX tab_lines.
      doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).

      objpack-body_start = 1.
      objpack-head_start = 1.
      objpack-head_num = 0.
      objpack-body_num = tab_lines.
      objpack-doc_type = 'RAW'.
      objpack-obj_name = 'body'.
      objpack-obj_descr = 'Texto'.
      objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
      APPEND objpack.

      loop at t_all_spool.

      *if first = 'X'.
      * objpack-body_start = 1.
      * clear first.
      *else.
      objpack-body_start = tab_lines + 1.
      *endif.

      t_spool[] = t_all_spool-spool[].

      append lines of t_spool[] TO objbin[].

      * Esta es la lista
      DESCRIBE TABLE objbin LINES tab_lines.

      * Datos adjuntos
      objpack-transf_bin = 'X'.
      objpack-head_start = 1.
      objpack-head_num = 0.



      objpack-body_num = tab_lines.
      objpack-doc_type = 'ALI'.
      objpack-obj_name = 'Datos adjuntos'.
      objpack-obj_descr = 'spool ABAP'.
      READ TABLE objbin INDEX tab_lines.
      doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
      objpack-doc_size = doc_size.
      APPEND objpack.

      endloop.

      .
      reclist-receiver = 'direccion@gmail.com'.
      reclist-rec_type = 'U'.
      RECLIST-EXPRESS = 'X'.
      RECLIST-REC_DATE = sy-datum.
      APPEND reclist.

      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
      document_data = doc_chng
      PUT_IN_OUTBOX = 'X'
      COMMIT_WORK = 'X'
      * IMPORTING
      * SENT_TO_ALL =
      * NEW_OBJECT_ID =
      tables
      packing_list = objpack
      OBJECT_HEADER = objhead
      CONTENTS_BIN = objbin
      CONTENTS_TXT = objtxt
      * CONTENTS_HEX =
      * OBJECT_PARA =
      * OBJECT_PARB =
      receivers = 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 <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

      Comentario

      • abaper_biz
        Junior Member
        • oct
        • 27

        #4
        correo

        Hola, esa funcion envia correo a la direccion que ingreses, sea outlook, u otros....aqui un post similar..



        Jhon Riders Juscamaita Rico
        --------------------------------------------
        CONSULTOR SAP / ABAP4 DEVELOPER

        Comentario

        Trabajando...