CL_ISHMED_OBJECT_COLLECTION - IS-H*MED: Objekt Sammlung

TXBHW - Original Tax Base Amount in Local Currency   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Funktionalität

Die Klasse CL_ISHMED_OBJECT_COLLECTION implementiert die Funktionen für eine Sammlung von Objekt - Referenzen. Die Objekt-Referenzen müssen dem InterfaceIF_ISHMED_COLLECTION_OBJECT genügen, das einen (internen) Objekt - SchlüsselKEYvom Typ String als einzige Konvention vorschreibt. Auf die Objekt - Referenzen kann mit diesem Schlüsseloder über einen Index zugegriffen werden. Es werden Methoden zur Ermittlung des Vorgängersund 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 Implementationsbeispiele finden Sie in den MusterprogrammenObjektsammlung durch Komposition undObjektsammlung durch Ableitung.






ROGBILLS - Synchronize billing plans   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 3407 Date: 20120527 Time: 164148     triton ( 109 ms )