Welches Event muss ich nehmen?
Andreas Eugster
Hallo zusammenIch habe auch wieder einmal eine Frage:
Ich möchte vor dem [u]hinzufügen[/u] einer Eingangsvorausrechnung ein Skript ausführen (C#). Das Skript soll jedoch nur dann ausgeführt werden, wenn [u]keine[/u] Fehlermeldung seitens SAP (z.B. Buchungsdatum vergessen einzutragen) erscheint und auch nicht als geparkter Beleg gespeichert wird.
Habt ihr eine Idee, welchen Event ich nehmen soll?
Grüsse
Andreas Eugster
Michael Egloff
Hallo Andreas,es gibt zwei Events:
- Bevor SAP die gewählte Aktion durchführt
- Nachdem SAP die gewählte Aktion vollbracht hat
Deinen spezifizierten Event gibt es also so nicht.
Frank Romeni
Hallo Andreas,ich meine, Michael Egloff irrt sich! Deine Anforderung läßt sich realisieren!
Um den C#-Code nur dann auszuführen, wenn der Beleg tatsächlich hinzugefügt wird (also keine SAP-Fehler mehr gemeldet werden), muß der Trigger 'FormDataAdd', allerdings ohne die Option 'vor Event' gesetzt werden.
Ich habe es selbst gerade ausprobiert!
Zu der Anforderung 'geparkter Beleg' fällt mir aber leider nichts ein.
Gruß
Frank Romeni
Michael Egloff
@ Frank:Ich glaube, Michael Egloff irrt sich nicht.
Michael Egloff irrt sich nie! 8)
Erklärung:
Wenn du dich für den Event 'FormDataAdd' anmeldest ohne 'vor Event' anzuklicken, ist der Datensatz zum Zeitpunkt der Ausführung deines Codes schon hinzugefügt.
Versuch mal, einen Text in die Bemerkungen zu schreiben (in deinem C# Skript) dann wirst du sehen, dass dieser Text ignoriert wird :bang:
Wir sind aber jederzeit froh um Anregungen, Lösungsvorschläge und Ideen eurerseits, deshalb: Danke Frank für deinen Beitrag!
Michael Egloff
Hmm... vielleicht gehts doch :lol:du musst den Hacken bei "bevor Event setzen, dann klappts bei mir!
Frank Romeni
Hallo Andreas, hallo Michael,ich habe es nach dem Hinweis von Michael nochmals ausprobiert, und es wurde der geschriebene Feldinhalt auch gespeichert!
Also Trigger: FormDataLoad / vor Event
Das einzige, was ich in meinen Tests nicht ausprobiert habe, ist, dies tatsächlich mit C# zu realisieren. Ich habe es bequemlichkeitshalber mit einem SQL-Query (SELECT ) gemacht - aber das sollte bezüglich Triggerung und Speicherung keinen Unterschied machen.
Frank Romeni
Andreas Eugster
Naja das Event FormDataAdd hab ich auch gefunden, doch leider kann ich jetzt nicht testen, ob da Als geparkter Beleg speichern oder hinzufügen gedückt wird. Weil das Event ja auf der Form und nicht auf einem Item liegt.Zudem kommt es bei mir nicht draufan, ob der Datensatz hinzugefügt wurde oder nicht, ich möchte die Daten ledigilich auswerten. Also gehts bei mir auch ohne Befor anzuwählen.
Habt ihr da vlt eine Lösung? Wäre es möglich evt eine Methode zu überschreiben (wie die Methode Als geparkter Beleg speichern)?
Danke für eure Antworten
Gruss
Andreas Eugster
Frank Romeni
Sorry Andreas,da weiß ich jetzt nicht weiter!
Frank Romeni
Michael Egloff
Hmm,überschreiben kannst du die Methode nicht.
Ich muss das zuerst bei mir testen, was da genau abläuft beim geparkten Beleg.
Melde mich dann nochmals!
Gruss
Andreas Eugster
Hmm schade, dann wird das also doch nicht so einfach wie ich das erhofft habe...Warte gespannt auf deine Antwort.
Gruss
Andreas Eugster
Sind schon neue Erkentnisse aufgetaucht?Gruss
Andreas Eugster
Philipp Knecht
Hallo AndreasIm FormDataAdd gibts die Variable Type.
Falls der "112" ist wars ein Geparkter Beleg.
hth
Andreas Eugster
Ok danke dir :) werds gleich ausprobierenAndreas Eugster
Wie muss ich diese Variable genau aufrufen? Ist diese unter SwissAddonFramework instanzieren?Gruss
Andreas
0
Please sign in to leave a comment.
Comments
0 comments