Line exists

Aus SAP Wiki ツ
Version vom 18. Juli 2021, 16:07 Uhr von M1ch3lde (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kategorie:Schlüsselbegriffe Ab ABAP 7.40 kann anstelle READ TABLE ... TRANSPORTING NO FIELDS der Schlüsselbegriff "line_exists" genommen werden. Denn mi…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ab ABAP 7.40 kann anstelle READ TABLE ... TRANSPORTING NO FIELDS der Schlüsselbegriff "line_exists" genommen werden.

Denn mit IF line_exists( itab [...] ) bekommt man ein true zurück, falls die Zeile in der internen Tabelle existiert bzw. im ELSE-Zweig ein false, falls die Zeile nicht existiert.

Beispiel

SELECT * FROM mara INTO TABLE @DATA(lt_mara) WHERE matnr = '000000000000000100' or matnr = '000000000000001000'.

Mit line_exists

IF line_exists( lt_mara[ matnr = '000000000000000100' ] ).
 "ist true
ELSE.
ENDIF.
IF line_exists( lt_mara[ matnr = '000000000000000500' ] ).
ELSE.
 "ist false
ENDIF.

Mit READ TABLE ... TRANSPORTING NO FIELDS

READ TABLE lt_mara TRANSPORTING NO FIELDS WITH KEY matnr = '000000000000000100'.
IF sy-subrc = 0.
 "ist true
ELSE.
ENDIF