qRFC wiederholt aufrufen

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

qRFC wiederholt aufrufen

Beitrag von Julia611 (ForumUser / 21 / 7 / 0 ) »
Hallo Experten,

ich habe im EWM ein "Zeitpunkt-Problem". Mein Programm soll erst laufen, wenn eine andere Tabelle gefüllt ist. Das Update auf diese Tabelle dauert aber länger und mein Programm würde dem nach zu früh laufen und auf einen Fehler stoßen.

Nach langem hin und her sind wir auf die "Lösung" gestoßen, dass wir das Programm in einen qRFC packen und bei einem Fehler die Queue erneut anstoßen. Mein Problem ist nun: diesen Fehler erzeuge ich mit einem RAISE ERROR (ERROR ist in meinem Baustein als Ausnahme definiert). Dann bricht das Programm auch ab und die Queue wird irgendwann neu angestoßen, jedoch erzeuge ich auch einen Kurzdump. Das sind dann so einige pro Tag... Wie kann ich meinen Baustein also alternativ abbrechen? Ich hatte es vorher mit einer normalen Error-Meldung versucht, aber die hatte auch einen Dump ausgelöst.

Vielen Dank vorab!
Julia

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


Re: qRFC wiederholt aufrufen

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Du solltest vielleicht etwas naeher auf dieses "mein Programm würde dem nach zu früh laufen" eingehen.

Lapidar wuerde jetzt sagen: Starte Dein Programm einfach spaeter.

Wo soll den die MESSAGE in einem RFC abgesetzt werden und wer soll die Meldungen sehen? Normalerweise kommen die Fehler bei einem RFC, wie bei einem BAPI, als Returntable zurueck und werden dann im aufrufenden System ausgewertet.
Deshalb auch die Kurzdumps....

Es gibt den Befehl "Set update task local". Ein Befehl der gerade im WM bekannt sein sollte, da er oft gebraucht wird.

Es gibt die Moeglichkeit Events mit TCode SM62 anzulegen. Diese werden dann in einem Program, dass mit irgendetwas fertig ist, ausgeloest.
Das zu startende Programm wartet im Hintergrund auf diese Event und laueft dann (im HIntergrund) bei ausloesen dieses Event.

So kann man sehr schoen, mehrere Programm sequenziell ablaufen lassen, wobei nur das erste im Dialog und alle nachfolgenden im Hintergrund ablaufen. *soviel ich weiss...

Es gibt auch die Moeglichkeit in der SM36 Hintergrundprogramme sequenziell anzulegen.
Zuletzt geändert von Unit605 am 22.08.2015 18:59, insgesamt 1-mal geändert.

Re: qRFC wiederholt aufrufen

Beitrag von Julia611 (ForumUser / 21 / 7 / 0 ) »
Danke für die schnelle Antwort! Die Möglichkeit mit der SM63 hört sich interessant an.

Ich habe dieses "mein Programm läuft zu früh"- Problem gleich an 2 Stellen (beide Male bei der Endrückmeldung zum Fertigungsauftrag):

1: Ich möchte die Abrechnung zum Fertigungsauftrag starten. Um sicher zu gehen, ob die wirklich starten soll, mache ich noch einmal einen Select auf die RESB. Hier sieht man ganz deutlich wenn ich noch wenige Sekunden warte, sind die Daten da und die Abrechnung kann laufen. Wenn sie nicht da sind, dann wäre wieder die Queue dran. An ein WAIT UP TO n SECONDS habe ich auch schon gedacht, ist aber eine wenig schöne und letztendlich auch nicht sichere Lösung.

2. Nach der Endrückmeldung zum FAUF wird die endrückgemeldete Menge in das EWM übertragen. Hier springe bei der Endrückmeldung vom ERP ins EWM und will dort die Menge, die sich nun im Qualitätsbestand befindet, noch einmal umlagern. Ich bin mit meiner Umlagerung jedoch schneller dran als das Material im EWM ist. Deshalb selektiere ich hier auch wieder auf die entsprechende Tabelle und wenn ich die Menge in der Tabelle finde, dann wird umgebucht, sonst soll die Queue noch einmal angestoßen werden.

