Tabelle mit Objektreferenzen über SE24 anlegen

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

Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von ABAP_User (Specialist / 146 / 20 / 0 ) »
Hallo!

Ein Objekt meiner Klasse A kann 0-n Objekte der Klasse B besitzen.
Wenn ich lokal Klassen implementiere, schaut das ja so aus (in meiner Klasse A):

Code: Alles auswählen.

DATA: ref_b TYPE REF TO lcl_b,
          b_tab TYPE TABLE OF REF TO lcl_b.
Wie bekomme ich das über die SE24 hin? Dort gibt es nur 'TYPE', 'TYPE REF TO' und 'LIKE'.


Viele Grüße

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


Re: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Tach.

Definiere einen lokalen Tabellentyp (Button "Lokale Typen") und typisiere dann Dein Instanzattribut auf diesen Typ.

Gruß,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Re: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von newbie007 (ForumUser / 31 / 1 / 0 ) »
Hi Haubi,

ich habe dasselbe Problem. Dabei bekomme ich die Meldung, "In einem 'CLASS-POOL' dürfen auf oberster Ebene nur Klassen und Interfaces definiert werden."
Mein lokaler Tabellentyp sieht so aus:

Code: Alles auswählen.

DATA tab_ref_parblock TYPE TABLE OF REF TO lcl_parameterblock.
Und mein Instanzattribut in der SE24 muss dann doch auch vom Typ lcl_parameterblock sein, oder?

Was ist denn falsch?

Re: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
newbie007 hat geschrieben:Hi Haubi,

ich habe dasselbe Problem. Dabei bekomme ich die Meldung, "In einem 'CLASS-POOL' dürfen auf oberster Ebene nur Klassen und Interfaces definiert werden."
Mein lokaler Tabellentyp sieht so aus:

Code: Alles auswählen.

DATA tab_ref_parblock TYPE TABLE OF REF TO lcl_parameterblock.
Und mein Instanzattribut in der SE24 muss dann doch auch vom Typ lcl_parameterblock sein, oder?

Was ist denn falsch?
Tach.

Wenn ich Dich richtig verstehe hast Du Dein Coding unter "Lokale Typen" eingefügt. Allerdings definierst Du ein Datenobjekt, keinen Typ. Deine Deklaration sollte so aussehen:

Code: Alles auswählen.

TYPES tab_ref_parblock TYPE TABLE OF REF TO lcl_parameterblock.
Dann klappt's auch mit dem Nachbarn... ;)

Gruß,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Re: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
hi!

Ich glaube, da sollte am besten sogar eine "vollständige" Defninition gemacht werden.

Code: Alles auswählen.

TYPES tab_ref_parblock TYPE STANDARD TABLE OF REF TO lcl_parameterblock WITH DEFAULT KEY.
Denn sonst erhällt man, wenn man diesen Typ später mal in einer PUBLIC-Methode als RETURN-Paramter verwenden möchte die Fehlermeldung, dass es sich um einen generischen Datentyp handelt und dieser nicht verwendet werden darf 8)

lg ADT
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: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
a-dead-trousers hat geschrieben:hi!

Ich glaube, da sollte am besten sogar eine "vollständige" Defninition gemacht werden.

Code: Alles auswählen.

TYPES tab_ref_parblock TYPE STANDARD TABLE OF REF TO lcl_parameterblock WITH DEFAULT KEY.
Denn sonst erhällt man, wenn man diesen Typ später mal in einer PUBLIC-Methode als RETURN-Paramter verwenden möchte die Fehlermeldung, dass es sich um einen generischen Datentyp handelt und dieser nicht verwendet werden darf 8)

lg ADT
Lokale Typdefinitionen in der Typisierung der Schnittstelle öffentlicher Methoden? Wer macht denn sowas? :o

Für private Member lasse ich das noch durchgehen, aber wenn's öffentlich wird sollte man IMHO das Dictionary bemühen, dafür isses da.

Gruß,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Re: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
Haubi hat geschrieben:Lokale Typdefinitionen in der Typisierung der Schnittstelle öffentlicher Methoden? Wer macht denn sowas? :o

