Beim Debugger im Loop an gewisser Stelle anhalten

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Beim Debugger im Loop an gewisser Stelle anhalten

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
Hallo zusammen,

wie kann man eigentlich elegant an einer gewissen Stelle in einem Loop im Debugger anhalten. Beispielsweise loopt man über eine Tabelle mit 1000 Einträgen. Man interessiert sich nun für den Eintrag 836 und an diesem möchte ich gerne im Debugger anhalten. Leider funktioniert es mit einem Watchpoint und sy-tabix nicht, da innerhalb des Loops etwas abgefragt wird und der sy-subrc auf ungleich 0 läuft und sy-tabix dann auch wieder auf 1. Wie könnte man so etwas schön händeln?

Vielen Dank im Voraus.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Beim Debugger im Loop an gewisser Stelle anhalten

Beitrag von jocoder (Specialist / 343 / 3 / 102 ) »
Ein Breakpoint an der ersten Anweisung des LOOPs mit einer Bedingung (sy-tabix = 836) müsste das Problem lösen. Wichtig ist es den Breakpoint an der ersten Anweisung zu setzen. Wenn der Debugger dann an der ersten Anweisung anhält kann im Debugger ein zweiter Breakpoint an passender Stelle gesetzt werden.

Re: Beim Debugger im Loop an gewisser Stelle anhalten

Beitrag von IHe (Specialist / 150 / 35 / 49 ) »
Vielleicht mit Beakpoints mit Bedingung?

LOOP AT itab ASSINING <data>.
[..]
"Breakpoint mit Bedingung: <data> = itab[836]
[..]
ENDLOOP.
Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

Re: Beim Debugger im Loop an gewisser Stelle anhalten

Beitrag von black_adept (Top Expert / 4080 / 125 / 934 ) »
Beispiel: In folgendem Trivialprogramm soll beim 200. Durchlauf der WRITE-Anweisung angehalten werden. Das könnte man hier leicht errechnen, dass sy-index dann 400 sein müsste - aber die Bedingung kann ja hinreichend komplex oder sogar unbekannt sein aber wie in der Originalfrage möchte man halt beim x. Durchlauf anhalten.

Code: Alles auswählen.

REPORT.

DO 1000 TIMES.
  CHECK sy-index MOD 2 = 0.
  WRITE:/ sy-index.
ENDDO.
Dafür hat SAP etwas im Debugger vorgesehen: Am Besten einen BREAK-POINT auf die WRITE-Zeile setzen. Wenn man hier ankommt hat man den 1. Durchlauf erreicht. Jetzt muss ich diesen Break-Point noch x-2 mal auslassen und die dann folgende Ankunft ist die x. Das geht wie im folgenden Screenshot abgebildet.
Unbenannt.png

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
IHerob_abc

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1422
Views
10
Antw.
2763
Views
1000er stelle
von kostonstyle » 16.03.2007 07:55 • Verfasst in ABAP® für Anfänger
0
Antw.
895
Views
Zentrale Stelle für Hilfe Erweiterung
von Thomas R. » 10.01.2006 08:24 • Verfasst in Basis
8
Antw.
828
Views
Auslesen die erste 8 Stelle von Datum
von ABAPLover » 19.07.2023 22:06 • Verfasst in ABAP® für Anfänger
2
Antw.
1177
Views
Wo stelle ich ein dass Tabelleneinträge transportiert werden
von Nordlicht » 02.03.2007 10:55 • Verfasst in ABAP® Core

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1515
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8128