Prädikatfunktion LINE EXISTS

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

Siehe Neues ABAP (ab Release 7.40).

Siehe Prädikatfunktion LINES().

Um zu prüfen, ob in einer internen Tabelle ein bestimmter Wert vorhanden, bzw. nicht vorhanden ist, gibt es die Funktion LINE_EXISTS.

Dieser Befehl existiert seit ABAP 7.40 SP2.

Coding LINE_EXISTS

Hier wird geprüft, ob in der internen Tabelle MT_OUTPUT im Feld NEXT_LGORT ein nicht gefüllter Wert (SPACE) vorhanden ist.

IF line_exists( mt_output[ next_lgort = space ] ).
  ..
ENDIF.

oder hier eine Prüfung, ob von einer ALV-Liste mindestens ein Datensatz markiert wurde.

IF line_exists( gt_ret[ selkz = 'X' ] ).
  ..
ENDIF.

Es kann auch geprüft werden, ob kein Satz existiert. Hier soll geprüft werden, ob mindestens ein Datensatz in einer ALV-Liste markiert wurde. Wenn das nicht der Fall ist, wird die Routine verlassen.

IF NOT LINE_EXISTS( gt_itab[ selkz = 'X' ] ).
  MESSAGE i019(em). "Es wurden keine Datensätze selektiert
  RETURN.
ENDIF

Prüfung Existenz eines Tabelleneintrages

Wenn man grundsätzlich prüfen will, ob in einer Tabelle ein Eintrag ist, reicht die Abfrage

IF gt_itab IS INITIAL.
  ...
ENDIF.

Bzw.

IF gt_itab IS NOT INITIAL.
  ...
ENDIF.

Web-Links

Literatur