ECATT

From Sapwiki

Jump to: navigation, search

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

vergrößern
  • 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 .

vergrößern
  • 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.

Nach dem Sichern des Verkaufsauftrages wollen wir die Nummer des Verkaufsauftrages f�r die weitere Verarbeitung sichern. Die Nummer des Verkaufsauftrages steht in der Statuszeile, ist dort aber leider in einen Text eingebettet. So rufen wir zun�chst die Transaktion VA03 auf, in deren Startdynpro die Nummer des zuletzt angelegten Verkaufsbeleges drinsteht. Nun wechseln wir wieder auf das eben mi�achtete ECATT-Dynpro und klicken auf das "GETGUI" Kommando, anschlie�end navigieren wir mit der Maus auf die Auftrasgnummer in der Transaktion VA03. Dabei sehen wir, wie das jeweils unter Maus liegende Feld oder Dynpro mit einem roten Rahmen versehen wird. Wenn wir mit der Maus dann auf die Auftragsnummer klcken, so erhalten wir das folgende Bild.
Holen der erzeugten Nummer mittels GETGUI
vergrößern
Holen der erzeugten Nummer mittels GETGUI
Wir markieren die Zeile, die wir �bernehmen wollen, in diesem Fall eben die Auftragsnummer. Danach beenden wird die Aufzeichnung.
Ergebnis der Aufzeichnung mit den einzelnen Screens
vergrößern
Ergebnis der Aufzeichnung mit den einzelnen Screens

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.
die Variable V_DATE darf dann nat�rlich nicht als Datumstyp definiert sein.
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.
Persönliche Werkzeuge