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 / 345 / 3 / 103 ) »
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 / 161 / 38 / 51 ) »
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 / 4134 / 131 / 956 ) »
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.
2404
Views
10
Antw.
3059
Views
1000er stelle
von kostonstyle » 16.03.2007 07:55 • Verfasst in ABAP® für Anfänger
0
Antw.
991
Views
Zentrale Stelle für Hilfe Erweiterung
von Thomas R. » 10.01.2006 08:24 • Verfasst in Basis
8
Antw.
1582
Views
Auslesen die erste 8 Stelle von Datum
von ABAPLover » 19.07.2023 22:06 • Verfasst in ABAP® für Anfänger
2
Antw.
1288
Views
Wo stelle ich ein dass Tabelleneinträge transportiert werden
von Nordlicht » 02.03.2007 10:55 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

IBAN und BUT0BK
vor 5 Tagen von GastX gelöst 4 / 4845
Gewährleistungsende im Equipment
vor 6 Tagen von Yourairld gelöst 8 / 27041
IF mit AND und OR
vor 3 Wochen von GastX 6 / 15276
Meine Inbox
vor 3 Wochen von Rabea1103 1 / 12697

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.