Code: Alles auswählen.
DATA: ref_b TYPE REF TO lcl_b,
b_tab TYPE TABLE OF REF TO lcl_b.
Code: Alles auswählen.
DATA tab_ref_parblock TYPE TABLE OF REF TO lcl_parameterblock.
Tach.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:Und mein Instanzattribut in der SE24 muss dann doch auch vom Typ lcl_parameterblock sein, oder?Code: Alles auswählen.
DATA tab_ref_parblock TYPE TABLE OF REF TO lcl_parameterblock.
Was ist denn falsch?
Code: Alles auswählen.
TYPES tab_ref_parblock TYPE TABLE OF REF TO lcl_parameterblock.
Code: Alles auswählen.
TYPES tab_ref_parblock TYPE STANDARD TABLE OF REF TO lcl_parameterblock WITH DEFAULT KEY.
Lokale Typdefinitionen in der Typisierung der Schnittstelle öffentlicher Methoden? Wer macht denn sowas?a-dead-trousers hat geschrieben:hi!
Ich glaube, da sollte am besten sogar eine "vollständige" Defninition gemacht werden.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 darfCode: Alles auswählen.
TYPES tab_ref_parblock TYPE STANDARD TABLE OF REF TO lcl_parameterblock WITH DEFAULT KEY.
lg ADT
Man muss die Typen schon im Public-Bereich der Klasse definieren. Lokale Typen funktionieren eh nicht.Haubi hat geschrieben:Lokale Typdefinitionen in der Typisierung der Schnittstelle öffentlicher Methoden? Wer macht denn sowas?![]()
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.
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?a-dead-trousers hat geschrieben:Und zum Thema Dictionary bin ich ganz deiner Meinung. Vorfür hat man es denn sonst?
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.ewx hat geschrieben: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?a-dead-trousers hat geschrieben:Und zum Thema Dictionary bin ich ganz deiner Meinung. Vorfür hat man es denn sonst?