wenn ich im SAP-Standard über die ME22 eine Bestelländerung vornehme, möchte ich, dass für die Email die rausgeht (SOSG) als Sendername nicht der User steht, der die Bestellung angelegt hat, sondern der aktuelle User, der die BestellÄNDERUNG gerade vornimmt. Das Programm was durchlaufen wird ist die SAPMM06E. Ich habe leider noch nicht mit USER-EXITS gearbeitet und wüsste auch nicht wo ich genau was ändern könnte.
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
danke für die Antwort. Aber hat dein Code was mit meiner Frage zutun? :)
Es geht ja hier um eine Änderung im Standard um den Versendername der Mail anzupassen
Na und wie 😊
Denn durch eine Umleitung des Drucks über das Zusatzprogramm hast Du sämtliche Möglichkeiten eine Mail zu versenden an wen auch immer Du willst mit Anhängen Deiner Wahl, ohne Druckprogramme oder Formulare anpassen/modifizieren zu müssen.
Was zu tun ist:
Das Programm YMEDRUCK_EMAIL anlegen und für Nachrichenart NEU customizen.
So der Druck ausglöst wird, wird zuerst YMEDRUCK_EMAIL aufgerufen, was im Verlauf
die Original Routine sapfm06p als Unterprogramm aufruft. Unmittelbar danach wird
YMEDRUCK_EMAIL wieder fortgesetzt und ermittelt die SpoolNo des vorangegenen "Drucks". Daraus generiert YMEDRUCK_EMAIL dann ein PDF und versendet das als Email. Dabei hast Du alle Parameter des Email Versands in der Hand !
gruß Jens
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
ok und wie kann ich dein Programm in den SAP-Standard integrieren? Kennst du ME22 und SOSG, die arbeiten ja nur in SAPMM06E? Und welches Feld wäre in deinem Code der Sendername?
Sorry hab nicht alles gelesen...also ich lege jetzt dieses Programm an und der ruft jetzt sapfm06p (statt SAPMM06E ?). Und wie steuere ich, dass nach der Bestelländerung -> speichern in ME22 dein Programm aufgerufen wird? Was meinst du mit Druck?
1.) Die Integration erfolgt über das Customizing (Transaktion NACE).
2.) Bist Du sicher, das die Einkäufer nicht ME22N / ME21N ,die neuere Fassung der Bestellung verwenden ? Aber Egal.. das interessiert NACE nicht.
3.) SOSG ist zum Triggern bzw. Monitoren von Emails. (Im Druckprogramm kann man auch hinterlegen, das eine Email automatisch abgeschickt wird.)
klassische Vorgehensweise:
1.) YMEDRUCK_EMAIL anlegen (und aktivieren)
2.) Nachrichtenart NEU mit Transaktion NACE customizen.
wie hier bebeildert aber für EF = Normalbestellung. https://sap4tech.net/sap-output-message-create-new/
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
2.) Nachrichtenart NEU mit Transaktion NACE customizen.
Customizing habe ich um ehrlich zu sein noch nicht gemacht.
Wofür muss ich das machen? Wenn ich die Tranaktion NACE aufrufe dann Nachrichtenart und Variante = NEU ?
Der Email Process wird als "normaler Druck = 1" gecustomized.
Was bedeutet, das Ge-Emailt und gedruckt wird.
...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
ich bin jetzt in deinem letzten Bild 'Processing routines".
Der Email Process wird als "normaler Druck = 1" gecustomized. -> wo und wie kann ich jetzt dein Programm angeben?
Einfach in den Änderungsmodus gehen und eine neue Zeile einfügen mit
Moin.
Genau, Du überschreibst einfach den vorhandenen Wert wie im Screenshot .
Beim Sichern wird dann ein Customzing Transport verlangt.Auswählen sichern und fertig .
br Jens
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
ok habs jetzt...du meintest, dass dein Report ymedruck_email_gos das Programm sapfm06p als Unterprogramm aufruft aber ich habe doch SAPMM06E als Routine?Oder sind die gleich für Bestelländerungen?
Wo kann ich jetzt in deinem Code den Sendername anpassen mit sy-uname?
...
SAPMM06E kennt die Formroutine ENTRY_NEU gar nicht, damit ist es unwahrscheinlich , das SAPMM06E das richtige Programm ist.
Trage den Prorammnamen in das Coding ein, den Du gerade überschreibst.
Den Email adressaten müssen wir noch ermitteln.
der aktuelle User, der die BestellÄNDERUNG gerade vornimmt
Ich würde mit EKKO-ERNAM mal prüfen, ob der Username dort immer nach einer Änderung aktualisiert wird.
Zuletzt geändert von Tron am 29.01.2020 11:42, insgesamt 1-mal geändert.
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
du hast recht in der Nachrichtensteuerung ist SAPFM06P hinterlegt. Wundert mich aber weil als ich eine Bestelländerung debuggt habe ist das System in SAPMM06E gesprungen.
In EKKO-ERNAM ist leider immer nur der User hinterlegt, der ursprünglich die Bestellung vorgenommen hat und der steht dann auch in SOSG. Kann ich von deinem Programm aus den aktuellen User setzen?
Zuletzt geändert von Stefan144 am 11.02.2020 13:07, insgesamt 1-mal geändert.