Kann mir jemand helden?? Habe ein kleines Problem mit einer dynamischen Routinensammlung. Es wird ein Program aus 5 bis zehn Routinen erzeugt.
Alle mit dem Kopf:
FORM n CHANGING object TYPE REF TO super1.
...
ENDFORM.
Bei dem Aufruf wird ein gecastetes Objekt (o2)
DATA : o1 TYPE REF TO sub_cls_1,
o2 TYPE REF TO super1.
o2 ?= o1.
an den perform-Aufruf gegeben :
PERFORM (form) IN PROGRAM (prog)
CHANGING
o2 IF FOUND.
Alles kompiliert sauber aber stürtzt bei aufruf des Perform ab .. ich nicht die geringste
Idee wo das probelm sein könnte..
Die Dumpanalyse verweist auf einen Typkonflikt, den ich leider nicht nachvollziehen kann.
Auszug :
" Der Aufruf der FORM "n" ist nicht korrekt:
Der Aktualparameter Nr. 1 hat beim PERFORM nicht den Typ, der von
der FORM "n" im Programm "%_T002W0" verlangt wird."
Weder die Definitionen :
TYPE REF TO super1.
TYPE REF TO sub_cls_1.
noch
TYPE REF TO OBJECT.
funktionieren.