Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

kc_program_str - Teilprogramme und VORGANG-Exits

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

char pr_name[32];

char compiler;

char load_module[32];

char load_mode;

char poolname[50]; (nur auf BS2000-Systemen)

char lib[54];

char deleted;

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)
Das Teilprogramm bzw. Lademodul/Shared Object/DLL wird beim Start der Anwendung als eigenständige Einheit nachgeladen.

'O'

(ONCALL)
Das Lademodul bzw. Shared Object/DLL wird als eigenständige Einheit nachgeladen, wenn eines seiner Teilprogramme oder VORGANG-Exits erstmalig aufgerufen wird.


Bei Lademodulen einer UTM-Anwendung unter einem BS2000-System können in load_mode zusätzlich folgende Werte zurückgeliefert werden:


'S'

(STATIC)
Das Teilprogramm bzw. das Lademodul ist statisch in das Anwendungsprogramm eingebunden.

'P'

(POOL)
Das Teilprogramm bzw. das Lademodul wird beim Start der Anwendung in einen Common Memory Pool (siehe poolname) geladen. Das Lademodul besteht nur aus einer public Slice (keine private Slice).

'T'

(POOL/STARTUP)
Die public Slice des Lademoduls wird beim Start der Anwendung in einen Common Memory Pool (siehe poolname) geladen. Die zu dem Lademodul gehörige private Slice wird anschließend in den prozesslokalen Speicher geladen (private Slice mit Lademodus STARTUP).

'C'

(POOL/ONCALL)
Die public Slice des Lademoduls wird beim Start der Anwendung in einen Common Memory Pool (siehe poolname) geladen. Die zu dem Lademodul gehörige private Slice wird in den prozesslokalen Speicher geladen, sobald ein Teilprogramm aufgerufen wird, das diesem Lademodul zugeordnet ist (private Slice mit Lademodus 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.