Email aus SAP mit verschiedenen Dateianhängen

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

Email aus SAP mit verschiedenen Dateianhängen

Beitrag von Anchi (ForumUser / 11 / 0 / 0 ) »
Hallo,

ich muss aus einem Report heraus eine Email versenden. Ansich kein Problem. Aber der Report erzeugt jeweils ein PDF- und ein XLS-File. Beide Files sollen als Attachment an die Email angehängt werden.
Hat jemand Erfahrung damit? Gibt es einen Funkionsbaustein o.ä. der
mehrere verschiedene Attachments zu einer Mail generiert?

Danke schonmal für Eure Hilfe!!
anchi :wink:

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo anchi,
ich habe Dyteien immer mit

call method document->add_attachment

verschickt (waren aber nur Text-Dateien bzw. CSV-Dateien)

hth khb

Beitrag von Anchi (ForumUser / 11 / 0 / 0 ) »
Ok, aber wie lassen sich zwei so unterschiedliche Dateianhänge an eine
Mail anhängen. Hat hierzu jemand ein Beispiel?

anchi

Beitrag von Mareike (ForumUser / 11 / 0 / 1 ) »
Hallo anchi,

mit folgendem Funktionsbaustein kannst du mehrere Dateien per Mail versenden:
SO_NEW_DOCUMENT_ATT_SEND_API1

Dazu musst du die Tabelle packing_list mit den Dateianhängen füllen.
Ein Beispiel findest du in der FB Dokumentation.

Gruß
Mareike

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ggfs. müssen noch die zu versendenden Dateitypen in der Tabelle SXFORMATG definiert werden. Ansonsten kommt es zu einem "Konvertierungsfehler". Ich weiss aber nicht, ob es noch irgendwo eine globale Einstellung gibt, in der explizit eingestellt sein muss, dass die Prüfungen auf diese Tabelle durchgeführt werden sollen. Aber falls... SXFORMATG...

Gruß,

Email aus SAP mit verschiedenen Dateianhängen

Beitrag von ST22 (Specialist / 279 / 43 / 41 ) »
Hallo Anchi,

generell solltest du dich entscheiden, ob du mit dem Fuba SO_NEW_DOCUMENT_ATT_SEND_API1 arbeitest oder mit dem BCS.

Letzteres ist einfacher, weil du u.a. keine Packliste aufbauen musst.

Was ist zu tun (hier ein paar Codestrecken, teilweise musst du sicher noch ein paar Variablen defineiren, aber die genannten Methoden reichen, um eine Mail zu verschicken):

Data:
go_send_request TYPE REF TO cl_bcs,
go_document TYPE REF TO cl_document_bcs,
go_sender TYPE REF TO cl_sapuser_bcs,
go_recipient TYPE REF TO if_recipient_bcs.


* Sendrequest erzeugen
go_send_request = cl_bcs=>create_persistent( ).

* Dokument (Mailtext) erzeugen
CALL METHOD cl_document_bcs=>create_document
EXPORTING
i_type = 'RAW'
i_subject = ps_text_header-tdtitle
i_text = pt_mail_text
RECEIVING
result = go_document.

* Die Mail an den Sendrequest hängen
CALL METHOD go_send_request->set_document( go_document ).

* Sender
go_sender = cl_sapuser_bcs=>create( p_sender ).
CALL METHOD go_send_request->set_sender
EXPORTING
i_sender = go_sender.

* Empfänger
LOOP AT pr_receiver INTO ls_receiver.
CHECK ls_receiver-low IS NOT INITIAL.
lo_recipient = cl_cam_address_bcs=>create_internet_address(
ls_receiver-low ).
CALL METHOD go_send_request->add_recipient
EXPORTING
i_recipient = go_recipient
i_express = 'X'.
ENDLOOP.

