Loop Anweisung wird eingeschränkt abgearbeitet

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

Loop Anweisung wird eingeschränkt abgearbeitet

Beitrag von bohne (Specialist / 437 / 0 / 0 ) »
Hallo Zusaamen!

Was ist bei so einer Fehlermeldung zu beachten und
wie kann ich diese beheben ?

Loop Anweisung wird eingeschränkt abgearbeitet.
Zusätze FROM, TO und/oder WHERE beim LOOP.
Das Zusammenspiel mit Gruppenwechsel verarbeitung (AT/NEW,..)
ist undefiniert .

Code: Alles auswählen.

            LOOP AT g_t_sele WHERE grpin = space.
              AT FIRST.
                SORT jitit_lt BY posid.
              ENDAT.
              READ TABLE jitit_lt INTO jitit_ls
                         WITH KEY posid = g_t_sele-posid
                         BINARY SEARCH.

              IF sy-subrc = 0.
                help_tabix = sy-tabix.
                LOOP AT jitit_lt ASSIGNING <jitit> FROM help_tabix.

                  IF <jitit>-posid <> g_t_sele-posid.
                    EXIT.
                  ENDIF.

                  READ TABLE l_t_cjit07 WITH KEY
                                        cnrtl     = <jitit>-cntrl
                                        intst_old = <jitit>-intst
       .
                  IF sy-subrc = 0.
                    l_t_jitit = <jitit>.
                    APPEND l_t_jitit.
                    jinum_r-sign   = 'I'.
                    jinum_r-option = 'EQ'.
                    jinum_r-low    = <jitit>-jinum.
                    APPEND jinum_r.
                  ELSE.
                    l_f_ungleich = 'X'.
                  ENDIF.
                ENDLOOP.
              ENDIF.
            ENDLOOP
Viele Grüße
bohne

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Bohne,

in der Hilfe zum LOOP bzw. AT/ENDAT. steht drin, dass man AT/ENDAT nur in LOOPs benutzen darf, die keine Einschränkungen mit einer WHERE-Klausel benutzen.
Das liegt daran, dass intern Gruppenwechseltechniken benutzt werden, die durcheinanderkommen, wenn z.B. erst die zweite Zeile der Tabelle durch den LOOP bearbeitet wird. Dann wirst Du nie das Ereignis AT FIRST ausgelöst bekommen.
  1. Lösungen:
  2. du baust deine Überprüfung selbst
  3. du benutzt eine Tabelle, die ohne WHERE auskommt
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von bohne (Specialist / 437 / 0 / 0 ) »
eraglam danke dir!

Grüße
bohne
Viele Grüße
bohne

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1341
Views
Variable String und LOOP Anweisung
von dyv » 04.09.2014 12:26 • Verfasst in ABAP® für Anfänger
1
Antw.
299
Views
Wert einer Spalte mit Loop Anweisung ändern
von Gekomo » 30.09.2022 15:14 • Verfasst in ABAP® für Anfänger
2
Antw.
2947
Views
Emailbetreff auf 50 Zeichen eingeschränkt
von AGroh » 26.09.2007 12:50 • Verfasst in ABAP® Core
1
Antw.
1098
Views
4
Antw.
3679
Views
LOOP in einem LOOP
von Bjuti » 10.09.2013 15:18 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.