Show TOC

Request-basiertes Debugging - VorgehensweiseLocate this document in the navigation structure

Vorgehensweise

Gehen Sie wie folgt vor, um Request-basiertes Debugging anzuwenden:

Externe Breakpoints setzen

  1. Melden Sie sich an Microsoft Windows am Frontend-PC an. Der Microsoft Windows Benutzer, mit welchem Sie sich anmelden, wird damit zum aktuellen Endbenutzer.

  2. Starten Sie SAP GUI for Windows.

  3. Melden Sie sich am AS ABAP an, der die zu prüfenden HTTP- oder RFC-Requests bedienen wird.

  4. Der Benutzer des AS ABAP, mit dem Sie an AS ABAP angemeldet sind, sowie der Benutzer des AS ABAP, der die zu prüfenden Requests abarbeiten wird, sollen beideüber Rechte zum Debuggen verfügen.

  5. Öffnen Sie den Objekt Navigator ( SE80) oder den ABAP Editor ( SE38).

  6. Wählen Sie Anfang des Navigationspfads Hilfsmittel Nächster Navigationsschritt Einstellungen Nächster Navigationsschritt ABAP Editor Nächster Navigationsschritt Debugging Ende des Navigationspfads

    • Im Bildbereich ABAP-Debugger stellen Sie sicher, dass der neue ABAP Debugger der Standard-Debugger der aktuellen Benutzersitzung ist: Markieren Sie dazu den Auswahlknopf Neuer Debugger.

    • Im Bildbereich Debuggen Externer Requests spezifizieren Sie Request-basiertes Debugging als die gewünschte Debugging-Variante: Wählen Sie dazu den Auswahlknopf Terminal-ID.

    • Falls noch nicht geschehen, wird für den aktuellen Endbenutzer seine Terminal-ID automatisch generiert und in die Windows Registry des Frontend-PCs abgelegt.

    • Die Terminal-ID des aktuellen Endbenutzers wird im schreibgeschützten Feld neben dem Auswahlknopf Terminal-ID angezeigt. Sie wird externe Breakpoints kennzeichnen, die sie nachfolgend setzen.

    • Übernehmen Sie die Einstellungen: Wählen Sie Übernehmen (Enter).

  7. Setzen Sie nun externe Breakpoints: Öffnen Sie dazu den Quelltext des zu testenden Programms im ABAP Editor ( SE38, SE80, SE37, SE24,…) und setzen Sie externe Breakpoints. Siehe dazu Externe Breakpoints (link).

    Die neuen externen Breakpoints sowie alle von dem aktuellen Benutzer zuvor gesetzten externen Breakpoints werden entsprechend der zuletzt gewählten Debugging-Variante (hier: benutzerbasiertes Debugging) und zugehörigen Einstellungen (hier: Die Terminal-ID des aktuellen Endbenutzers) gekennzeichnet. In der Statuszeile des ABAP Editors erscheint eine entsprechende Information.

  8. Melden Sie sich nicht vom AS ABAP ab. Damit bleibt die Dialogsitzung bestehen, in der Breakpoints gesetzt wurden, so dass der ABAP Debugger später im Rahmen dieser Dialogsitzung starten kann.

  9. Die Terminal-ID des aktuellen Endbenutzers kann jederzeit folgendermaßen nachgeschlagen werden:

    • Im Objekt Navigator (SE80) oder den ABAP Editor (SE80), wählen Sie Anfang des Navigationspfads Hilfsmittel Nächster Navigationsschritt Einstellungen Nächster Navigationsschritt ABAP Editor Nächster Navigationsschritt Debugging Ende des Navigationspfads

    • Die Terminal-ID erscheint im Bildbereich Debuggen Externer Requests im schreibgeschützten Feld neben dem Auswahlknopf Terminal-ID.

    Gegebenenfalls soll die aktuelle Terminal-ID demjenigen Endbenutzer mitgeteilt werden, der den zugehörigen Request starten wird. Die Terminal-ID kann beispielweise per E-Mail zugeschickt werden.

  10. Der zu prüfende Request kann nun (über HTTP oder RFC) an den AS ABAP gesendet werden.

Requests verschicken

