Verkaufsbelege per Email verschicken (SapScript) Body-Text

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
22 Beiträge • Seite 1 von 2 (current) Nächste
22 Beiträge Seite 1 von 2 (current) Nächste

Verkaufsbelege per Email verschicken (SapScript) Body-Text

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
Hallo Zusammen

wir verschicken unsere Auftragsbestätigungen/Angebote direkt dem Kunden per Mail mit der angehängten Auftragsbestätigung/Angebot als PDF-File.

Nun habe ich folgende Frage. Momentan ist es so das ich im Programm die Betreffzeile des Email selbst aufbereite und dann das Email als Attechement angehängt wird. Was mir fehlt ist ein Body-Text, also als Beispiel:

"Vielen Dank für Ihren Auftrag." oder sonst ein Text.

Jedoch wie kann ich diesen Einsteuern? Habe schon div. OSS-Hinweise etc. gelesen aber ohne Erfolg. Wir verschicken die Email über SAPConnect, Sendemedium 5, ohne Koppelart M.

Hat jemand erfahrungen?
Danke für eure Hilfe

Grüsse Pascal

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


Beitrag von Gast ( / / 0 / 3 ) »
Hallo,

das geht mit dem Funktionsbaustein SO_NEW_DOCUMENT_ATT_SEND_API1 (mit Att) oder
SO_NEW_DOCUMENT_SEND_API1 (ohne Att).
Schau Dir mal den Hinweis 190669.
Allerdings in den Druckprogrammen sind andere
Funktionsbausteine verwendet.

Gruß
Hedwig
:?

..

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
Hallo Hedwig

Danke für deine Antwort..aber dieser FB hilft mir leider nicht weiter, weil es bei den Formularen anders läuft!

Beitrag von LoLo ( / / 0 / 3 ) »
Moin,

was läuft denn da soviel anders? Ich würde genau den von Hedwig genannten Baustein verwenden.

Einen Text (wenn es ein Standardtext ist) kann man dann z.B. über die SE61 anlegen (als allgemeiner Text) und zusätzlich z.B. Variablen einfügen die man dann zur Laufzeit noch ersetzen kann, z.B.:

&Variable1& &Variable2&

etc.

Den Text holt man sich dann über den Funktionsbaustein DOCU_GET

Dann macht man noch einen Loop über den Text und ersetzt die Variablen:

Code: Alles auswählen.

  LOOP AT t_tlines WHERE tdline CS '&'.
    REPLACE '&VARIABLE1&'   IN t_tlines-tdline WITH iv_var1.
    MODIFY t_tlines.
  ENDLOOP.
Schlussendlich Konvertierung von Sapscript nach ASCII mit Baustein 'CONVERT_ITF_TO_ASCII' und Versenden über 'SO_DOCUMENT_SEND_API1' bzw. den anderen zum Versenden mit Attachments (am Ende ein commit work).
Das funktioniert auf jeden Fall (genauso machen wir das).

Ciao, LoLo

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
Hallo Zusammen

Ich habe jetz folgendes gemacht. Nach dem Druck des Formulares kriege ich die OTF-Tabelle vom FB CLOSE_FORM zurück.

Anschliessend konvertiere ich diese OTF-Tabelle mit dem FB CONVERT_OTF ins PDF format, dann noch mit dem FB QCE1_CONVERT die Zeilenlänge ändern und dann das genze mit dem FB SO_NEW_DOCUMENT_ATT_SEND_API1 verschicken.

Also momentan sieht der Code so aus:
call function 'CLOSE_FORM'
tables
otfdata = t_itcoo
exceptions
others = 1.


call function 'CONVERT_OTF'
exporting
format = 'PDF'
importing
bin_filesize = doc_size
tables
otf = t_itcoo
lines = test_tline
exceptions
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
others = 4.

call function 'QCE1_CONVERT'
tables
t_source_tab = test_tline
t_target_tab = objbin
exceptions
convert_not_possible = 1
others = 2.


clear: objtxt.
append objtxt.
objtxt = 'Bitte öffnen Sie angehängtes Formular.'.
append objtxt.
clear: objtxt.
append objtxt.
clear: objtxt.
objtxt = 'Hinweis: dieses Mail ist Virenfrei.'.
append objtxt.

refresh doc_chng.
clear doc_chng.
doc_chng-obj_name = 'EMAIL TEST'.
doc_chng-obj_descr = 'TEST EMAIL'.
describe table objtxt lines tab_lines.
read table objtxt index tab_lines.
doc_chng-doc_size = ( tab_lines - 1 ) * 255 + strlen( objtxt ) .
append doc_chng.

clear: objpack-transf_bin, objpack.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'RAW'.
append objpack.

