meine Suche (Begriff "task") hat mich nicht wirklich schlauer gemacht, als ich schon bin - jedenfalls in Hinsicht auf das, was ich suche.....
Ich muß ermitteln, ob auf OS-Ebene des Clients bestimmte bzw. ein bestimmtes Programm(e) bereits läuft und in diesem Moment einen Fehler beim Starten meiner Transaktion produzieren.... Will heißen: Läuft Beispielsweise Word bereits auf einem oder mehreren Vor- und/oder Hintergrundtasks des Client-Rechners, darf der Benutzer meine Transaktion nicht mehr betreten.
Hintergrund: ist WinWord bereits geöffnet, bringt auch ein "in den Hintergrund schalten" seitens der SAP-Applikation nichts. Der andere Task bleibt im Vordergrund. Dennoch erhält der SAP-Task nur eine Referenz auf den bereits laufenden Word-Task, es wird kein neuer Task gestartet.
Ergebnis: Fehlermeldungen oder Dialoge von Word, welche eigentlich im SAP hätten erscheinen sollen/müssen, werden ggf. vom anderen Task ausgegeben, welcher sich aber bei Dialog nicht in den Vordergrund schaltet. Dadurch kommt es für den Benutzer scheinbar zu Stillständen, die gar nicht da sind, da das System auf seine Eingabe im Word-Dialog wartet..... Das ärgert den Benutzer natürlich, er gibt aber prinzipiell dem blöden SAP-Programmierer die Schuld und will nicht einsehen, das er ggf. vorher sogar MS Outlook runterfahren muß, nur weil das Teil einen Word-Task startet.......
Grummel.....
Sollte jemand auch nur annähernd verstanden haben, was ich da wieder gefaselt habe, währe ich für sachdienliche Hinweise zur Ergreifung - und ggf. sogar Eliminierung - der WordTasks dankbar.
'ne Idee hätte ich schon: es gibt eine Windows-Version des UNIX-Tools "ps", mit dem man sich laufende Prozesse anzeigen lassen kann.
Dieses Programm mittels CL_GUI_FRONTEND_SERVICES=>EXECUTE so ausführen, dass das Ergebnis in einer definierten Datei landet. Ggf. mit "grep" nachhelfen, so dass nur der Taskname abgefragt wird, der interessant ist.
Das File mittels CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD einlesen und prüfen.
Das Problem ist, dass weder ps noch grep mit Windows ausgeliefert werden, d.h. Du musst selbst dafür sorgen, dass die Programme auf den relevanten Client-Rechner verfügbar sind.
/?dit: Windows liefert (zumindest bei XP) das Tool "tasklist" mit, das genau das gleiche macht.
hmmmm.... das würde ja spätestens beim upload wg. der systemmeldung auffallen Soll doch aber, nach möglichkeit, dem Benutzer nicht auffallen *G*
Ich denke, ich werde mal - beizeiten (sprich wenn ich einmal zeit habe) eine kleine lösung basteln, die das über ole2-automation via access macht..... bis dahin muß der kunde mit scheinbaren stillständen leben....
die kann ich dann ja mal hier zur debatte stellen, falls sich jemand für so etwas interessiert....