[gelöst] READ auf interne Tabelle mit Objektreferenzen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
9 Beiträge / Seite 1 von 1
9 Beiträge Seite 1 von 1

[gelöst] READ auf interne Tabelle mit Objektreferenzen

Beitrag von ewx (Top Expert / 3917 / 159 / 348 ) » 15. Nov 2012 14:13

Hallo zusammen!

ich speichere mir immer öfter Objektreferenzen in einer internen Tabelle da ich das sehr praktisch finde.

Nun möchte ich natürlich hinterher auch wieder drauf zugreifen können.
Als Key möchte ich eigentlich gerne ein Attribut der Objektreferenz verwenden.
aber das kriege ich nicht hin...

Beispiel:

Code: Alles auswählen.

do 4 times.
Create Object lr_xyz exporting index = sy-index.
append lr_xyz to lt_objects.
enddo.

***

Method CONSTRUCTOR.
 gv_index = index.
Endmethod.

***
read table lt_objects with key ...->gv_index = 2.
Oder bleibt mir nix anderes übirg, als den KEY mit in die Tabelle aufzunehmen?
Oder gibt es sogar einen Trick, wie man auf die Attribute des Objektes zugreifen kann?
ähnlich wie READ ... WITH KEY TABLE_LINE = xyz.
vielleicht TABLE_LINE->attribut ??? :D
Zuletzt geändert von ewx am 15. Nov 2012 14:35, insgesamt 1-mal geändert.


Re: READ auf interne Tabelle mit Objektreferenzen

Beitrag von a-dead-trousers (Top Expert / 3199 / 81 / 792 ) » 15. Nov 2012 14:30

hi!

Das "TABLE_LINE->attribut" funktioniert nicht?
Ich könnt schwören, dass ich das schon mal verwendet hab.
Wo es ganz sicher geht, ist beim LOOP AT ... WHERE.

lg ADT

EDIT: Hab grad bei einer meiner Tool-Klassen nachgeschaut und da verwende ich einen READ TABLE mit TABLE_LINE->attribut. Also muss es ganz sicher gehen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ewx

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: READ auf interne Tabelle mit Objektreferenzen

Beitrag von ewx (Top Expert / 3917 / 159 / 348 ) » 15. Nov 2012 14:34

tatsächlich!! Das war eigentlich eher ein Scherz gewesen... :)
Coole Sache das. Danke!

Re: READ auf interne Tabelle mit Objektreferenzen

Beitrag von a-dead-trousers (Top Expert / 3199 / 81 / 792 ) » 15. Nov 2012 14:41

ewx hat geschrieben:tatsächlich!! Das war eigentlich eher ein Scherz gewesen... :)
Mist!
Das heißt ich bin dir in deine perfekt ausgelegte Falle getappt. :o
Shame on me! :wink:
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40


Re: [gelöst] READ auf interne Tabelle mit Objektreferenzen

Beitrag von ST22 (Specialist / 234 / 22 / 26 ) » 15. Apr 2019 17:11

Hallo Zusammen,
ich habe zu diesem Thema mal noch eine Frage.
Ich verwalte in einer Klasse "zcs_meine_gp_klasse" in einer Tabelle Objektreferenzen auf Geschäftspartner (STATIC Attribute).

Code: Alles auswählen.

    TYPES:
      ty_objects_t TYPE SORTED TABLE OF REF TO zcs_meine_gp_klasse
                          WITH UNIQUE KEY ???.
Ich würde gerne das Attribut "PARTNER" type "BU_PARTNER" als unique key verwenden, um beim SINGLETON zu prüfen, ob ich die Instanz zu einem GP bereits erzeugt habe.

Frage: Kann ich ein Attribut der Objektreferenzen zum unique key der internen Tabelle von Objektreferenzen machen?

Geht das und wenn ja, wie? Oder was übersehe ich?
Danke und Gruß
Frank

Re: [gelöst] READ auf interne Tabelle mit Objektreferenzen

Beitrag von ewx (Top Expert / 3917 / 159 / 348 ) » 15. Apr 2019 22:21

Nein, als Key nicht, aber du kannst programmieren:

Code: Alles auswählen.

...with Key table_line->parnr = i_parnr.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
ST22 (16. Apr 2019 08:47)


Re: [gelöst] READ auf interne Tabelle mit Objektreferenzen

Beitrag von ST22 (Specialist / 234 / 22 / 26 ) » 16. Apr 2019 08:46

Hallo,
...with Key table_line->parnr = i_parnr.
...so habe ich es auch gelöst, aber performanter wäre doch sicher, eine sortierte Tabelle, oder vielleicht type hashed?
Sonst müsste ich zur Not den Schlüssel selber verwalten.
Danke, ich werde mal noch etwas experimentieren.
Gruß
Frank

Re: [gelöst] READ auf interne Tabelle mit Objektreferenzen

Beitrag von a-dead-trousers (Top Expert / 3199 / 81 / 792 ) » 16. Apr 2019 08:58

Du kannst die Tabelle aber auch nach dem Attribut sortieren und so mit BINARY SEARCH den Zugriff darauf beschleunigen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Seite 1 von 1

Aktuelle Forenbeiträge

Kreditlimitprüfung Obligo
vor 4 Tagen von wreichelt 2 / 121
Business Partner Konzept
vor 4 Tagen von SAP_ENTWICKLER 1 / 163
Fortführen der Schleife
vor 4 Tagen von ichse18577 2 / 153
Verursachervormerkung OCM manuell anlegen
vor 5 Tagen von Aba 1 / 120

Unbeantwortete Forenbeiträge

Business Partner Konzept
vor 4 Tagen von SAP_ENTWICKLER 1 / 163
Verursachervormerkung OCM manuell anlegen
vor 5 Tagen von Aba 1 / 120
Auflösen MILL_OC - Auftragszusammenfassung
vor einer Woche von tofralu 1 / 106
Löschen von archivierten Drucklisten
vor einer Woche von Asaph 1 / 98