Funcion SO_NEW_DOCUMENT_ATT_SEND_API1

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • sponsor
    Senior Member
    • may
    • 108

    #1

    Funcion SO_NEW_DOCUMENT_ATT_SEND_API1

    Buenas, estoy anexando un excel para enviar como adjunto en un email con esta funcion.

    El problema que tengo es que no se como hacer que el contenido del excel no se muestre en el cuerpo del email.

    Alguien sabe como hacerlo?

    Gracias!
  • SidV
    Usuario Avanzado
    • oct
    • 1761

    #2
    Hola, leíste esto?
    http://scn.sap.com/thread/1294600

    Otro:
    http://scn.sap.com/thread/1263306

    Si los leíste y no solucionaron el problema... disculpá.
    Sigo investigando.

    Saludos

    Comentario

    • sponsor
      Senior Member
      • may
      • 108

      #3
      Originalmente publicado por SidV
      Hola, leíste esto?
      http://scn.sap.com/thread/1294600

      Otro:
      http://scn.sap.com/thread/1263306

      Si los leíste y no solucionaron el problema... disculpá.
      Sigo investigando.

      Saludos

      El segundo link no lo habia visto.

      Pongo el codigo de mi rutina a ver si os ayuda.

      Código:
      DATA: ls_document_data TYPE sodocchgi1,
               lt_receivers     TYPE STANDARD TABLE OF somlreci1,
               lt_objtxt        TYPE STANDARD TABLE OF solisti1,
               lt_objpack       TYPE STANDARD TABLE OF sopcklsti1,
               ls_receivers     LIKE LINE OF lt_receivers,
               ls_objtxt        LIKE LINE OF lt_objtxt,
               ls_objpack       LIKE LINE OF lt_objpack,
      
         lt_objhead         TYPE TABLE OF solisti1 WITH HEADER LINE.
      
         DATA: lv_mail          TYPE so_recname,    "Direccion de correo
               lv_receiver      TYPE fieldname VALUE 'RECEIVER',
               lv_descr         TYPE zzecdescrip.
      
         DATA: lv_lines  TYPE i.
      
         ls_objtxt-line = 'Listado de cálculo diferencias ServiHabitat-Criteria'.
         APPEND ls_objtxt TO lt_objtxt.
         DESCRIBE TABLE lt_objtxt LINES lv_lines.
      
         " Destinatarios del correo
         ls_receivers-express   = 'X'. " Mensaje urgente
         ls_receivers-rec_type  = 'U'. "
      *  No queremos que llegue en CC
      *   ls_receivers-copy      = 'X'.
      
      *-->> U2Y50042 12.03.2014
      *-- Se modifica para obtener las direcciones de correo de la tabla ZHARDCODES
      *-- La direccion se escribe en el campo descripcion que es de 60 de longitud.
      
         SELECT descr INTO lv_descr FROM  zhardcodes
                                        WHERE  programa  = 'ZA010090B'
                                        AND    param     = lv_receiver.
           lv_mail = lv_descr.
      
           IF sy-subrc = 0.
             TRANSLATE lv_mail TO LOWER CASE.
           ELSE.
             lv_mail = 'arivas@bussap.es'.
           ENDIF.
      *     ls_receivers-receiver = 'dillera@bussap.es'.
           ls_receivers-receiver = lv_mail.
           APPEND ls_receivers TO lt_receivers.
      
         ENDSELECT.
      
      *-->> U2Y50042 12.03.2014
      *  Asunto EMAIL
         CLEAR ls_objtxt.
         READ TABLE lt_objtxt INTO ls_objtxt INDEX lv_lines.
         ls_document_data-doc_size   = ( lv_lines - 1 ) * 255 + strlen( ls_objtxt ).
         ls_document_data-obj_descr  = 'Listado cálculo diferencias ServiHabitat-Criteria'.
         ls_document_data-priority   = '1'.
         ls_document_data-obj_prio   = '1'.
      *
         ls_objpack-transf_bin  = ' '.
         ls_objpack-head_start  = 1.
         ls_objpack-head_num    = 0.
         ls_objpack-body_start  = 1.
         ls_objpack-body_num    = lv_lines * 255.
         ls_objpack-doc_type    = 'TXT'.
         ls_objpack-obj_name    = 'Cuadre_SVH_Criteria.xlsx'.
         ls_objpack-obj_descr   = 'Diferencias SVH-Criteria'. " Nombre fichero
         APPEND ls_objpack TO lt_objpack.
      
      *  Documento adjunto
      *   CLEAR ls_objpack.
         DESCRIBE TABLE it_excel LINES ls_objpack-body_num.
         ls_objpack-transf_bin = ''.
         ls_objpack-head_start = 1.
         ls_objpack-head_num = 1.
         ls_objpack-body_start = 1.
         ls_objpack-doc_size = ls_objpack-body_num * 255.
         ls_objpack-doc_type = 'XLS'.
         APPEND ls_objpack TO lt_objpack.
      
         CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           EXPORTING
            document_data                    = ls_document_data
            put_in_outbox                    = 'X'
            commit_work                      = 'X'
      *       IMPORTING
      *         SENT_TO_ALL                      =
      *         NEW_OBJECT_ID                    =
           TABLES
            packing_list                     = lt_objpack
            object_header                    = lt_objhead
            contents_bin                     = it_excel
            contents_txt                     = lt_objtxt
      *         CONTENTS_HEX                     =
      *         OBJECT_PARA                      =
      *         OBJECT_PARB                      =
             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 <> 0.
      * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
         ENDIF.
      
      
       ENDFORM.                    " ENVIAR_CORREO

      Comentario

      • sponsor
        Senior Member
        • may
        • 108

        #4
        Originalmente publicado por SidV
        Hola, leíste esto?
        http://scn.sap.com/thread/1294600

        Otro:
        http://scn.sap.com/thread/1263306

        Si los leíste y no solucionaron el problema... disculpá.
        Sigo investigando.

        Saludos
        El problema que tengo no es que el cuerpo del email me sale como un adjunto.

        Mi problema es que en el cuerpo del email, me está pintando la linea que he definido y además los datos del excel de mi adjunto.

        Comentario

        • sponsor
          Senior Member
          • may
          • 108

          #5
          He podido solucionar el primer problema.

          Ahora necesito cambiar el remitente del email, sabéis como se hace?

          Comentario

          • SidV
            Usuario Avanzado
            • oct
            • 1761

            #6
            No sentís que te faltó algo?
            Explica cómo solucionaste el problema... así le ayudas a otra persona q tiene tu misma duda

            Comentario

            • sponsor
              Senior Member
              • may
              • 108

              #7
              Originalmente publicado por SidV
              No sentís que te faltó algo?
              Explica cómo solucionaste el problema... así le ayudas a otra persona q tiene tu misma duda
              He modificado esta linea:

              Código:
              ls_objpack-body_num    = lv_lines * 255.
              por esta

              Código:
              ls_objpack-body_num    = lv_lines.
              Donde lv_lines es el número de lineas que quiero mostrar en el cuerpo.

              Comentario

              • SidV
                Usuario Avanzado
                • oct
                • 1761

                #8
                Gracias.

                Respecto a tu 2da consulta, acá dicen que con esta función no se puede.
                Tenes que usar otra función adicional.

                Saludos

                Comentario

                Trabajando...