!--a11y-->
Mit der Funktion CHEERR <Fehlernummer> können Sie im Testfall prüfen, ob eine Transaktion eine erwartete Systemmeldung ausgibt.
Geben Sie hierzu die Funktion CHEERR direkt vor der Funktion TCD ein, die die Systemmeldung erzeugen soll. Wird die Funktion CHEERR vor der Funktion REF verwendet, so wirkt sie auf das erste TCD des referierten Testbausteins.

Sie erwarten die Fehlermeldung 286 in der Transaktion FB01:
Periode ist für Kontoart & und Hauptbuch & nicht geöffnet.
Funkt. |
Objekt |
CHEERR |
286 |
TCD |
FB01 |
Nach Auftreten eines Fehlers wird die Transaktion sofort verlassen (Abspielmodus n). Ist der aufgetretene Fehler mit der erwarteten Systemmeldung identisch, so wird die Transaktion trotz des Fehlers im Protokoll als mit positivem Ergebnis abgespielt vermerkt.
Tritt die erwartete Systemmeldung nicht auf, erscheint eine Fehlermeldung im Protokoll. Ist das Abbruchkennzeichen gesetzt, führt das Ausbleiben eines erwarteten Fehlers zum Abbruch.
Beliebige Fehlermeldungen zulassen
Die folgende Anweisung läßt alle Fehlernummern zu. Sie können nach dem Ablauf der Transaktion selbsttätig anhand der SY-Felder bzw. der &M-Variablen eine Meldungsprüfung durchführen und somit prüfen, ob das Ergebnis Ihren Erwartungen entspricht:
Funkt. |
Objekt |
CHEERR |
* |
Sondervariablen für Systemmeldungen im Testfall
Wurden in einer Transaktion mehr als eine Systemmeldung ausgegeben, werden die Messagevariablen &M01 bis &M04 nur mit den variablen Anteilen der letzten ausgegebenen Meldung versorgt. Sofern Sie aber auch an Informationen vorhergehender Meldungen interessiert sind, können Sie diese Informationen über folgende Techniken erhalten:
Positionieren auf einer bestimmten Meldung:
Fügen Sie die nachfolgende Zeile hinter dem Transaktionsaufruf ein.
Funkt. |
Objekt |
IF |
&MSG = XYYnnn |
mit:
X |
Message-Typ (einstellig: A, E, I, S oder W) |
YY |
Message-ID (zweistellig) |
nnn |
Message-Nummer (dreistellig numerisch) |
Das Selektionskriterium kann dabei auch unvollständig angegeben werden. Die Erkennung erfolgt aufgrund der verwendeten Länge und Ziffern.

&MSG = ‘X’ |
Message-Typ |
&MSG = ‘YY’ |
Message-ID |
&MSG = ‘nnn’ |
Message-Nummer |
&MSG = ‘XYY’ |
Message-Typ und ID |
&MSG = ‘Xnnn’ |
Message-Typ und Nummer |
&MSG = 'XYYnnn' |
Message-Typ, ID und Nummer |
Positionieren auf der ersten ausgegebenen Meldung:
Funkt. |
Objekt |
IF |
&MSG = '*' |
Positionieren auf der letzten ausgegebenen Meldung:
Funkt. |
Objekt |
IF |
&MSG = '=' |
Blättern in der Liste der ausgegebenen Meldungen
Nachdem Sie sich durch eine der obenstehenden Bedingungen auf einer bestimmten Meldung positioniert haben, können Sie in der Liste aller Meldungen durch Verwendung weiterer Bedingungen blättern.
In der folgenden Tabelle finden Sie die Anweisungen, die Sie in
IF-Bedingungen verwenden können, um in der Liste zu blättern:
Operator |
Navigation zur |
&MSG = ‘+’ |
nachfolgenden Meldung |
&MSG = ‘-’ |
vorhergehenden Meldung |
&MSG = ‘>‘ |
nächsten Meldung gemäß letzter auch unvollständiger Selektion &MSG = 'XYYnnn' |
Weitere Informationen zu einer Meldung
Wurde eine Meldung gemäß einer der oben angeführten Bedingung gefunden, stehen unmittelbar danach weitere Informationen zu dieser Meldung in folgenden Variablen zur Verfügung:
Messagevariable |
Bedeutung |
&MS1 |
1. variabler Teil (50stellig) |
&MS2 |
2. variabler Teil (50stellig) |
&MS3 |
3. variabler Teil (50stellig) |
&MS4 |
4. variabler Teil (50stellig) |
&MST |
Message-Typ (einstellig) |
&MSI |
Message-ID (zweistellig) |
&MSN |
Message-Nummer (dreistellig numerisch) |
&MSP |
Modulpool (achtstellig) |
&MSD |
Bildschirmbildnummer (vierstellig) |
&MSX |
Index in der Meldungstabelle (vierstellig) |
&MSL |
Gesamtanzahl ausgegebener Meldungen (vierstellig) |

Im folgenden Beispiel wird davon ausgegangen, daß bei dem TCD-Aufruf hintereinander folgende Meldungen ausgegeben wurden:
STT123
IAA222
EBB333
IAA344
Zum Blättern zur ersten Meldung können Sie z.B. folgende Anweisung benutzen:
Funkt. |
Objekt |
IF |
&MSG = '*' |
CATT - Anweisungen |
|
ENDIF |
In die Messagevariablen wurde dadurch der Inhalt der Nachricht TT123 gestellt.
Zum Blättern zu der ersten Meldung der Nachrichtenklasse AA:
Funkt. |
Objekt |
IF |
&MSG = 'AA' |
CATT - Anweisungen |
|
ENDIF |
In die Messagevariablen wurde dadurch der Inhalt der Nachricht AA222 gestellt.
Zum Blättern zu der zweiten Meldung der Nachrichtenklasse AA:
Funkt. |
Objekt |
IF |
&MSG = 'AA' |
ENDIF |
|
IF |
&MSG = '>' |
CATT-Anweisungen |
|
ENDIF |
In die Messagevariablen wurde dadurch der Inhalt der Nachricht AA344 gestellt.
Alle Nachrichten aus der Transaktion
Sie erhalten nun im Testplanprotokoll alle Nachrichten aus der Transaktion.

Der bisher über REF B2000106 aufgerufene Baustein ist außer Funktion gesetzt. Er muß aus bestehenden Abläufen daher nicht entfernt werden.
Das Nachrichtendynpro SAPMSCEM 0001
Im Easy-Mode des CATT (SCEM) wird am Ende einer Transaktion ein Nachrichtendynpro mit dem Ergebnis der Transaktion erzeugt.Dieses Nachrichtendynpro SAPMSCEM 0001 wird nun bei der Aufzeichnung auch im CATT Extended (SCAT) als letzes Dynpro hinzugefügt. Es enthält die letzte Meldung der Transaktion. Gegen diese Meldung können Prüfungen definiert werden.
Weitere Informationen erhalten Sie unter
TCD – Transaktionen testen.