Für private Member lasse ich das noch durchgehen, aber wenn's öffentlich wird sollte man IMHO das Dictionary bemühen, dafür isses da.
Man muss die Typen schon im Public-Bereich der Klasse definieren. Lokale Typen funktionieren eh nicht. :P
Ich wollte eigentlich nur anmerken, dass man nach Möglichkeit (vor Allem wenn man OO einsetzt) darauf achten sollte, keine generischen Typen zu verwenden.
Und zum Thema Dictionary bin ich ganz deiner Meinung. Vorfür hat man es denn sonst?

lg ADT
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: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von ewx (Top Expert / 4887 / 319 / 644 ) »
a-dead-trousers hat geschrieben:Und zum Thema Dictionary bin ich ganz deiner Meinung. Vorfür hat man es denn sonst?
naja, in einem Programm definiere ich ja auch nicht jedesmal ein Dictionary-Objekt, nur weil es das, was ich brauche, dort nicht gibt, sondern definiere es lokal im Programm. Das sollte bei Klassen auch legitim sein, oder nicht?

Re: Tabelle mit Objektreferenzen über SE24 anlegen

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
ewx hat geschrieben:
a-dead-trousers hat geschrieben:Und zum Thema Dictionary bin ich ganz deiner Meinung. Vorfür hat man es denn sonst?
naja, in einem Programm definiere ich ja auch nicht jedesmal ein Dictionary-Objekt, nur weil es das, was ich brauche, dort nicht gibt, sondern definiere es lokal im Programm. Das sollte bei Klassen auch legitim sein, oder nicht?
Ja, aber eben nur, wenn ich den Typ nicht andernorts benötige. Public Member einer Klasse sind ja gerade die Schnittstelle zu den "Verbrauchern" der Klasse. Dementsprechend setze ich auf DDIC-Typen auf. Wenn ich in der Klasse eine Puffertabelle o.ä. brauche die nach außen hin nicht sichtbar ist mache ich das natürlich mit einem lokalen Typ.

Um bei Deinem Beispiel zu bleiben:
Wenn Du zusätzlich zu Deinem Programm noch Funktionsbausteine brauchst, die Dir einen Teil der Datenbeschaffung abnehmen oder Berechnungen machen sollen musst Du ja auch auf ordentliche Typisierung achten. Du kannst natürlich einen programmlokalen Typ anlegen und Deinen Funktionsbausteinparameter generisch typisieren, klingt für mich aber eher unorthodox... :wink: :P

Grüße,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2853
Views
interne tabelle mit objektreferenzen exportieren
von rambozola » 29.11.2006 11:55 • Verfasst in ABAP Objects®
8
Antw.
6251
Views
[gelöst] READ auf interne Tabelle mit Objektreferenzen
von ewx » 15.11.2012 14:13 • Verfasst in ABAP Objects®
4
Antw.
3505
Views
Clickhandler im SE24
von Abapanfänger » 13.11.2017 14:32 • Verfasst in ABAP Objects®
0
Antw.
985
Views
SE24 stürzt reproduzierbar ab
von ralf.wenzel » 08.12.2016 13:16 • Verfasst in ABAP® Core
8
Antw.
3975
Views
SE24/SE80: Sortierung vorbelegen
von ralf.wenzel » 14.02.2018 09:35 • Verfasst in ABAP Objects®

Aktuelle Forenbeiträge

IBAN und BUT0BK
vor 3 Tagen von waltersen gelöst 10 / 11509
SAPGui 8.00 32 Bit vs 64 Bit
vor 5 Tagen von DeathAndPain 3 / 4470
Programm per Fremdtransport einspielen
vor 5 Tagen von IHe 3 / 3785
Splitter-AlV erscheint nicht
vor 5 Tagen von qyurryus 2 / 3777

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

IBAN und BUT0BK
vor 3 Tagen von waltersen gelöst 10 / 11509
SAPGui 8.00 32 Bit vs 64 Bit
vor 5 Tagen von DeathAndPain 3 / 4470
Programm per Fremdtransport einspielen
vor 5 Tagen von IHe 3 / 3785
Splitter-AlV erscheint nicht
vor 5 Tagen von qyurryus 2 / 3777