Klasse soll Typdefinition von anderer Klasse nutzen

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

Klasse soll Typdefinition von anderer Klasse nutzen

Beitrag von debianfan (ForumUser / 84 / 64 / 0 ) »
Hallo,

ich habe eine methode in einer Klasse1, in welcher eine andere Klasse2 aufgerufen wird.

In der Klasse 2 habe ich eigene Typen definiert - mt_type.

Wenn ich jetzt das Ergebnis aus dem Klassenaufruf von Klasse 2 mit exporting zurückgebe, muss ich ja eine interne Tabelle anlegen um die Daten in Empfang zu nehmen.

data: lt_ergebnis type mt_type

--> geht ja nicht weil mt_type nur in der einen Klasse definiert ist.

Wie erreiche ich, dass ich die public-Typen von anderen Klassen auch nutzen kann?

Wie sähe dann die definition von lt_ergebnis aus?

gruß & danke für Tipps :-)
Ich weiß viel - aber nicht alles - deswegen lerne ich gern dazu & bin für Hinweise von erfahrenen ITlern immer dankbar.

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


Re: Klasse soll Typdefinition von anderer Klasse nutzen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »

Code: Alles auswählen.

data: lt_ergebnis type klasse2=>mt_type.

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

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: Klasse soll Typdefinition von anderer Klasse nutzen

Beitrag von debianfan (ForumUser / 84 / 64 / 0 ) »
Danke :-)

Kann ich das dann auch als Typdefinition in einer Import-Export-Schnittstelle einer Methode nutzen - oder bei der Typdefinition einer Klasse?
Ich weiß viel - aber nicht alles - deswegen lerne ich gern dazu & bin für Hinweise von erfahrenen ITlern immer dankbar.

Re: Klasse soll Typdefinition von anderer Klasse nutzen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Das funktioniert auch in Schnittstellen. Einzige Vorraussetzung ist, dass der Typ entweder PUBLIC ist oder die beteiligten Klassen eine Friends-Beziehung haben.
Bei abgeleiteten Klassen geht auch PROTECTED sofern die Methode in der Ableitung nicht PUBLIC ist.

lg ADT.

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

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: Klasse soll Typdefinition von anderer Klasse nutzen

Beitrag von gtoXX (Specialist / 185 / 34 / 31 ) »
debianfan hat geschrieben:Hallo,

ich habe eine methode in einer Klasse1, in welcher eine andere Klasse2 aufgerufen wird.

In der Klasse 2 habe ich eigene Typen definiert - mt_type.

Wenn ich jetzt das Ergebnis aus dem Klassenaufruf von Klasse 2 mit exporting zurückgebe, muss ich ja eine interne Tabelle anlegen um die Daten in Empfang zu nehmen.

data: lt_ergebnis type mt_type

--> geht ja nicht weil mt_type nur in der einen Klasse definiert ist.

Wie erreiche ich, dass ich die public-Typen von anderen Klassen auch nutzen kann?

Wie sähe dann die definition von lt_ergebnis aus?

gruß & danke für Tipps :-)

Auch wenn ADT Dir hier einen Weg gezeigt hast ist, das designtechnisch schlecht. Leg den TYP global im DDIC an. Wenn Klasse 2 mal gelöscht wird genenierierst Du unnötige Anpassungsarbeit.

Folgende Benutzer bedankten sich beim Autor gtoXX für den Beitrag:
debianfan

"Code lügt nicht ^^"

Re: Klasse soll Typdefinition von anderer Klasse nutzen

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Das sehe ich nicht so. Gerade in der Designphase eines Progamms ist es sehr viel einfacher/schneller die Typdefinition in der Klasse selber abzulegen oder zu ändern. Und ob man jeden Typ tatsächlich im DDIC ablegen soll ist eh Geschmackssache. Zumal die Typdefiniton in der Klasse den Vorteil hat, dass sowohl Klassenname als auch Typname in den vollständigen Typbezeichner eingehen bei Aufruf von außen, so dass hier viel detailliertere Namen verwendet werden können.
Somit mein Vorschlag: Mach dir Gedanken darüber ob du Typen lieber in einer Klasse oder im DDIC ablegst. Wenn du zumindest darüber nachgedachgt hast und du am Ende zu dem Schluss kommst, dass weder das Eine noch das Andere Vorteile in deinen Augen hat, ist es doch egal was du machst.

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3116
Views
Assistance Klasse in WD nutzen
von Thanatos82 » 17.01.2013 15:41 • Verfasst in ABAP® für Anfänger
1
Antw.
2012
Views
Lokale Klasse autom. in globale Klasse ändern
von JohnLocklay » 09.01.2019 09:10 • Verfasst in ABAP Objects®
18
Antw.
13574
Views
Klasse: CL_ABAP_GZIP
von Gast » 25.10.2004 11:54 • Verfasst in Web-Dynpro, BSP + BHTML
2
Antw.
2701
Views
ALV mit Klasse / Gestaltungsmöglichkeiten
von Arkhan » 29.04.2005 08:44 • Verfasst in ABAP Objects®
1
Antw.
1435
Views
Globale Klasse
von Malaqi » 06.02.2009 20:50 • Verfasst in ABAP® für Anfänger

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.

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