Ansicht
Dokumentation

ABENITAB_COMPONENTS - ITAB COMPONENTS

ABENITAB_COMPONENTS - ITAB COMPONENTS

General Material Data   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- comp1 comp2 ...

In einer Reihe von Anweisungen zur Bearbeitung interner Tabellen und in Tabellenausdrücken werden einzelne Komponenten der Zeilen interner Tabellen angesprochen. Insofern nicht anders vermerkt, gilt für comp1 comp2... folgende Syntax:

... ${ comp_name$[-sub_comp$]$[${+off(len)$}$|${->attr$}$] $} $| ${ (name) $} ...

Wirkung

Für Komponentenangaben gibt es folgende Alternativen:

  • Direkte Angabe des Namens comp_name einer Komponente.
  • Falls der Datentyp der Komponenten zeichenartig und flach ist, kann wie bei einem Teilfeldzugriff eine Offset-/Längenangabe +off(len) an den Namen der Komponente angefügt werden, um auf Teilbereiche der Komponente zuzugreifen. Für off und len können nur direkte Zahlenangaben oder Konstanten angegeben werden.

  • Falls die Komponente strukturiert ist, kann mit dem Strukturkomponenten-Selektor - auf die Komponenten sub_comp der Unterstruktur zugegriffen werden.

  • Falls die Komponente einen Referenztyp hat, kann mit dem Objektkomponenten-Selektor -> auf alle sichtbaren Attribute attr des referenzierten Objekts zugegriffen werden. In diesem Fall kann eine Komponente der Tabelle mehrmals aufgeführt werden.

  • Die Bezeichnung der Komponente in name kann eine Offset-/Längenangabe enthalten.

  • In name ist die Angabe des Objektkomponenten-Selektors -> für den Zugriff auf Attribute möglich, wobei aber nur Attribute adressiert werden können, die auch statisch bekannt sind.

  • Die Groß-/Kleinschreibung spielt in name keine Rolle. Falls name nur Leerzeichen enthält, wird diese Komponentenangabe bei Ausführung der Anweisung ignoriert. Falls name eine nicht vorhandene Komponente enthält, kommt es zu einer unbehandelbaren Ausnahme.

  • Angabe der Pseudokomponente table_line, um die gesamte Tabellenzeile als Komponente anzusprechen.

Hinweise

  • Eine Komponente kann nicht mehrfach angegeben werden, außer sie hat einen Referenztyp. Gleichzeitig zu table_line können aber auch weitere Komponenten angegeben werden. Dies ist beispielsweise nötig, wenn der Zeilentyp der internen Tabelle eine Objektreferenz ist und gleichzeitig der Wert der Referenz und der eines Attributs des Objekts angegeben werden soll.
  • Bei Tabellen mit nicht-strukturiertem Zeilentyp kann die Pseudokomponente table_line als einzige Komponente angesprochen werden.
  • Die Pseudokomponente table_line ist ein reservierter Name. In ABAP und im ABAP Dictionary dürfen keine Strukturkomponenten namens table_line deklariert werden.
  • Wenn der Zeilentyp der internen Tabelle nicht statisch erkennbar ist, können die Komponenten in der Regel nicht direkt sondern nur dynamisch angegeben werden.
  • Die angegebenen Komponenten müssen nicht elementar sein.
  • Wenn vom Datentyp her möglich (zeichenartig und flach), kann eine Offset-/Längenangabe auch benachbarte Komponenten miteinbeziehen.

Beispiel

Sortierung nach einer dynamisch angegebenen Komponente. Ein falscher Name führt zu einem Laufzeitfehler.






CL_GUI_FRONTEND_SERVICES - Frontend Services   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4864 Date: 20240523 Time: 164600     sap01-206 ( 65 ms )