Sortierter Tabellentyp für Objekttabelle

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
17 Beiträge • Vorherige Seite 2 von 2 (current)
17 Beiträge Vorherige Seite 2 von 2 (current)

Re: Sortierter Tabellentyp für Objekttabelle

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
ralf.wenzel hat geschrieben:
07.11.2019 09:52
Warum muss das PUBLIC sein?
Weil man sonst von "außerhalb" der Klasse (oder der Vererbung bzw. Freundschaft) keinen Zugriff auf das Attribut hat (z.B. für den READ TABLE)
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.18
Basis: 7.50

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Sortierter Tabellentyp für Objekttabelle

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ralf.wenzel hat geschrieben:
11.09.2019 12:15
Moin,

ich möchte gern eine Tabelle haben, Typ "sortierte Tabelle" mit eindeutigem Schlüssel. Zeilentyp ist die Instanz einer Klasse. Schlüsselfeld ist ein Attribut des Objektes. Soweit das Soll.

Einen solchen Schlüssel schaffe ich aber nicht zu deklarieren, ich wandere von Fehlermeldung zu Fehlermeldung. Ich habe offensichtlich keine andere Wahl, als die gewünschten Schlüsselfelder als Strukturfelder anzulegen (dann muss ich sie aber auch ständig befüllen, was zu redundanten Daten führt).
Warum musst du das denn "ständig" befüllen? Das passiert doch nur 1x beim Insert in die Tabelle.
Der Insert in deine Tabelle wäre doch mittels

Code: Alles auswählen.

INSERT VALUE #( key = object->attribute   object = object ) into table t_sort

doch nicht sonderlich komplizierter als das von dir vorgeschwebte

Code: Alles auswählen.

INSERT object into table t_sort


Da ABAP den Versuch ein (Primär)Schlüsselfeld in einem schon bestehenden Eintrag einer sortierten Tabelle zu ändern üblicherweise mit einem Shortdump kommentiert bist du sowieso gezwungen dafür zu sorgen, dass ab dem Zeitpunkt des Inserts in die Tabelle das Attribut deines Objekt nicht mehr geändert werden darf.

Mein Vorschlag: Bau dir eine sort. Tabelle mit dem Schlüsselfeld und dem Objekt und sorge dafür, dass das Attribut ab dem Moment in dem das Objekt in die Tabelle eingefüg wird nicht mehr änderbar ist.

Oder für dich ganz besonders geeignet: Das Wenzelmuster
Kreiere ein eigenes Entwurfsmuster für diesen Fall, bau dir eine Klasse die das umsetzt und greif danach dann nur noch über diese Klasse auf die Tabelle zu. :‘-D

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
DeathAndPain

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Vergleichbare Themen

4
Antw.
2462
Views
Tabellentyp
von JohnLocklay » 06.07.2017 14:10 • Verfasst in ABAP® Core
4
Antw.
3661
Views
Datentyp einem Tabellentyp übergeben
von nightyX » 13.05.2004 11:22 • Verfasst in ABAP® für Anfänger
3
Antw.
8175
Views
Datenbanktabelle aus Tabellentyp / Struktur erstellen?
von HUMA » 21.09.2004 14:57 • Verfasst in ABAP® für Anfänger
3
Antw.
1758
Views
Tabellentyp mit p0040-Daten erweitern
von Mijira » 05.07.2016 09:31 • Verfasst in ABAP® Core
4
Antw.
1795
Views
Spaltenname zu eigenen Tabellentyp hinzufügen
von Dyrdek » 21.11.2016 10:00 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 37
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor einer Stunde von msfox 2 / 37
Interne Tabelle
vor 18 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141