Die SAP Meldungen werden oft in einem Pop-Up dargestellt. Dazu ist es so, dass immer dasselbe Dynpro zur Anwendung kommt (SAPMSDYP.0010). Dies erschwert das Erkennen des jeweiligen Falles. Leider steht in diesem Fall  im GuiXT auch keine Systemvariable zur Verfügung, aus der man die Meldungsnummer entnehmen könnte. Damit man trotzdem erkennen kann ob es jetzt der gewünschte Fall ist, habe ich folgende Vorgehensweise  entwickelt. Diese Vorgehensweise ist auch praktisch, wenn man mehrere Sprachen im Einsatz hat, da es sprachunabhängig ist. Diese Lösung setzt jedoch mindestens GuiXT Version 2014 Q1 1 voraus und einen RFC Zugriff für GuiXT.

1. Man sucht sich über das entsprechende Pop-Up die richtige Meldungsnummer heraus.

Fehler-Pop-Up1

Fehler-PopUp2

2. Über die Meldungsnummer identifiziert man Arbeitsgebiet (Nachrichtenklasse) und Nachrichtennummer

Arbeitsgebiet = V1

Nachrichtennummer = 081 (diese Nummer ist immer 3 stellig)

3. Script mit Textvergleich zu Meldungstext

Mit folgendem Script kann man auf dem Pop-Up den entsprechenden Vergleich anstellen:

// Beispiel zum Vergleichen der Meldungsnummer
// 19.02.2014 / Gérald Koehn / Koehn Consulting / www.guixt.ch
if Q[Transaction=VA02]
  set V[messgtext]	"&F[MESSTXT1]"
  message Id="V1" Number="081"  setvariable="mess_v1081"
  // Vergleich, ob der Text, der auf dem Pop-Up angezeigt wird
  // auch dem der Meldung V1 081 entspricht
  if V[messgtext=&V[mess_v1081]]
    // tue dies oder das, wenn Meldung V1 081 angezeigt wird 
    Enter    // so wird Meldung einfach weggedrückt
  endif
endif

Empfehlen