Zugriff auf ein Datenobjekt

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

Zugriff auf ein Datenobjekt

Beitrag von ewx (Top Expert / 4786 / 294 / 629 ) »
Hallo zusammen!
Ich habe ein Interface gebaut, um ein Datenobjekt abzubilden. In diesem Interface habe ich das Attribut "countries" definiert.
Das habe ich so gemacht, um das Interface in einer Klasse zu implementieren, die die richtigen Daten ermittelt und speichert (Datenbank) und eine Klasse mit Testdaten zu haben.

Beispiel

dbclass->read: select land1 from dbtab into table countries where id = ...
Testclass->read: countries = value #( ( 'DE' ) ( 'FR' ) ( 'IT' ) ).

Jetzt habe ich allerdings das Problem, dass ich Methoden benötige, um die Daten zu manipulieren und zu prüfen. Mit meinem Konstrukt müsste ich diese Methoden nun in jeder Klasse implementieren, was ich nicht möchte.

Beispiel:
Interface IF_DATA mit Attribut "Länder"
Methoden
* add_country
* del_country

Mit add_Country möchte ich natürlich ein Land in die interne Tabelle einfügen.
Gleichzeitig möchte ich aber auch prüfen, ob es das Land überhaupt gibt und sicherstellen, dass das Land nicht doppelt vorhanden ist.

Beide Methoden möchte ich natürlich gleichermaßen auf die Testklasse als auch auf die DB-Klasse anwenden.

Ich benötige also ein Zugriffsobjekt zu meinem Datenobjekt.

Wie mache ich das am besten? Das Design Pattern Data-Access-Object trifft es mMn nicht.


Ideen?

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


Re: Zugriff auf ein Datenobjekt

Beitrag von black_adept (Top Expert / 3947 / 105 / 886 ) »
Moin Enno,
lass deine Implementierungen von einer (abstrakten) Basisklasse erben, welche deine allgemeinen, wiederverwendbaren Methoden enthält. Ob du dann das Interface schon in die Basisklasse packst oder lieber in die instanziierbaren Klassen bleibt dir überlassen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Zugriff auf ein Datenobjekt

Beitrag von ewx (Top Expert / 4786 / 294 / 629 ) »
danke! Das ist eine gute Idee!
Habe in letzter Zeit so oft gehört, dass Vererbung nicht sooo gut ist, dass ich es wohl komplett verdrängt hatte... :D

Re: Zugriff auf ein Datenobjekt

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
Naja, aber das Problem "Suche in lokaler Tabelle" vs. "Suche in Datenbank" wird man damit aber nicht los. Sprich du wirst trotzdem einige Methoden "doppelt" implementieren müssen.
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

Re: Zugriff auf ein Datenobjekt

Beitrag von ewx (Top Expert / 4786 / 294 / 629 ) »
Das ist richtig. Aber die Methoden unterscheiden sich auch deutlich. Die Prüfung, ob ein Land bereits in der Tabelle vorhanden ist oder nicht, sollte immer gleich sein.

Re: Zugriff auf ein Datenobjekt

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
ewx hat geschrieben:
17.08.2021 13:46
Die Prüfung, ob ein Land bereits in der Tabelle vorhanden ist oder nicht, sollte immer gleich sein.
READ TABLE vs. SELECT 🤨
Oder hältst du die Daten für beide Implementierungen in einer internen Tabelle vor?
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

Re: Zugriff auf ein Datenobjekt

Beitrag von ewx (Top Expert / 4786 / 294 / 629 ) »
ja, genau. ich lese erst alle zum Objekt zugehörigen Daten und diese werden dann verändert. das heißt, dem Objekt mit irgendeiner Id sind 3 Länder zugeordnet und in der Anwender kann Zuordnungen zu Ländern ändern. Dieses "Ändern" möchte ich auf jeden Fall testbar halten.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2170
Views
Datenobjekt interne Tabelle in 4.6
von andrea » 06.08.2004 14:50 • Verfasst in ABAP® Core
6
Antw.
9873
Views
Datenobjekt besitzt keine Struktur
von honeyjam » 17.02.2011 17:16 • Verfasst in ABAP® für Anfänger
10
Antw.
6025
Views
Datenobjekt (z. B. Tab. REPOSRC) nicht änderbar
von ABAPeroni » 08.03.2006 11:17 • Verfasst in Basis
4
Antw.
3125
Views
OPEN DATASET - Fehlermeldung :Datenobjekt muss zeichenartig sein
von Armin93 » 02.10.2019 09:51 • Verfasst in ABAP® für Anfänger
3
Antw.
2671
Views
Zugriff auf ein BAPI mit PHP!
von Andy1983 » 21.06.2005 11:25 • Verfasst in Web Application Server

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.