Ansicht
Dokumentation
ABENTYPING_ABEXA - TYPING ABEXA
CPI1466 during Backup PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
Generische und vollständige Typisierung
Das Beispiel demonstriert den Zugriff auf generisch und vollständig typisierte Formalparameter.
Quelltext
Beschreibung
In der Klasse demo_typing sind drei Tabellentypen deklariert:
- itab1g hat den Zeilentyp struc1 mit den Komponenten cola und colb und ist generisch, da der primäre Tabellenschlüssel nicht spezifiziert ist.
- itab2g hat den Zeilentyp struc2 mit den Komponenten cola und colb und ist generisch, da der primäre Tabellenschlüssel nicht spezifiziert ist.
- itab2c hat den Zeilentyp struc2 mit den Komponenten cola und colb und ist vollständig, da der primäre Tabellenschlüssel spezifiziert ist.
Die Methode sort_itab hat zwei Formalparameter
- pg ist generisch mit itab2g typisiert.
- pc ist vollständig mit itab2c typisiert.
In der Methode start wird eine interne Tabelle tab durch Bezug auf itab1g deklariert. Die Schlüsselangabe wird implizit hinzugefügt. Diese Tabelle wird gefüllt und an die Formalparameter von sort_itab übergeben.
In sort_itab werden beide Formalparameter zweimal sortiert. Bei der ersten Sortierung wird die Spalte cola statisch und bei der zweiten Sortierung dynamisch als Sortierkriterium angegeben. Das Verhalten ist wie folgt:
- In der ersten SORT-Anweisung wird statisch auf den generisch typisierten Formalparameter pg zugegriffen. Hier zieht die Typisierung mit itab2g, in der cola die zweite Spalte ist.
- In der zweiten SORT-Anweisung wird dynamisch auf den generisch typisierten Formalparameter pg zugegriffen. Hier zieht der Typ des Aktualparameters itab1g, in der cola die erste Spalte ist.
- In der dritten und vierten SORT-Anweisung wird dynamisch bzw. statisch auf den vollständig typisierten Formalparameter pc zugegriffen. Hier zieht die Typisierung mit itab2c, in der cola die zweite Spalte ist.
Beim dynamischen Zugriff auf Komponenten von generisch typisierten Formalparametern kann es auch zu einem Laufzeitfehler kommen, wenn die Komponenten im Aktualparameter nicht vorhanden sind.
ABAP Short Reference PERFORM Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 2819 Date: 20240523 Time: 121417 sap01-206 ( 88 ms )