refresh reclist.
clear reclist.
reclist-receiver = 'kpas@sfsservices.biz'.
move 'U' to reclist-rec_type.
append reclist.

call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
destination 'P01_100'
exporting
document_data = doc_chng
* put_in_outbox = 'X'
tables
packing_list = objpack
object_header = objhead
contents_bin = T_ITCOO
contents_txt = objtxt
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 = 99.

..So wunderbar, jetz mein Problem..ich bekomme das Email, mein Text den ich oben reingeschrieben habe erscheint auch, jedoch kein Anhang? Habe ein bisschen Problem mit dem Doc-Typ..was muss ich da genau dem FB 'SO_NEW_DOCUMENT_ATT_SEND_API1' mitgeben?

Danke für die Hilfe..

Pascal

Beitrag von Gast ( / / 0 / 3 ) »
Als Doctype gibst Du 'BIN' an. Die zulässigen Objekttypen findet man übrigens in Tabelle TSOTD. Entscheidend ist die Packlingliste für attachments. Diese muß korrekt gefüllt werden. Siehe auch hier:

http://www.abapforum.com/forum/viewtopic.php?t=735

Ein Beispiel zur Verwendung findest Du auch im Baustein 'SWU_SEND_R3F_MESSAGE'

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
Hallo zusammen.

So, habs jetzt so hingebracht das mein Email mit dem PDF-Anhang verschickt wird, jedoch kann ich das PDF nicht öffnen -> (siehe Attachement)

Ich kann mir vorstellen das ich die Struckturen falsch abfülle, aber was ich falsch mache weiss ich noch nicht.. kennt jemand diesen Fehler vielleicht?

Gruss Pascal

Beitrag von LoLo ( / / 0 / 3 ) »
Moin,

Den Bytestream bekommst Du in Tabellenform und der Baustein für die Attachmentdaten ist eine andere Tabelle, d.h. Du füllst den Bytestream aus einer Tabelle in eine andere. Da läuft etwas schief (Bytes gehen verloren). Mit ziemlich großer Sicherheit liegt es daran. Das Problem hatte ich nämlich auch.

Ciao, LoLo

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
So, wunderbar... habs nochmals überprüft und den Fehler gefunden.. Danke an euch alle für die Hilfe..


Gruss Pascal

Beitrag von LoLo ( / / 0 / 3 ) »
Moin Pascal,

woran lag es? Lag ich mit meinem Hinweis richtig?

Ciao, LoLo

Beitrag von Gast ( / / 0 / 3 ) »
Salü LoLo

Der Fehler war voll doof.. :-)
Habe beim FB meine ByteStream nicht dem CONTENT_HEX sondern dem CONTENT_BIN mitgegeben.

:roll:

Gruss Pascal

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
hallo LoLo

Noch etwas nebeinbei..
wie heisst der FB zum die Dokumente zu lesen? DOCU_GET existiert nicht!?

Beitrag von LoLo ( / / 0 / 3 ) »
Moin Pascal,

welches Release hast Du? Vermutlich ist der Baustein in Eurem Release noch nicht vorhanden.

Ciao, LoLo

Beitrag von kpas (ForumUser / 28 / 0 / 0 ) »
Servus LoLo

Ja du hast recht. Im Enterprise ist er vorhanden. Doch diese ganze Email-Geschichte programmierte ich gerade fürs 4.6 C!

Aber es wird doch hier sicher auch ein FB geben mit dem man die Dokumente lesen kann? also denke ich mal *g*

4.6C -> DOCU_READ

Gruss Pascal

Beitrag von LoLo ( / / 0 / 3 ) »
Moin Pascal,

bin jetzt etwas verwirrt. Habe nachgesehen in einem 4.5B(!) System. Da ist der Baustein 'DOCU_GET' ebenfalls vorhanden?
Bist Du Dir sicher, daß der Baustein bei Euch im 46C fehlt? E'Klasse (bzw. Paket) SDOC, Funktionsgruppe SDOC.

Ciao, LoLo

Vergleichbare Themen

3
Antw.
4594
Views
Verkaufsbelege per eMail - PDF-Datei verschicken -SAPScript
von Nicole_80 » 20.01.2005 11:24 • Verfasst in ABAP® Core
3
Antw.
1577
Views
Email-Body in ein PDF konvertieren
von monika.endl3 » 21.05.2015 08:06 • Verfasst in ABAP® Core
2
Antw.
2056
Views
Mehrzeiliger Body im OUTLOOK-Email
von fip » 11.07.2007 11:21 • Verfasst in ABAP® Core
2
Antw.
2787
Views
Smartform als PDF im Email verschicken
von Kleenmex » 08.06.2007 11:55 • Verfasst in ABAP Objects®
1
Antw.
1909
Views
email verschicken mit Bild
von LosPablos » 17.11.2005 13:35 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.