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").