ich habe ein Programm unter Release 4.6c erstellt, bei dem ein Feld immer dynamisch einen Typ zugewiesen bekommt.
Da dieses unter 4.6c nicht zufriedenstellend mit der Anweisung "CREATE DATA" funktioniert habe ich hierfür eine dynamische Subroutine erstellt.
Mein Problem ist bloß, dass pro Datenzeile diese Subroutine neu erstellt wird. Maximal sind aber nur 36 Subroutinen erlaubt.
Kann man irgendwie diese Subroutinen wieder löschen?
das Problem hatte ich auch mal. 36 Subroutinen können in einem Rollbereich gehalten werden, der wiederum je einem internem Modus verwaltet wird.
Ich habe es gelöst, in dem ich die Funktionalität des "Generierens" in einen separaten Report ausgelagert habe, der dann mit SUBMIT ... AND RETURN aufgerufen wird.
Auf diese Weise wird ein neuer interner Modus erzeugt und nach Beendigung des Programms wieder abgebaut.
siehe auch F1-Hilfe zu Submit und von dort -->"Organisation der Datenbereiche und Modularisierungseinheiten"
Ich habe es aber jetzt anders gelöst.
Mit einem Submit hatte ich das auch schon probiert, bloß das Problem dabei war, dass ich eine Referenz auf ein Datenfeld aus meiner Subroutine zurückbekomme. Diese Referenz kann man aber nicht aus einem externen Programm zurückbekommen (auch nicht mit EXPORT).
Ich habe meine Programmlogik nun so weit geändert, dass ich nur 15 Subroutinen brauche.