ECATT
From Sapwiki
Mittels eCATT lassen sich Tests automatisiert durchf�hren, dabei k�nnen die einzugebenden Daten als Parameter mitgegeben werden. Auf diese Art und Weise lassen sich auch Massendaten eingeben, allerdings ist dies nicht sehr effizient, f�r diese Zwecke ist die LSMW besser geeignet.
Man kann die Ergebnisse eines Tests als Eingabeparameter f�r den n�chsten Test verwenden und so komplette Gesch�ftsf�lle durchspielen.
Das grunds�tzliche Vorgehen ist dabei:
- Aufzeichnen eines Testscriptes f�r einen Untervorgang
- Parametrisieren der Ein- und Ausgabe
- Aufzeichnen eines Testscriptes f�r den n�chsten Vorgang
- Parametrisieren der Ein- und Ausgabe
- Erstellen eines �bergeordneten Scriptes, das die Einzelscripte aufruft und die Daten�bergabe zwischen den Scripten steuert
Inhaltsverzeichnis |
Voraussetzungen
- In der GUI muß Scripting erlaubt sein. Zwar k�nnen die Gesch�ftsf�lle auch mit TCD aufgezeichnet werden, allerdings fehlt danndie M�glichkeit mittel GETGUI Werte aus den Dynpros auszulesen. (In diesem Fall muß man die Dynpro Simulation verwenden.)
- eCATT muß auf dem Server erlaubt sein
Siehe dazu SAP-Hinweis 519858.
Vor�berlegungen
Wenn man nur einen Gesch�ftsvorgang testen will, ist das Vorgehen relativ einfach, aufzeichnen, ein paar Parameter definieren und den Fall immer wieder abspielen. Allerdings sollte man auch hier vor der Aufzeichnung etwas nachdenken. Insbesondere sollte man sich auch �ber Sicherheitsaspekte Gedanken machen, da eCATT einige Berechtigungen unterl�uft, von der SAP gibt es dazu eine Zusammenfassung unter https://websmp204.sap-ag.de/~sapidb/011000358700003043282003E .
- Als erstes muß man �berlegen, welche Art der Aufzeichnung gew�hlt werden soll. Es gibt einmal TCD, also Transaction code, dieser ist schneller und kann sp�ter im Hintergrund abgespielt werden. TCD kann aber nicht mit Controls umgehen, die einzelnen Dynpros k�nnen nur als aktiv oder nicht aktiv gekennzeichnet werden. Die neuere Methode ist SAPGUI Recording, diese kann mit COntrols umgehen, läßt sich sehr leicht beliebig fein aufteilen, die einzelnen Dynpros k�nnen als optional gekennzeichnet werden, was eine sehr viel bessere Behandlung von Wsrn- und Fehlermeldungen zuläßt.
- Danach sollte man sich den gesamten Gesch�ftsfall durchdenken, um geeignete Punkte zur Aufteilung der Dynpros in Scriptelemente vornehmen zu k�nnen. So ist es bei einer Aufzeichnung mit SAPGUI-Recording sinnvoll, potentielle Dynpros zu provoziereen, um diese in der Aufzeichnung zu haben. So kann das Dynpro zu Verf�gbarkeitspr�fung innerhalb eines Verkaufsauftrages mitaufgezeichnet werden, sp�ter wird es als optional gekennzeichnet und das Abspielen des Scriptes geht in wesentlich mehr F�llen gut.
- Alle Daten zurechtlegen, um nicht sp�ter irgendwelche F4-Hilfen mit aufzuzeichnen. Dabei ist zu ber�cksichtigen, daß alle relevanten Felder von Hand gef�llt werden m�ssen. Sind diese Felder bspw. durch Parameter gef�llt, dann werden diese nicht mit aufgezeichnet.
- Wenn in den Masken Dropdown-Listen vorhanden sind, dann sollte man im Expertenmenü der Optionen die folgenden Einstellungen treffen, ansonsten trifft das Script beim Abspielen u.U. den falschen Eintrag.
- Schl�ssel in allen Dropdown-Boxen anzeigen
- Eintr�ge nach Schl�ssel sortieren
- Welche Daten zwischen den Scripten importiert und exportiert werden sollen, so hei�t die Belegnummer in Auftrag und Lieferung vbeln, somit kann es leicht zu Verwechslungen kommen. Generell ist es gut, sich vor dem ersten Script auf eine allgemeine Namenskonvention zu einigen.
Beispiel
Erstellen der Vorgangsscripte
Unter der Transaktion SECATT findet man alle Funktionen f�r die Tests.
Aufzeichnen einer Transaktion
Als erstes legen wir ein Testscript an indem wir einen Namen angeben und auf Anlegen klicken. Da wir nur grundlegende Test durchf�hren wollen, verzichten wir auf einen Systemdatencontainer und ein Zielsystem. Dann k�nnen wir das Script zwar nur auf dem lokalen Server ausf�hren, aber das reicht erstmal. Als n�chstes f�gen wir ein Muster ein, in diesem Fall eines SAPGUI Aufzeichnung, um sp�ter den GETGUI-Befehl nutzen zu k�nnen. Danach stellen wir ein paar Parameter zur Aufzeichnung ein, in diesem Fall wollen wir bei jedem Dynprowechsel eine neue Zeile mit einem neuen SAPGUI-Befehl erhalten. Mit "Start der Aufzeichnung" geht es los und die Transaktion VA01 wird gestartet und sofort vom n�chsten ecatt-Dynpro �berdeckt. Dieses soll zun�chst nicht interessieren, wir arbeiten erstmal den Verkaufsauftrag komplett ab.
Nachbearbeiten und Parametrisieren des Scriptes
Im Zuge der Aufzeichnung des Scriptes kam im Beispiel eine Informationsmeldung, die nicht immer erschent, um das Script trotzdem ausf�hren zu k�nnen, kann man dieses Dynpro auf optional schalten, d.h. das Dynpro wird nur ber�cksichtigt, wenn es beim Abspielen tats�chlich vorkommt. Dazu navigieren wir folderma�en: In der Kommandoschnittstelle oder in der Liste der Dynpros doppelklicken wir auf das Dynpro, in der mittleren Ansicht doppelklicken wir auf die hervorgehobene Zeile und �ndern das Element "Active" von 'X' auf 'O'.
= Testen des Scriptes
Erstellen des �bergeordneten Scriptes
Erstellen eines Datencontainers
Erstellen einer Testkonfiguration
Tipps und Tricks
- Datum
- �hnlich wie bei Batch-Input muß das Systemdatum umgewandelt werden, um richtig �bernommen zu werden. Dies kann man durch den folgendne ABAP-Code innerhalb des Scriptes erreichen.
ABAP.
V_DATE_TEMP = sy-datum.
CONCATENATE V_DATE_TEMP+6(2) '.' V_DATE_TEMP+4(2) '.' V_DATE_TEMP(4) INTO V_DATE.
ENDABAP.
- ALV oder Table Control
- Niemals scrollen, immer die Suchfunktion benutzen und anschlie�end zum Wert springen, die Wahrscheinlichkeit, daß dieses Scrollen beim n�chste Abspielen pa�t ist nicht sonderlich hoch. genauso beim Einf�gen neuer Werte nicht zur n�chsten freien Zeile springen, sondern den das Icon zum Einf�gen nutzen, dann ist man immer auf der n�chsten freien Zeile.

