ich habe einen Klassengenerator geschrieben, der syntaktisch korrekte Klassen generiert. Merkwürdig: Die geerbten und redefinierten Methoden erscheinen "unten" bei den Methoden für die generierte Klasse selbst UND zusätzlich oben beim Verweis auf die Superklasse. Ich habe also dieselbe Methode in blau (weil geerbt) und nochmal in schwarz (weil redefiniert).
Im SE80-Baum dasselbe Bild: Die Methoden scheinen im Node "Geerbte Methoden" als auch weiter unten, wo die Methoden der generierten Klassen stehen. Beide Male als PROTECTED.
Im quelltextbasierten Editor sind die Methoden korrekt mit "redefinition" deklariert (und erscheinen auch kein zweites Mal). In SEOCOMPODF stehen sie auch korrekt als REDEFINITION aufgeführt.
Auszüge posten darf ich hier nicht - aber ich frag einfach mal: Hat sowas schonmal wer beobachtet?
Nicht direkt, aber ich verwende für das Generieren die ZSAPLINK-Klassen.
Mittels XML-Transformation ausgehend von einem Template erzeuge ich mir die Klassen in Form eines Nuggets und lass mir dann dieses über ZSAPLINK ins System einspielen.
Wenn man sich die Interna von ZSAPLINK_CLASS bzw. ZSAPLINK_OO anschaut, sieht man schön, dass hier an einigen Stellen die Parameter für die Funktionsaufrufe explizit gelöscht oder nicht übergeben werden. Möglich, dass du da was herauslesen kannst, was bei dir "falsch" gemacht wird.
P.S.: Was bei mir mit den Nuggets z.B. nicht funktioniert ist folgendes:
Wenn ich das Template so ändere, dass sich ein Alias in der Zielklasse ändert, dann kann eine bestehende Klasse nicht korrekt erneut generiert werden, weil der Alias dann plötzlich doppelt zugeordnet ist. Im Coding von ZSAPLINK hab ich auch keine Möglichkeit gefunden wie man das beheben könnte. Es scheint eine Schwachstelle der SE80 Bausteine zu sein, dass bei einer Änderung einer Klasse die Aliase vor der Anpassung nicht gelöscht werden und somit Aliase doppelt vorkommen können. Vom Nugget aus kann ich ja nur den "Endzustand" der Klasse beschreiben und nicht mitgeben, dass einzelne nicht mehr benötigte Teilobjekte gelöscht werden sollen.
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.