error en funcion 'SO_DOCUMENT_SEND_API1

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • CESARCAES01
    Member
    • nov
    • 46

    #1

    error en funcion 'SO_DOCUMENT_SEND_API1

    hola a todos. estoy tratando de enviar un email desde un alv, con la función 'SO_DOCUMENT_SEND_API1, cunado ejecuto la función sy-surbc me devuelve 0, pero no aparecen los correos en sost, ayuda por favor. si necesitan código lo puedo facilitar...
  • eejmonterov
    Junior Member
    • jun
    • 16

    #2


    Prueba esta función SO_NEW_DOCUMENT_ATT_SEND_API1

    Comentario

    • CESARCAES01
      Member
      • nov
      • 46

      #3
      Cuales son sus parámetros?

      Comentario

      • CESARCAES01
        Member
        • nov
        • 46

        #4
        esta es mi función... me dice que el correo se ha enviado. pero no aparece en la sost.

        FORM f_send_mail.
        " Local data
        DATA: ld_sender_address LIKE soextreci1-receiver. " Mail data
        DATA: ld_sender_address_type LIKE soextreci1-adr_typ. " Mail data
        DATA: ld_sent_to_all LIKE sonv-flag. " Mail data
        DATA: ld_lname TYPE string.
        DATA: ld_index TYPE string.

        " WA's
        DATA: ls_doc_data LIKE sodocchgi1. " Mail Data
        DATA: ls_packing_list TYPE sopcklsti1. " Mail Data
        DATA: ls_receivers TYPE somlreci1. " Mail Data

        " IT'S
        DATA: lt_packing_list TYPE TABLE OF sopcklsti1. " Mail Data
        DATA: lt_contents_bin TYPE TABLE OF solisti1. " Mail Data
        DATA: lt_contents_txt TYPE TABLE OF solisti1. " Mail Data
        DATA: lt_receivers TYPE TABLE OF somlreci1. " Mail Data

        " FS's
        FIELD-SYMBOLS: <lfs_line> TYPE solisti1. " Mail Data
        FIELD-SYMBOLS: <lfs_packing_list> TYPE sopcklsti1. " Mail Data
        FIELD-SYMBOLS: <lfs_receivers> TYPE somlreci1. " Mail Data
        FIELD-SYMBOLS: <lfs_report> LIKE LINE OF gt_report.

        " Contenido del mensaje LT_CONTENTS_TXT
        DO.
        " Se debe crear una constante por cada linea.
        " El nombre debe comenzar por lo indicado en GC_BEG_LINE_NAME y seguidamente un número consecutivo
        MOVE sy-index TO ld_index. CONDENSE ld_index.
        CONCATENATE gc_beg_line_name ld_index INTO ld_lname.
        ASSIGN (ld_lname) TO <lfs_line>.
        IF <lfs_line> IS ASSIGNED.
        APPEND <lfs_line> TO lt_contents_txt.
        UNASSIGN <lfs_line>.
        ELSE.
        EXIT.
        ENDIF.
        ENDDO.

        " Document data - Common part
        MOVE sy-langu TO ls_doc_data-obj_langu.
        MOVE 'SAPRPT' TO ls_doc_data-obj_name.
        MOVE gc_mail_title TO ls_doc_data-obj_descr.
        MOVE 'F' TO ls_doc_data-sensitivty.

        " Describe the message body
        MOVE space TO ls_packing_list-transf_bin.
        MOVE 1 TO ls_packing_list-head_start.
        MOVE 0 TO ls_packing_list-head_num.
        MOVE 1 TO ls_packing_list-body_start.
        MOVE 'BIN' TO ls_packing_list-doc_type.
        DESCRIBE TABLE lt_contents_txt LINES ls_packing_list-body_num.
        APPEND ls_packing_list TO lt_packing_list.

        " Attachment notif
        MOVE 'X' TO ls_packing_list-transf_bin.
        MOVE 1 TO ls_packing_list-head_start.
        MOVE 0 TO ls_packing_list-head_num.
        MOVE 1 TO ls_packing_list-body_start.
        MOVE 'PDF' TO ls_packing_list-doc_type.
        CONCATENATE gc_fileprefix sy-datum INTO ls_packing_list-obj_name.
        APPEND ls_packing_list TO lt_packing_list.

        " Send to - Common part
        MOVE 'U' TO ls_receivers-rec_type.
        MOVE 'INT' TO ls_receivers-com_type.
        MOVE 'X' TO ls_receivers-notif_del.
        MOVE 'X' TO ls_receivers-notif_ndel.
        APPEND ls_receivers TO lt_receivers.

        " Loop employees
        LOOP AT gt_report ASSIGNING <lfs_report>.

        " Document data - Employee specific part
        MOVE <lfs_report>-file_size TO ls_doc_data-doc_size.

        " Attachment notif
        READ TABLE lt_packing_list ASSIGNING <lfs_packing_list> INDEX 2.
        DESCRIBE TABLE lt_contents_bin LINES <lfs_packing_list>-body_num.
        MOVE <lfs_report>-file_size TO <lfs_packing_list>-doc_size.

        " Pay receipt
        MOVE <lfs_report>-pay_receipt TO lt_contents_bin.

        " Send TO - Mail
        READ TABLE lt_receivers ASSIGNING <lfs_receivers> INDEX 1.
        * MOVE <lfs_report>-email TO <lfs_receivers>-receiver.
        MOVE 'cesarcaes01@gmail.com' TO <lfs_receivers>-receiver.

        " Enviar Correo
        * CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
        CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
        document_data = ls_doc_data
        put_in_outbox = 'X'
        * sender_address = ld_sender_address
        * sender_address_type = ld_sender_address_type
        "commit_work = 'X'
        IMPORTING
        sent_to_all = ld_sent_to_all
        TABLES
        packing_list = lt_packing_list
        contents_bin = lt_contents_bin
        contents_txt = lt_contents_txt
        receivers = lt_receivers
        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.
        MESSAGE 'Error al enviar mail' TYPE 'W'.

        else.
        MESSAGE 'Mensaje enviado' TYPE 'W'.
        ENDIF.



        ENDLOOP.

        ENDFORM.

        Comentario

        • CESARCAES01
          Member
          • nov
          • 46

          #5
          Hola ya el correo aparace en la sost, pero el archivo adjunto pdf me dice que esta malo.. ver l aimagen que adjunto....
          Archivos Adjuntos

          Comentario

          Trabajando...