Line exists

Aus SAP Wiki ツ

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

Dieses Wiki wird privat in Freizeit nach bestem Wissen und Gewissen gepflegt und dient primär als eigene Wissenssammlung für die tägliche Arbeit im SAP-ERP-Umfeld.
Alle dargestellten Softwareprodukte, auch in Form von Screenshots, sind Eigentum der SAP SE. Ihre Marken, vgl. Link, sind u.a.: SAP®, ABAP®, SAP Fiori®, SAP HANA®, SAP S/4HANA®, SAP S/4HANA® Cloud