hi!
Okay ist zwar schon ein wenig Zeit vergangen, aber trotzdem noch eine kurze Erläuterung zu meiner Erklärung:
Als CONTROL meine ich alles was von CL_GUI_CONTROL abgeleitet wurde.
Das CUSTOM CONTROL am Dynpro ist eigentlich nur ein reservierter Platz für die Ausgabe und hat selbst kaum Funktionalitäten.
Als CONTAINER meine ich alles was von CL_GUI_CONTAINER abgeleitet wurde.
Bei einem CUSTOM CONTAINER beziehe ich mich auf die Klasse CL_GUI_CUSTOM_CONTAINER.
So, der LINK den ich erwähnt hab wird eben erst durch den Parameter NO_AUTODEF_PROGID_DYNNR ausgelöst.
Der CL_GUI_CUSTOM_CONTAINER hängt sich eigentlich immer(!) auf das im Parameter NAME angegebene CUSTOM CONTROL (auch bei leer) und generiert trotzdem als Backup sozusagen für sich selbst eine REPID und ein DYNNR. Wozu kann ich leider nicht sagen, da diese Werte intern so gut wie nie verarbeitet werden. Erst bei NO_AUTODEF_PROGID_DYNNR wird dieser Schritt übersprungen und es wird die LINK-Methode ohne NAME aber dafür mit REPID und DYNNR aufgerufen. Ein CONTROL kann auch ohne Anzeigebereich (CUSTOM CONTROL) und ohne Dynpro-LINK exisiteren, was auch meistens der Fall ist, wenn man es nicht sieht
![Razz :P](./images/smilies/icon_razz.gif)
. Dann gibts das in NAME übergebene CUSTOM CONTROL einfach nicht, oder der LINK hat das passende Dynpro nicht gefunden.
Ich würde immer raten, wenn man ohne CUSTOM CONTROL und damit auch ohne spezielles Dynpro arbeiten möchte, trotzdem die Klasse CL_GUI_CUSTOM_CONTAINER als Ausgangsklasse zu verwenden und in dieser dann die anderen CONTAINER und CONTROLs zu platzieren. Dann tut man sich auch leichter wenn man später mal doch (weils einfach besser funktioniert
![lachend :)](./images/smilies/icon_smile.gif)
) auf ein eigenes Dynpro mit CUSTOM CONTROL umsteigt.
hoffe das war jetzt etwas besser erklärt
![Twisted Evil :twisted:](./images/smilies/icon_twisted.gif)
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