Anfang des Inhaltsbereichs

Vorgehensweisen CHEERR - Systemmeldung prüfen Dokument im Navigationsbaum lokalisieren

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.

Beispiel

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.

Beispiel

&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)

 

Beispiel

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.

Hinweis

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.

 

 

Ende des Inhaltsbereichs