Für den Objekttyp KC_PROGRAM ist die Datenstruktur kc_program_str definiert. Bei KC_GET_OBJECT liefert UTM in kc_program_str Informationen über die Teilprogramme und VORGANG-Exits der UTM-Anwendung zurück.
Teilprogramme können dynamisch mit KC_CREATE_OBJECT erzeugt und mit KC_DELETE_OBJECT gelöscht werden.
| Datenstruktur kc_program_str | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
Die Felder der Datenstruktur haben die folgende Bedeutung:
pr_name
enthält den Namen des Teilprogramms.
In UTM-Anwendungen auf BS2000-Systemen liefert UTM den ENTRY- bzw. CSECT-Namen des Teilprogramms zurück.
compiler
gibt an, mit welches Laufzeitsystem bzw. welcher Compiler dem Teilprogramm in der Generierung zugeordnet wurde. Die Werte, die UTM zurückliefert, sind abhängig von der Betriebssystem-Plattform, auf der das Teilprogramm abläuft.
In UTM-Anwendungen auf BS2000-Systemen wird für alle Teilprogramme, die ILCS unterstützen, compiler='I' zurückgeliefert.
In UTM-Anwendungen auf BS2000-Systemen sind folgende Werte möglich:
| 'I' 'A' 'C' '1' 'F' 'X' 'P' 'S' | für ILCS (Inter Language Communication Services) für den Assembler-Compiler ASSEMB für den C-Compiler (nur beim KC_CREATE_OBJECT-Aufruf) für den COBOL-Compiler COB1 für den Fortran-Compiler FOR1 für PASCAL-XT für PLI1 für SPL4 | 
In einer UTM-Anwendung auf Unix-, Linux- und Windows-Systemen sind folgende Werte möglich:
| 'C' '2' '3' '+' | für den C-Compiler für den COBOL-Compiler von Micro Focus für den NetCOBOL-Compiler von Fujitsu für den C++-Compiler | 
load_module
enthält den Namen des Lademoduls (BS2000-Systeme) bzw. des Shared Objects/DLLs (Unix-, Linux- und Windows-Systeme), in dem das Teilprogramm eingebunden ist.
Ist das Teilprogramm keinem Lademodul bzw. Shared Object/DLL zugeordnet, dann liefert UTM Leerzeichen zurück.
load_mode
enthält den Lademodus des Teilprogramms bzw. des Lademoduls/Shared Objects/DLL, in dem das Teilprogramm gebunden ist. Der Lademodus gibt an, wann und wohin das Teilprogramm bzw. das Lademodul/Shared Object/DLL geladen wird.
| 'U' | (STARTUP)  | 
| 'O' | (ONCALL) | 
Bei Lademodulen einer UTM-Anwendung unter einem BS2000-System können in load_mode zusätzlich folgende Werte zurückgeliefert werden:
| 'S' | (STATIC) | 
| 'P' | (POOL)  | 
| 'T' | (POOL/STARTUP) | 
| 'C' | (POOL/ONCALL) | 
poolname (nur auf BS2000-Systemen)
Bei load_mode='P', 'T' oder 'C' enthält lpoolname den Namen des Common Memory Pools zurück, in den das Teilprogramm bzw. die public Slice seines Lademoduls beim Start der Anwendung geladen wird.
Bei load_mode!= 'P', 'T' oder 'C' ist poolname mit Leerzeichen versorgt.
lib
lib enthält Folgendes:
- in UTM-Anwendung unter einem BS2000-System, die ohne Lademodule 
 generiert ist, die Objektmodulbibliothek, aus der das Teilprogramm nachgeladen
 oder gebunden wird.
- in einer UTM-Anwendung unter einem BS2000-System, die mit Lademodulen 
 generiert ist, die Programm-Bibliothek, aus der das Lademodul nachgeladen
 wird.
- in einer UTM-Anwendung auf Unix-, Linux- und Windows-Systemen, die mit 
 Shared Objects generiert ist, das Dateiverzeichnis (directory), in dem das
 Shared Object/DLL abgelegt ist.
 
 
 
 
deleted
gibt bei KC_GET_OBJECT an, ob das Teilprogramm durch die dynamische Administration aus der Konfiguration gelöscht wurde oder nicht.
| 'Y' | Das Teilprogramm wurde gelöscht. Der Name ist gesperrt. Es kann kein neues Teilprogramm mit diesem Namen eingetragen werden. | 
| 'N' | Das Teilprogramm wurde nicht aus der Konfiguration gelöscht. |