Dem zu testenden Request soll diejenige Terminal-ID zugewiesen werden, die für zugehörige externe Breakpoints gilt. Gehen Sie folgendermaßen vor:

  1. Melden Sie sich an Microsoft Windows am Frontend-PC an. Der Microsoft Windows Benutzer, mit welchem Sie sich anmelden, wird damit zum aktuellen Endbenutzer.

  2. Starten Sie den Request. Das geeignete Vorgehen hängt von folgenden Aspekten ab:

    • Der aktuelle Endbenutzer ist derselbe oder ein anderer als der Endbenutzer, der Breakpoints setzte.

    • Die Art des GUI der zu testenden Anwendung (genauer: Über welches GUI der Request abgesetzt wird)

      Gehen Sie folgendermaßen vor:

      Endbenutzer

      UI

      Vorgehen

      Der aktuelle Endbenutzer ist derselbe wie der, der davor Breakpoints setzte.

      Die Terminal-ID des aktuellen Endbenutzers kennzeichnet zugehörige Breakpoints.

      Sie kann automatisch mit dem Request assoziiert werden.

      SAP GUI for Windows

      1. In dem Fenster des SAP GUI, das den Request initiiert, geben Sie im Befehlsfeld /htid an.

        Von nun an werden alle aus diesem Fenster (genauer: aus diesem externen Modus) initiierten Requests automatisch mit der Terminal-ID des aktuellen Endbenutzers versehen. In der Statusleiste erscheint eine entsprechende Meldung.

      2. Starten Sie den Request.

       

      Microsoft Internet Explorer

      1. Starten Sie den Microsoft Internet Explorer mit Hilfe des Plug-Ins SAP HTTP PlugIn for IE.

      2. Ein neues Browser-Fenster wird geöffnet. Im Vordergrund erscheint zusätzlich das Fenster des Plug-Ins.

      3. Im Fenster des Plug-Ins wählen Sie Start Transaction per Doppelklick. Schließen Sie das Fenster des Plug-Ins nicht.

      4. Im Browser-Fenster starten Sie wie gewöhnlich den Request.

        Für mehr Informationen über SAP HTTP PlugIn for IE siehe SAP-Hinweis 1041556.

      Der aktuelle Endbenutzer ist ein anderer als der, der Breakpoints setzte:

      Die Terminal-ID, die für zugehörige Breakpoints gilt, muss in Erfahrung gebracht und manuell eingegeben werden.

      SAP GUI for Windows

      1. Ermitteln Sie die Terminal-ID, die für zugehörige Breakpoints gilt.

        Nehmen Sie dazu Kontakt zu der Person auf, die Breakpoints setzte. Sie oder er kann beispielweise die Terminal-ID per E-Mail zusenden.

      2. Geben Sie in dem Fenster des SAP GUI, das den Request initiiert, im Befehlsfeld /hset tid= <tid> an. Als <tid> tragen Sie die ermittelte Terminal-ID ein.

        Von nun an werden alle aus diesem Fenster des SAP GUI (genauer: aus diesem externen Modus) initiierten Requests mit der eingetragenen Terminal-ID assoziiert.

      3. Starten Sie den Request.

  3. Nachdem die Programmausführung einen externen Breakpoint erreicht hat und die Terminal-ID des Requests und die des externen Breakpoints übereinstimmen, startet der ABAP Debugger im neuen Hauptmodus der Dialogsitzung, in der der externe Breakpoint gesetzt wurde. Das Fenster des ABAP Debuggers wird fokussiert und Sie können den weiteren Programmverlauf wie gewöhnt prüfen und steuern und danach die Debugging-Sitzung beenden.

Terminal-ID abrufen und dem Hauptmodus zuordnen

Bei Anwendungen mit SAP-GUI-basierter Oberfläche können Sie jederzeit eine Terminal-ID (des aktuellen oder auch einen anderen Endbenutzers) dem aktuellen Hauptmodus der Anwendung zuordnen. Die Zuordnung können Sie später ändern oder entfernen. Alle Requests, die in einem Hauptmodus initiiert werden, werden mit der zugeordneten Terminal-ID gekennzeichnet.

Im zugehörigen Fenster des SAP GUI geben Sie dazu einen der folgenden Befehle ins Befehlsfeld der Anwendung ein:

/htid

Terminal-ID des aktuellen Endbenutzers wird zugeordnet

/hset tid=<tid>

Eine beliebige Terminal-ID wird zugeordnet

/hget tid

zugeordnete Terminal-ID wird ausgegeben

/hdel tid

Zuordnung wird rückgängig gemacht