Ansicht
Dokumentation

CL_ISHMED_COLLECTION_BASE - IS-H*MED: Abstrakte Basisklasse für Sammlungen

CL_ISHMED_COLLECTION_BASE - IS-H*MED: Abstrakte Basisklasse für Sammlungen

TXBHW - Original Tax Base Amount in Local Currency   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_ISHMED_OBJECT_COLLECTION implementiert die Funktionen für eine Sammlung von Objekt - Referenzen. Die Objekt-Referenzen müssen dem Interface IF_ISHMED_COLLECTION_OBJECT genügen, das einen (internen) Objekt-Schlüssel KEY vom Typ String als einzige Konvention vorschreibt. Auf die Objekt-Referenzen kann mit diesem Schlüssel oder über einen Index zugegriffen werden. Es werden Methoden zur Ermittlung des Vorgängers und Nachfolgers bereitgestellt. Die Folge ergibt sich aus der Reihenfolge des Einfügens von Objektreferenzen.

Beziehungen

Interface IF_ISHMED_COLLECTION_OBJECT

Beispiel

Durch Ableitung kann eine Anwendungsklasse zur Objektsammlung gemacht werden. Die generische Referenzen-Tabelle REFERENCESist geschützt (protected). Es kann wie folgt traversiert werden.

Innerhalb der Klasse und des Ableitungsbaumes

Definition

class CL_ISHMED_VD_NOTES definition public

,,inheriting from CL_ISHMED_OBJECT_COLLECTION.

DATA objectkey TYPE string.

DATA note TYPE REF TO CL_ISHMED_VD_NOTE .

Implementation

...

LOOP AT references INTO reference.

* Do anything with object reference

,,objectkey = reference->key.

,,try.

,, note ?= reference.,," Down Casting

,, catch cx_sy_move_cast_error. " handle wrong object type

,,endtry.

ENDLOOP.

Ausserhalb der Klasse

Definition

DATA notes TYPE REF TO CL_ISHMED_VD_NOTES.

DATA count TYPE i.

...

Implementation

...

count = notes->count( ).

DO count TIMES.

* Down Cast to special class

try.,,

note ?= notes->get_reference( idx = sy-index ).

catch cx_sy_move_cast_error. " handle wrong object type

endtry.

CHECK note IS BOUND.

* Do anything with object reference

ENDDO.

Hinweise

Achtung! Das Entfernen von Objekt-Referenzen aus der Sammlung führt zur Vernichtung des Objekts (Garbage Collection), wenn keine Referenzvariable mehr auf dieses Objekt zeigt.

Im folgenden Beispiel wird die Objektreferenz durch Zuweisung gerettet. Das Objekt wird nur aus der Objektsammlung entfernt.

Definition

DATA notes TYPE REF TO CL_ISHMED_VD_NOTES.
DATA note TYPE REF TO CL_ISHMED_VD_NOTE .
DATA objectkey TYPE string.

...

Implementation

...

note = notes->remove( key = objectkey ).

Weiterführende Informationen

Detallierte Implementierungsbeispiele finden Sie in den Musterprogrammen Objektsammlung durch Komposition und Objektsammlung durch Ableitung.






TXBHW - Original Tax Base Amount in Local Currency   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3627 Date: 20240420 Time: 132420     sap01-206 ( 47 ms )