Du hast gesehen, dass der letzte Eintrag hier von 2011 ist?
Das Echo auf Deine Nachricht wird also überschaubar sein.
Beiträge von water
-
-
Ich würde wie folgt vorgehen:
- Die SAP UDF von seangriffin herunterladen (ist die aktuellste und seangriffin hat immer super UDFs produziert). Siehe dazu mein voriges Post.
- Die Voraussetzungen prüfen bzw. entsprechend vorbereiten. Die Übersetzung von deepl dazu lautet:
ZitatIn Anbetracht der vielen Diskussionen, die bisher über die Automatisierung von SAP geführt wurden, möchte ich einen Beitrag über SAP UDF erstellen.
Ich habe vor kurzem entdeckt, wie man über AutoIT auf das Scripting COM-Objekt von SAP zugreifen kann, und habe begonnen, diese UDF zu schreiben, um sie zu unterstützen.
Meine Zeit mit SAP ist auf die Arbeitszeit beschränkt, also werde ich Updates posten, wann immer ich die Gelegenheit dazu habe.
VORAUSSETZUNGEN:
AutoIt3 3.2 oder höher,
SAP GUI Release 6.40,
SAP GUI Scripting Schnittstelle ist aktiviert
Sie sind bereits bei SAP angemeldet (d.h. das Fenster "SAP Easy Access" wird angezeigt)So aktivieren Sie die SAP GUI Scripting-Schnittstelle:
Wählen Sie im SAP GUI die Schaltfläche "Lokales Layout anpassen" in der Symbolleiste
Wählen Sie "Optionen".
Wählen Sie die Registerkarte "Scripting".
Wenn die Meldung "Scripting ist installiert!" nicht angezeigt wird, wenden Sie sich an Ihre SAP-Administratoren, um SAP GUI Scripting installieren zu lassen.
Wählen Sie "Skripting aktivieren".
Deaktivieren Sie die Option "Benachrichtigen, wenn ein Skript an ein laufendes GUI angehängt wird".
Deaktivieren Sie die Option "Benachrichtigen, wenn ein Skript eine Verbindung öffnet".- Eines der angeführten Beispiele im eigenen Testsystem ausführen (z.B. _SAPSessAttach.au3). Der mit deepl übersetzte Code dazu lautet (kannst Du bei Bedarf natürlich noch anpassen):
Zitat#include <SAP.au3>
; Bevor Sie dieses Skript ausführen, stellen Sie sicher, dass das Fenster "SAP Easy Access" geöffnet ist.
; Verbinden Sie sich mit der Sitzung mit dem Fenster mit dem Titel "SAP Easy Access"
_SAPSessAttach("SAP Easy Access"); Geben Sie den Wert "/npa30" in das Befehlsfeld ein.
_SAPObjValueSet("tbar[0]/okcd", "/npa30"); Drücken Sie die "Enter"-Taste.
_SAPVKeysSend("Enter"); Die Transaktion "pa30" wird ausgeführt, und das Fenster "Personalstammdaten pflegen" sollte angezeigt werden.
; Warten Sie 3 Sekunden lang
sleep(3000); Drücken Sie die Taste "F3".
_SAPVKeysSend("F3"); Verbinden Sie sich mit der Sitzung mit dem Fenster "SAP Easy Access", und führen Sie die Transaktion "pa30" aus
_SAPSessAttach("SAP Easy Access", "pa30") -
Wenn Du ein engl. Tutorial findest, dann lass es von Deepl übersetzen.
Das Ergebnis ist besser als bei Google -
Leider bekomme ich aktuell (bzw. schon seit längerem) 0,0 Support zu dem Thema
Das liegt meiner Meinung nach auch daran, dass die "leichten" Übersetzungsaufgaben bereits erledigt sind und nun die komplexeren übrig bleiben. Für die gibt es aber leider weniger Benutzer mit Expertise.
Ich kann z.B. bei den vielen WinAPI-Funktionen nicht dienen, da ich davon 0 Ahnung habe -
Für mich machen Unit Tests Sinn in professionellem Umfeld ...
In meiner Firma war das so: Basierend auf einer Risikoanalyse hinsichtlich Vertraulichkeit, Verfügbarkeit, Integrität etc. wurde ein möglicher (maximaler) Schaden ermittelt. Darauf aufbauend wurde dann entscheiden, wie das Risiko zu behandeln ist.
Dazu gibt es dann einen ganzen Blumenstrauß an Maßnahmen aus denen man wählen kann.
Klingt weniger nach Spass als nach mühsamer ArbeitDie Schwierigkeit beim Testen sehe ich in der Auswahl der richtigen Testmethode, der Testfälle sowie der Testdaten.
Es ist wie beim Programmieren. Sind die Vorgaben (Lastenheft, Design etc.) schlecht, dann kann der Code auch nur schlecht sein. Garbage in, Garbage out -
EasyCodeIt - cross-platform AutoIt implementation von TheDcoder scheint leider auch ins Koma gefallen zu sein.
-
SOLVE-SMART
Hi Sven,
Ich finde Deine Videos super!
Je mehr unterschiedliche Medien (Text, Bild, Ton ...) wir anbieten, desto höher die Wahrscheinlichkeit, dass sich jemand angesprochen fühlt und dann bereit ist, tiefer in WebDriver einzutauchen -
Auch wenn ich mich wiederhole:
Für dokumentierte Beispiele möchte ich auf diesen Thread verweisen. -
Füge <hr> für eine horizontale Linie ein (hr steht für horizontal rule).
Siehe unter Selfhtml. -
Wenn es funktioniert, dann ist es "richtig".
Mir geht es darum Konzepte nicht zu vermischen wo es auch "sauberer" geht. Das führt früher oder später bei komplexen Skripten zu Problemen und schwer zu findenden Fehlern. -
SheetActivate ist eher für die Anzeige gedacht. Wenn Du z.B. ein Workbook auswertest, ein Summenblatt erstellst und beim Skriptende dem Benutzer anzeigen willst.
Ich schaue immer darauf, dass ich GUI und API sauber trenne. -
Verwende einfach statt ActiveSheet $oWorkbook.Sheets($iHelp)...
-
-
Schön wäre es ja, wenn es was ist, was auch mit AutoIt zu tun hat (Erweitertes Hilfe Tool um auch non default UDF dynamisch abzubilden oder so).
Moombas
Hast Du Dir dazu schon die Advanced Help im deutschen bzw. englischen Forum angesehen? -
Weil Du im 3. Parameter den Wert des 2. Parameters überschreibst bzw. der 2. Parameter ignoriert wird, wenn im Parameter 3 auf ein anderes Sheet Bezug genommen wird.
Siehe dazu Zeile 1 in den Bemerkungen der Hilfe zu _Excel_RangeRead. -
-
-
-
Im Wiki des engl. Forums gibt es zwei UDFs zum Thema SAP.
-
Die Wrapper-Funktionen meiner UDFs können meist weniger, da sie ja dazu gedacht sind, die einfachsten Anwendungsfälle mit einem einfachen Befehl abzudecken.