Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1360to1364
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Timeout für Funktion

Timeout für Funktion
27.05.2014 13:39:42
Theo

Hallo liebe Experten,
ich habe eine Funktion die bestimmte Daten in SAP pflegt (und natürlich einen Rückgabewert liefert). Blöderweise bleibt eine bestimmte SAP Transaktion manchmal hängen, so dass die VBA-Funktion bis zum Sankt-Nimmerleinstag darauf wartet, dass SAP endlich mal in die Pötte kommt. Am liebsten wäre mir eine Art timeout Funktion zu implementieren. Die Funktion sollte einfach abgebrochen werden - oder von mir aus an eine bestimmte Stelle innerhalb der Funktion gesprungen werden, falls die Funktion mehr als fünf Sekunden braucht.
DummyCode mässig sieht die Funktion so aus:
Funktion SchreibwasinSAP as Boolean
Dim TimeOutTime As Double
TimeOutTime = Now + TimeValue("0:0:5")
Ontimeout go to TimeOut '=Ist natürlich nur DummyCode
' jetzt mach das ganze Zeug in SAP
SchreibwasinSAP = TRUE
exit function
Timeout:
ErrorStr=ErrStr & "TimeOut "& Material &", "
end function
Hat jemand eine Idee, wie man das hinbekommt?
Danke und Gruss
Theo

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Timeout für Funktion
28.05.2014 09:06:43
Nepumuk
Hallo,
das geht nicht, denn Excel / VBA ist nicht Multitasking-fähig. Sprich du kannst, wenn ein VBA-Programm läuft, kein anderes Makro starten. Das geht also nur "von außen" (externes Programm). Aber Excel ist, so lange es auf eine Antwort von SAP wartet, nicht in der Lage eine Antwort zu geben. Ok, das könnte auch als Antwort aufgefasst werden, aber dein Programm "außerhalb" wartet in dem Fall auf eine Antwort von Excel und zwar so lange wie dieses auf eine Antwort von SAP wartet. Anders als VBA, kannst du aber z.B. in VB einen TimeOut vorgeben ab dem das Warten auf eine Antwort abgebrochen werden soll. Zumindest in VB6.0 gab es das. Siehe: http://support.microsoft.com/kb/138066/de ob es das in VB.net auch gibt kann ich nicht sagen, da habe ich zu wenig Erfahrung mit der Sprache.
Gruß
Nepumuk

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige