Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Compiler-Versionen, Laufzeitsysteme, KDCDEF-Optionen

In diesem Abschnitt finden Sie Informationen dazu, welche Versionen der Compiler und Laufzeitsysteme der einzelnen Programmiersprachen Sie zum Erzeugen vom UTM-Teilprogrammen einsetzen können. Für jede Programmiersprache, die openUTM unterstützt, sind in einer Tabelle folgende Sachverhalte aufgelistet:

  • Versionen des Compilers, die Sie benutzen können, um die Objekte (OM oder LLM) eines UTM-Teilprogramms zu erzeugen

  • Versionen des Laufzeitsystems, die für diese Teilprogramme geeignet sind

  • Werte für den Operanden COMP der Steueranweisung PROGRAM, die Sie bei der KDCDEF-Generierung angeben müssen, um diese Teilprogramme in die Anwendungskonfiguration aufzunehmen

Den Tabellen können Sie insbesondere entnehmen, welche Kombinationen von Compiler-Version, Version des Laufzeitsystems und COMP-Wert erlaubt sind.

Weitere Informationen über zulässige Compiler- und Laufzeitsystem-Versionen finden Sie auch im Handbuch zu CRTE und in den Unterlagen zu den Compilern (Freigabemitteilung, Handbücher).

Beachten Sie, dass im Folgenden auch Compiler-Versionen aufgeführt sind, für die die Wartung bereits eingestellt ist. Der Grund dafür ist, dass in einigen Kunden-Anwendungen ältere Programme als Objekte vorhanden sind und weiterhin benützt werden sollen.

Für alle Weiter- und Neuentwicklungen sollten Sie grundsätzlich die Compiler- und Laufzeitsystem-Versionen einsetzen, die noch gewartet werden! Andernfalls haben Sie bei Problemen keinen Anspruch auf Gewährleistung oder Korrekturen.

Generell sind die Hinweise und Einschränkungen in den Freigabemitteilungen und Handbüchern der Compiler zu beachten.

openUTM V7.0 setzt eine bestimmte CRTE-Version voraus. Details finden Sie in der Freigabemitteilung.

Sprachmix in einer Anwendung

Sprachmix bedeutet, dass eine UTM-Anwendung aus Teilprogrammen zusammengesetzt werden darf, die mit den Compilern unterschiedlicher Sprachen erzeugt wurden und die im Ablauf entsprechend unterschiedliche Laufzeitsysteme benutzen. Dabei ist jedoch Folgendes zu beachten:

Eine UTM-Anwendung darf für jede Programmiersprache, die von openUTM unterstützt wird und mit PROGRAM ... COMP ungleich ILCS generiert werden muss, nur ein Laufzeitsystem enthalten.

Sprachmix innerhalb eines Teilprogramms

openUTM erlaubt einen Sprachmix auch innerhalb eines einzelnen Teilprogramms, d.h. Teilprogramme können aus mehreren Quellcodes zusammengesetzt sein, die in unterschiedlichen Programmiersprachen geschrieben sind. Voraussetzung dafür ist, dass die Programmteile sich nach den gleichen Verknüpfungskonventionen aufrufen. Dabei ist anzustreben, dass sich die Programmteile nach den ILCS-Konventionen aufrufen, siehe CRTE-Handbuch. Insbesondere müssen die Datendarstellungen bei der Übergabe von Parametern und beim Zugriff auf gemeinsame Datenstrukturen identisch sein.

ACHTUNG!

Die Hinweise in Abschnitt „Hinweise für Anwendungen mit ILCS-Teilprogrammen" sind unbedingt einzuhalten.

Beim Aufruf von Assembler-Unterprogrammen sind folgende Fälle zu unterscheiden:

  • Sowohl das aufrufende Programm als auch das gerufene Unterprogramm sind ILCS-Programme. In diesem Fall sind keine Einschränkungen zu beachten.

    Es ist möglich, Assembler-ILCS-Programme mit Z-Makros zu programmieren. Siehe dazu openUTM-Handbuch „Anwendungen programmieren mit KDCS für Assembler“.

  • Aufrufendes und gerufenes Programm sind keine ILCS-Programme, halten aber die gleichen Verknüpfungskonventionen ein. Wie diese Veknüpfungskonventionen aussehen, ist in den Benutzerhandbüchern der jeweiligen Programmiersprache beschrieben.

Durch unbeabsichtigte Sprachübergänge bei den folgenden Konstruktionen können Fehler in der Sprachverknüpfung oder Adressfehler auftreten:

  • Aufruf von C-Funktionen

  • Aufruf von Assembler-Funktionen mit @-Makros

  • Aufruf von Fremdsoftware

  • Aufruf von Datenbanken

  • Aufruf von Formatierungssystemen