Sehen soll die Meldung niemand, die ist nur da, damit die Queue erneut angestoßen wird.

Danke und viele Grüße,
Julia

Re: qRFC wiederholt aufrufen

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Hallo,

erst einmal die richten TCodes: Es sind SM62 und SM36 .... (Ich hab es im ersten Post auch geaendert)

Hier ein Beispiel: http://wiki.scn.sap.com/wiki/display/AB ... g+an+event

Dieses Event erstellen und triggern ist wirklich sehr simple. Schau einfach mal ob das fuer Dich in Frage kommen koennte.

Man kann auch Hintergrundprogramm anlegen, die minuetlich kurz losrennen und etwas pruefen und dann ein anderes Programm starten oder Event ausloesen.

WAIT UP TO n SECONDS ist auch eine Loesung die ich nicht in Betracht ziehen wuerde.

Folgende Benutzer bedankten sich beim Autor Unit605 für den Beitrag:
Julia611


Re: qRFC wiederholt aufrufen

Beitrag von JHM (Top Expert / 1189 / 1 / 196 ) »
Julia611 hat geschrieben:1: Ich möchte die Abrechnung zum Fertigungsauftrag starten. Um sicher zu gehen, ob die wirklich starten soll, mache ich noch einmal einen Select auf die RESB. Hier sieht man ganz deutlich wenn ich noch wenige Sekunden warte, sind die Daten da und die Abrechnung kann laufen.
Welcher Prozess triggert deine Abrechnung zum Fertigungsauftrag?
Für mich ließt sich das so, dass der Fertigungsauftrag von irgendeinem Prozess bearbeitet wird, dann dein Prozess gestartet wird, aber der Verbucher beim Starten deines Prozesses noch nicht fertig ist. Hier sollte ein SET UPDATE TASK LOCAL im vorgelagerten Prozess dazu führen, dass dein Prozess erst gestartet wird, nachdem der Verbucher fertig ist.
Julia611 hat geschrieben: 2. Nach der Endrückmeldung zum FAUF wird die endrückgemeldete Menge in das EWM übertragen. Hier springe bei der Endrückmeldung vom ERP ins EWM und will dort die Menge, die sich nun im Qualitätsbestand befindet, noch einmal umlagern. Ich bin mit meiner Umlagerung jedoch schneller dran als das Material im EWM ist.
Auch das hört sich noch einem klassischen Verbucherproblem an. Der WA ist noch nicht verbucht, du willst aber schon weiter machen. Auch hier sollte ein SET UPDATE TASK LOCAL im ersten Prozess dazu führen, dass der zweite erst nachdem Verbucher aufgerufen wird.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
Julia611

Gruß Hendrik

Re: qRFC wiederholt aufrufen

Beitrag von Julia611 (ForumUser / 21 / 7 / 0 ) »
Danke für eure Antworten!

Seite 1 von 1

Vergleichbare Themen

5
Antw.
1726
Views
Smartforms Main Tabelle wird endlos wiederholt
von Nordlicht » 02.07.2018 11:58 • Verfasst in ABAP® für Anfänger
6
Antw.
1104
Views
Tablecontrol , ok_code wiederholt sich beim Scrollen
von dpz » 16.06.2021 11:59 • Verfasst in Dialogprogrammierung
0
Antw.
1905
Views
Wie wird ein qRFC im JRA ausgeführt?
von hefter » 04.05.2005 08:40 • Verfasst in Java & SAP®
0
Antw.
1439
Views
IDoc Serialisierung bei qRFC
von digiveit » 12.09.2008 13:18 • Verfasst in SAP - Allgemeines
4
Antw.
898
Views
SMQ2 - qRFC-Monitor (Eingangsqueue)
von A6272 » 25.05.2023 13:09 • Verfasst in ABAP® Core

Ü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.