Text vom Bildschirm auslesen

Ich möchte die Dateneingabe einer Bildschirmmaske automatisieren, d. h. an Stelle des Anwenders soll eine Software den Text in vorbestimmten Feldern am Bildschirm erkennen und abhängig davon Tastatur und Maus bedienen. (oder anders ausgedrückt KI-Steuerung von Makros).
Mit welchen PEEKs kann ich z. B. eine Bildschirmmaske von SAP auslesen?

Dann solltest Du Dir mal AutoIt ansehen.

2 Like

Für ein SAP-Programm? Ich kann mir nicht vorstellen, dass man da an die Daten kommt.

Ich hoffe sogar, dass das nicht der Fall ist.

Btw.,

gibt es seit Jahrzehnten nicht mehr.

Das ist gar kein Problem AutoIt arbeitet unmittelbar in der GUI und vertritt insoweit einen normalen Anwender, der vor der Kiste sitzt, und manuell die Maus schubst und in die Tasten haut. D.h. man kann ein Makro programmieren, dass eine beliebige Anwendung startet, da in ein beliebiges Eingabefeld navigiert, und dort Einträge vornimmt. Ebenso kann man dafür sorgen, dass Oberflächenelemente wie mit der Maus angesteuert werden, … Das klappt auch in der SAP GUI, so wie Du ja auch z.B. mit + einen zuvor anderswo ausgeschnittenen Text in die SAP GUI rein bekommst.

Ich selbst nutze z.B. eine noch nicht automatisierte aber durchaus entsprechend automatisierbare Lösung für meine Zeiterfassung im Betrieb. Da ich diese redundant führen muss, habe ich mir eine Excel-Lösung gebaut, die aus einer einheitlichen Eingabe alle benötigten Zielformate generiert. Und da bekomme ich dann für SAP Cats eine komplette Tabelle, die ich dann nur noch mit copy/paste in das entsprechende Grid-Control in SAP übertragen muss. Diese copy/paste ließe sich aber auch inkl. Anmeldung an SAP und Aufruf der richtigen Maske problemlos automatisieren.

Natürlich würde es ein Sicherheitsrisiko darstellen die Anmeldung an eine entsprechend geschützte Anwendung so zu automatisieren, dass man die Credentials fest in so ein Makro im Klartext schreiben würde, wenn der PC dann gleichzeitig noch zur manuellen Bedienung offen stehen würde, und man das Makro einsehen könnte. Aber auch dafür gibt es durchaus Lösungen. Z.B. das man eine anderweitig gesicherte virtuelle Sitzung auf einem Terminal Server für entsprechende Dinge nutzt. Und das wird durchaus auch genau so vielfach gemacht. Wobei AutoIT inzwischen so unglaublich mächtig und umfangreich ist, dass ich fast wetten würde, dass es dafür sogar sichere Lösungen gibt.

BTW: Ich habe vor einigen Jahren mal für eine Firma gearbeitet, die Lösungen für den automatisierten Rechenzentrumsbetrieb entwickelt und implementiert hat. Da hatten wir durchaus auch Bausteine dabei, mit denen man SAP vollautomatisch provisionieren konnte. Das ging bis in die Anlage der Benutzer einer neuen SAP-Instanz inkl. Zuweisung von Rechten aufgrund von AD-Gruppenzugehörigkeiten, Vorbelegung von Druckern, Einrichten individueller Menüs, …

Und SAP ist da kein Sonderfall. Im Bereich professioneller Lösungen für größere Unternehmen achtet man sehr auf Standards und die Unterstützung von Middleware damit man den IT-Betrieb möglichst weitgehend und gut automatisieren kann.