* Copyempfänger
LOOP AT pr_copyreceiver INTO ls_receiver.
CHECK ls_receiver-low IS NOT INITIAL.
lo_recipient = cl_cam_address_bcs=>create_internet_address(
ls_receiver-low ).
CALL METHOD go_send_request->add_recipient
EXPORTING
i_recipient = go_recipient
i_express = 'X'
i_copy = 'X'.
ENDLOOP.

* Attachement anhängen (pdf)
TRY.
CALL METHOD go_document->add_attachment
EXPORTING
i_attachment_type = 'pdf' "Dateiextension
i_attachment_subject = lv_att_subject "Dateiname
i_att_content_text = pt_pdf.
CATCH cx_bcs INTO lo_bcs_exception.
MESSAGE e119(ku) WITH 'MAIL_ATTACHMENT'
lo_bcs_exception->error_type.
ENDTRY.

* Attachement anhängen (xls)
TRY.
CALL METHOD go_document->add_attachment
EXPORTING
i_attachment_type = 'xls' "Dateiextension
i_attachment_subject = lv_att_subject "Dateiname
i_att_content_text = pt_xls.
CATCH cx_bcs INTO lo_bcs_exception.
MESSAGE e119(ku) WITH 'MAIL_ATTACHMENT'
lo_bcs_exception->error_type.
ENDTRY.

* Attachement anhängen (doc)
TRY.
CALL METHOD go_document->add_attachment
EXPORTING
i_attachment_type = 'doc' "Dateiextension
i_attachment_subject = lv_att_subject "Dateiname
i_att_content_text = pt_doc.
CATCH cx_bcs INTO lo_bcs_exception.
MESSAGE e119(ku) WITH 'MAIL_ATTACHMENT'
lo_bcs_exception->error_type.
ENDTRY.

TRY.
* senden
CALL METHOD go_send_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = gv_sent_to_all ).
IF lv_sent_to_all = 'X'.
* WRITE text-003.
ENDIF.

COMMIT WORK.

*----------------------------------------------------------------------*
* Ausnahmebehandlung
*----------------------------------------------------------------------*
CATCH cx_bcs INTO lo_bcs_exception.
MESSAGE e119(ku) WITH 'SEND_SPOOL' lo_bcs_exception->error_type.
ENDTRY.


hier noch ein paar Anmerkungen

- P_SENDER ist ein SAP-Username, wenn leer dann sy-uname
- Empfänger sind E-Mailadressen in der Form OTTO@sowieso.de


Hoffe das hilft erst mal weiter

ST22

Beitrag von Anchi (ForumUser / 11 / 0 / 0 ) »
Hallo zusammen!

Erstmal Danke für Eure Tipps! Ich habs jetzt zumindest mal geschafft, eine Email mit den Dateianhängen zu erzeugen.
Ich habe den FuBa SO_NEW_DOCUMENT_ATT_SEND_API1 benutzt.

ABER:::
Bei dem PDF-Anhang habe ich jetzt ein Problem beim Öffnen der Datei. Ich bekomme vom Adobe Reader den Fehler, dass die Datei nicht geöffnet werden kann, weil der Dateityp nicht unterstützt wird oder die Datei beschädigt ist (Z.B. wenn sie als Mail-Anhang verschickt wurde und nicht richtig dekodiert wurde).

Was mache ich noch falsch?
Ich hoffe Ihr habt noch ein paar Tipps auf Lager!

anchi

Beitrag von Mareike (ForumUser / 11 / 0 / 1 ) »
Hallo anchi,

Wahrscheinlich ist die Zeilenlänge der PDF-Datei nicht mit dem FB konvertibel.
Du kannst die den Inhalt der PDF-Datei mit den FB QCE1_CONVERT in die geiegnete Zeilenlänge konvertieren.

Gruß
Mareike

Re: Email aus SAP mit verschiedenen Dateianhängen

Beitrag von aukrat (ForumUser / 1 / 1 / 0 ) »
Hallo,

es ist schon eine weile her seit dem letzen Beitrag.
trotzdem meine Frage an ST22 oder alle anderen:

