Erst mal vielen Dank für die ausführliche Antwort. Es kann durchaus sein, dass wir einige Dinge nicht verstanden haben. Wir sind deshalb für jede Hilfe dankbar. Die Tatsache, dass wir jedes Serviceprogramm in einem eigenen Source und mit nur einer exportierten Procedure erstellen, liegt daran, dass Serviceprogramme unseres Wissens nach ihre Signatur ändern, wenn man z.B. eine weitere Procedure exportiert. Das würde bedeuten, dass wir alle Programme, die irgendeine der exportieren Procedures benutzen, neu kompilieren müssten, wenn wir dem Serviceprogramm eine neue Procedure hinzufügen.

Die Sache mit den Binden haben wir wahrscheinlich wirklich nicht gut verstanden. Wir wollen nicht pro Programm ein eigenes Compileprogramm erstellen und binden deshalb beim Compile-Process alles ein, was wir haben (nämlich unser zentrales Binderverzeichnis). Der Compiler kann dann ja alle Referenzen auflösen. Was er nicht braucht, lässt er weg.

Wir haben zur Zeit keine praktikable bessere Idee. Die schon mehrfach im Forum genannte Idee, alle Wandlungsoptionen als Kommentar im Source zu verdrahten und vor der Kompilierung zu interpretieren, gefällt mir grundsätzlich ganz gut, lässt sich aber nachträglich in vielen tausend Sourcen bei uns schlecht einbauen.