Den Befehlsteil eines C/C++-Teilprogramms können Sie frei gestalten. Nur wenige Regeln der Transaktionsverarbeitung, wie sie in Kapitel „Aufbau und Einsatz von UTM-Programmen" ausführlich beschrieben sind, müssen Sie beachten:
Die Teilprogramme sind Unterprogramme der UTM-Main Routine KDCROOT.
Die Teilprogramme müssen reentrant-fähig sein.
Dialog-Teilprogramme müssen den strengen Dialog einhalten.
Mit KDCROOT bezeichnet man die UTM-Main Routine. Das Quellprogramm für KDCROOT wird mit dem Generierungstool KDCDEF erzeugt, siehe openUTM-Handbuch „Anwendungen generieren“.
Für Event-Exits gelten besondere Regeln, die in Abschnitt „Event-Exits" beschrieben werden.
Lokale Klassen in C++-Teilprogrammen
Wird in einem C++-Teilprogramm eine lokale Klasse deklariert, kann der Destruktor zu dieser Klasse nur ablaufen, wenn sich die Klasse in einem Block befindet, dessen Blockende "}" vor dem PEND-Aufruf ist. Diese Einschränkung gilt nicht unter Linux-Systemen.
Empfehlung: Für lokale Klassen sollten Sie einen eigenen "inneren" Block verwenden.
//extract of cpphello.C in sample Application extern "C" void cpphello (struct kc_ca *kb, struct work *spab) { { Demo Autoclass('A'); // further code using Autoclass } // reached after destructure call for Autoclass : : /* PEND-FI - Call */ KDCS_PENDFI(); }
KDCS-Aufrufe in C/C++Teilprogrammen
Für den Aufruf von UTM-Funktionen bietet Ihnen KDCS die Nutzung der C/C++-Makroschnittstelle, die eine komfortable Versorgung der Parameter ermöglicht (siehe "C/C++-Makroschnittstelle").