Wer würde es leugnen – das wunderbare Leben des durchschnittlichen SAP Anwenders? Alles klappt, alles macht Spaß, alles geht schnell. Nicht immer jedoch lässt sich bei den (v.a. wiederkehrenden) Tätigkeiten die entsprechende Motivation problemlos aufbringen – zumindest für die Wiederholungs-Monotonie hat SAP etwas erfunden: CATT.
Hätte ich das früher gewusst..
Jeder Basisbetreuer kennt sie – die Momente, wo wegen infrastrukturellen 3-Jahres-Plänen wieder mal 750 Drucker gelöscht, und unter neuem Namen angelegt werden müssen. Sehr beliebt sind auch Firmenzusammenschlüsse, bei denen sehr häufig lange Excel-Listen entstehen, in denen sich die 1200 neuen Mitarbeiter für das zentrale ERP-System befinden. Spätestens nach dem 74. User jedoch schleichen sich erste Unachtsamkeitsfehler ein – und, fast noch schlimmer, weil so ungewohnt – DEMOTIVATION. Nun ist guter Rat teuer – geht das nicht auch irgendwie automatisch?
Sicher geht das, und jeder findige SAP-User hat da so seine Lieblingsmethode. Meine ist die CATT-Methode.
Worum geht’s?
Eigentlich geht es um das Massentesten. Wenn der Entwickler die Unit-Tests hinter sich gelassen hat und die ersten Probeläufe im Gesamtprozess erfolgreich waren, dann geht es an die Masse. Wie gut verträgt das System die Massen-Inserts und –Updates? Wie gehen die Auswertungen mit richtig großen Tabellen um?
CATT hilft hier, gleiche Tätigkeiten in Wiederholung (auf Wunsch mit jeweils veränderten Parametern) immer und immer wieder durchzuführen. Und das Beste : ganz ohne Demotivation. Die Benutzung von CATT ist nicht ganz selbsterklärend, daher anbei ein paar erläuternde Informationen.
Ablauf
Wir möchten Benutzer aus einer Excel-Liste automatisch über die SU01 anlegen lassen. Für den ersten Test empfiehlt sich eine kleine Anzahl von bspw. 10 Usern, die kann man notfalls auch schnell wieder entfernen. Die Schritte im Einzelnen:
- Anlegen des Testfalls (das ist unser Ausführungstemplate)
Wir befinden uns in der Transaktion SCEM, und legen einen neuen Testfall an (Empfehlung fürs Üben : Z_<NAME>, lokales Objekt ohne Paket, Komponente „BC“).
Direkt darauf wird die aufzuzeichnende Transaktion abgefragt, in unserem Fall wäre das die SU01. Jetzt bitte einmal vollständig einen neuen User anlegen. Alle Warnungen, Fenster und Meldungen entsprechend bestätigen.
Das System schreibt mit, in welchem Fenster welche Eingaben getätigt wurden. Manche von ihnen sind jene, die massenhaft wiederholt werden müssen (so wie die Ok-Codes vom Registerwechsel, Speichern usw.). Andere werden wir ersetzen mit unseren Massendaten (so wie bspw. Benutzername, Telefonnummer).
Nach Ende der Tätigkeiten einmal „Zurück“ drücken, und schon endet die Aufnahme. Diesen Testfall können wir dann speichern (Environment CATT Extended, type CATT), und gehen zurück zur Standardsicht der SCEM.
- Importparameter definieren (hier werden die variablen Werte festgelegt)
Der Unterschied zwischen den fixen Eingabecodes für „User anlegen“, „Tab wechseln“ usw. und den Eingaben die später durch Massendaten ersetzt werden sollen ist der berühmt-berüchtigte Importparameter. Ein Feld mit dieser Eigenschaft kann später im Massenlauf bei jedem Durchgang durch wechselnde Inhalte überschrieben werden.
Das kann in der SCAT geschehen, wo wir im Änderungsmodus unseres Testfalls die aufgezeichnete Transaktionsliste entdecken (hier nur eine, unsere SU01). Ein Doppelklick auf diese bringt uns zur Seite aller Eingabeparameter, wo wir die „dynamischen“ Felder als Importparameter definieren (auf allen Dynpros). Mit einem Klick auf „Zurück“ kommen wir wieder in die Transaktionsübersicht.
- Variantenvorgaben exportieren und füllen
Da die Importparameter in einem bestimmten Format erwartet werden, exportieren wir uns zunächst eine Formatvorlage. In diese fügen wir dann die Massendaten ein.
Das geht relativ einfach über „Springen“ / „Variante“ / „Vorgabe exportieren“. Das entstehende File kann ab Zeile fünf mit unseren 10 Testusern gefüllt werden. Wichtig ist : für jeden Datensatz eine Zeile, und im Textformat jede Spalte mit TAB trennen. Das geht mit Excel und anschließendem TXT-Export (bei Unicode-Systemen muss UTF-8 gesichert werden) wunderbar.
- Massendaten importieren
Geht auf „Springen“ / „Varianten“ / „Ändern“ / „Import als Textfile“ um die erzeugte Massendatei hochzuladen. Im kommenden Auswahldialog bitte (meist die dritte) jene Option wählen, die alle Varianten importiert und bestehende ggf. entfernt.
- Testfall mit importieren Massendaten ausführen
Und nun frisch zur Tat geschritten : wir führen unseren Testfall mit Importdaten aus.
Dazu in der Transaktionsübersicht einfach „Ausführen“ drücken, im folgenden Fenster für den Testlauf „Errors“ anwählen. Für den produktiven Massenlauf später „dunkel“ anwählen, dann stoppt er nicht, wenn 20 von 1500 Usern nicht angelegt werden konnten. Am Ende gibt es ohnehin ein Verlaufsprotokoll, in dem Warnungen und Fehler geprüft werden sollten. Die Auswahl „Errors“ für unseren Test lässt das System bei Fehlern stoppen, so dass wir diese einzeln prüfen und manuell korrigieren können.
Anschließend „alle Varianten“ auswählen, und schon kann’s losgehen.
Zu guter Letzt
.. empfiehlt es sich immer, in verschiedenen Umgebungen mit ein paar Skripten zu testen. So bekommt man ein Gefühl für das Tool und die Abläufe, und stolpert auch mal über Fehler die man kein zweites Mal macht (z.B. mit 1000 Usern und Verarbeitung „Error“ zu starten ;).
Das Obligatorische
Diese Dokumentation ist eine Sammlung von Erfahrungswerten, und in keiner Form von den Produktherstellern (SAP, Oracle, ..) geprüft oder freigegeben worden. Es kann keine Haftung für Schäden übernommen werden, die aus dem (teilweisen oder vollständigen) Befolgen dieser Dokumentation entstehen.
Selbstverständlich freue ich mich über Fragen, Anmerkungen oder Ergänzungen.