Folgenden Code verstehe ich nicht so ganz:
* Attachement anhängen (doc)
TRY.
CALL METHOD go_document->add_attachment
EXPORTING
i_attachment_type = 'doc' "Dateiextension
i_attachment_subject = lv_att_subject "Dateiname
i_att_content_text = pt_doc.
CATCH cx_bcs INTO lo_bcs_exception.
MESSAGE e119(ku) WITH 'MAIL_ATTACHMENT'
lo_bcs_exception->error_type.
ENDTRY.

was für ein Datentyp ist pt_doc und wie fülle ich diesen mit dem Inhalt des Worddokuments?

besten Dank :-)

Re: Email aus SAP mit verschiedenen Dateianhängen

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Grob gesagt musst du deine Datei in die SOLI_TAB (oder SOLIX_TAB) reinschaufeln.
Aber auffüllend! Es dürfen keine "Leerzeichen" vorkommen.
Also solange in eine Zeile der Tabelle reinschreiben bis die ganze Zeile gefüllt ist und erst dann eine neue Zeile anfügen.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
aukrat

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Email aus SAP mit verschiedenen Dateianhängen

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
a-dead-trousers hat geschrieben:Aber auffüllend! Es dürfen keine "Leerzeichen" vorkommen.
Also solange in eine Zeile der Tabelle reinschreiben bis die ganze Zeile gefüllt ist und erst dann eine neue Zeile anfügen.
Die Klasse cl_bcs_convert liefert dafür Methoden, dann geht die Umwandlung eigentlich ganz einfach.
Gruß Hendrik

Re: Email aus SAP mit verschiedenen Dateianhängen

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
JHM hat geschrieben:Die Klasse cl_bcs_convert liefert dafür Methoden, dann geht die Umwandlung eigentlich ganz einfach.
Ich vergess jedes Mal auf die .... Klasse :oops:
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Email aus SAP mit verschiedenen Dateianhängen

Beitrag von foessleitnerj (ForumUser / 51 / 4 / 18 ) »
Hi!

Unter http://www.cadaxo.com/content/de/cadaxo ... /mail.html findest Du ein gutes Beispiel.


lgf
Die Performance und Ergebnisse von SELECTs und JOINs im Produktivsystem überprüfen?
=> SQL Cockpit
http://www.cadaxo.com

Seite 1 von 1

Vergleichbare Themen

9
Antw.
4231
Views
Von verschiedenen Email aus SAP raussenden
von Adrian » 16.05.2014 13:49 • Verfasst in ABAP® für Anfänger
6
Antw.
5081
Views
Auflistung Equipments mit Dateianhängen
von FreddyT » 15.05.2017 12:21 • Verfasst in Sonstige Module
0
Antw.
1736
Views
2
Antw.
4371
Views
ALV aktualisieren bei verschiedenen Dynpros
von siggi76 » 01.12.2011 14:13 • Verfasst in ABAP Objects®
2
Antw.
1774
Views
Standardtexte in SAP in verschiedenen Sprachen
von debianfan » 14.06.2018 14:18 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor 2 Stunden von black_adept 2 / 54
Programm anlegen mit Vorlage
vor 8 Stunden von DeathAndPain 2 / 110
IT0024 Qualifikationen CP-ID
vor 8 Stunden von DeathAndPain 2 / 351
BUSOBJEKT zu CMIS PHIO ermitteln
vor 10 Stunden von snooga87 1 / 82

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 2 Stunden von black_adept 2 / 54
Programm anlegen mit Vorlage
vor 8 Stunden von DeathAndPain 2 / 110
IT0024 Qualifikationen CP-ID
vor 8 Stunden von DeathAndPain 2 / 351
BUSOBJEKT zu CMIS PHIO ermitteln
vor 10 Stunden von snooga87 1 / 82

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 10 Stunden von snooga87 1 / 82
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3260
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821