Mehrer Änhänge per Mail verschicken

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Mehrer Änhänge per Mail verschicken

Beitrag von godevilgo (ForumUser / 5 / 0 / 0 ) » 28.04.2006 15:08
Hallo Experten,

ich versuche mehrere Reports als Anhang per Mail verschicken mit folgendem Code:

Code: Alles auswählen.

* Auselesen der Anzahl der Reports
  DESCRIBE TABLE reports LINES anzahl.

  if anzahl <> 0.

* Packing List(Anhang)

    loop at reports into wa_reports.

    kunnr = wa_reports-kunnr.
    report = wa_reports-report.

* Erzeugen des PDFs um es anschließend zu verschicken
      CALL FUNCTION 'ZNAK_S2_CREATEPDF'
        EXPORTING
          KUNNR            = wa_reports-kunnr
          report           = wa_reports-report
        TABLES
          UNCOMPRESSED_PDF = pdf.

* Umwandeln des PDFs in das richtige Format
      CALL FUNCTION 'ZNAK_S2_CONVERTPDF'
        TABLES
          PDF        = pdf
          OBJECT_BIN = object_bin.

      describe table object_bin lines tab_lines.
      read table object_bin index tab_lines.


      object_pack-transf_bin = 'X'.
      object_pack-head_start = 1.
      object_pack-head_num   = 0.
      object_pack-body_start = z_start.
      object_pack-body_num   = tab_lines.
      object_pack-doc_type   = 'PDF'.
      object_pack-obj_name   = 'SPOOL'.
      object_pack-obj_descr  = 'Report'.
*      object_pack-doc_size = tab_lines * 255.
    data: laenge type int4.
    laenge = ( tab_lines - 1 ) * 255 + strlen( object_bin ).

      object_pack-doc_size = laenge.
      append object_pack.

      z_start = z_start + tab_lines.
    endloop.
* Erstellen der Empfänger-Liste

* Externer Benutzer
    receiver_list-receiver = email.
    receiver_list-rec_type = 'U'.
    append receiver_list.

* Interner Benutzer
    receiver_list-receiver = USERNAME.
    receiver_list-rec_type = 'B'.
    append receiver_list.

fehler = 1.

* Sender der Email
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        DOCUMENT_DATA              = document_data
        PUT_IN_OUTBOX              = 'X'
*      COMMIT_WORK                = 'X'
      TABLES
        PACKING_LIST               = object_pack
        CONTENTS_BIN               = object_bin
        CONTENTS_TXT               = object_txt
        RECEIVERS                  = receiver_list
      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.

     fehler = sy-subrc.
  endif.
Das klappt bis zu zwei Reports auch prima, aber dann bekomme ich in sy-subrc eine 6, also einen X_Error.

Jemand eine Ahnung, was ich falsch mache?

Vielen Dank im Voraus, Gunnar


Beitrag von zzcpak (Expert / 673 / 5 / 66 ) » 28.04.2006 16:32
kanns nicht beschwören, aber bei object_pack-doc_size solltest du bei tab_lines * 255 bleiben und nicht bei der letzten Zeile die genaue Länge.

Weiterhin gibst du keine Header an für deine Anhänge (tables object_header). Habe immer MIT gearbeitet bei mehreren Anhängen. Dann müsste aber auch pro Anhang object_pack-head_start angepaßt werden und object_pack-head_num wäre 1.

könntest die beiden Sachen mal probieren, vielleicht hilfts.

Mails per Business Communication Services versenden

Beitrag von quercus (ForumUser / 13 / 0 / 0 ) » 05.05.2006 14:31
Hallo,
recht einfach lassen sich mehrere Anhänge mit Hilfe der Business Communication Services versenden.
Siehe Beispielprogramme BCS_EXAMPLE_1 - BCS_EXAMPLE_5.
Gruß
quercus
Aimer savoir est humain, savoir aimer est divin

Seite 1 von 1

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und besseren Inhalt:

Aktuelle Forenbeiträge

itab aus FuBa in Program
vor 42 Minuten von black_adept gelöst 6 / 47
GuiXT Standardtext erfassen bei SD Aufträgen
vor 11 Stunden von dagmard gelöst 3 / 77
Einlesen von XML im Batchmode
vor 12 Stunden von stony007_de gelöst 4 / 106

Vergleichbare Themen

Anhänge bei Verwendung von Mail Templates
von BMWi801 » 03.09.2020 10:45
Werte Per Mail verschicken
von quindata » 02.08.2010 09:08
PDF-File komprimieren und als Mail verschicken
von hezi » 14.10.2005 12:42
Interne Tabelle als xls Datei per E-Mail verschicken
von Niko_BC » 28.06.2018 14:33