Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

PROGRAM - Teilprogramme definieren

Mit der PROGRAM-Anweisung werden die Namen und Eigenschaften der Teilprogramme vereinbart.
Soll im KDCDEF-Lauf eine ROOT-Tabellen-Source erzeugt werden (Anweisung OPTION mit GEN=ROOTSRC oder GEN=ALL), dann müssen Sie mindestens eine PROGRAM-Anweisung angeben.

UTM-Teilprogramme auf BS2000-Systemen generieren

PROGRAM

objectname
, COMP={ ASSEMB    |
         C         | 
         COB1      |
         FOR1      |
         PASCAL-XT |
         PLI1      |
         SPL4      |
         ILCS }
[ ,LOAD-MODULE=lmodname ]

objectname

bezeichnet den Einsprungpunkt für ein Teilprogramm (CSECT- oder ENTRY-Name). objectname darf maximal 32 Zeichen lang sein.

Details zu den erlaubten Zeichen siehe Abschnitt "Format der Namen".

COMP=

bezeichnet das Laufzeitsystem, das für das Teilprogramm verwendet werden soll.

Pflichtoperand

Für alle Teilprogramme, die ILCS (Inter Language Communication Services) unterstützen, müssen Sie COMP=ILCS angeben (z.B. Teilprogramme  in COBOL85, FORTRAN90, C etc.).
Ob ein Teilprogramm ILCS unterstützt, hängt ab von der beim Übersetzen eingesetzten Compilerversion und von der Version des Laufzeitsystems, unter der das Teilprogramm abläuft.

Weitere Hinweise zur Wahl des Parameters COMP finden Sie im Anhang vom openUTM-Handbuch „Einsatz von UTM-Anwendungen auf BS2000-Systemen“. Diese sollten Sie insbesondere dann beachten, wenn Ihre Programme mit älteren Compiler-Versionen übersetzt wurden!

COMP=C ist synonym für COMP=ILCS
Das Administrationsprogramm KDCADM muss mit COMP=ILCS generiert werden und mit einer TAC-Anweisung muss zumindest der Transaktionscode KDCSHUT zugeordnet werden.

LOAD-MODULE=

lmodname

LOAD-MODULE bezeichnet den Namen des Lademoduls, in dem das Teilprogramm gebunden wurde. Das Lademodul muss mit einer Steueranweisung LOAD-MODULE definiert werden. lmodname kann max. 32 Zeichen lang sein.
Für die Namensvergabe gelten die gleichen Regeln wie für Elementnamen einer Programm-Bibliothek (siehe auch Abschnitt "Format der Namen").

Wenn Sie den Operanden LOAD-MODULE verwenden, müssen Sie Folgendes beachten:

  • Das Administrationsprogramm KDCADM darf keinem Lademodul zugeordnet werden, das mit LOAD-MODE=ONCALL in der LOAD- MODULE-Anweisung generiert ist.

 

UTM-Teilprogramme auf Unix-, Linux- und Windows-Systemen generieren

PROGRAM

 objectname 
 [ ,COMP={ C | COB2 | CPP | MFCOBOL | NETCOBOL } ]
 [ ,SHARED-OBJECT=shared_object_name ]

objectname

Name des Einsprungpunktes des Teilprogramms. Der Name darf max. 32 Zeichen lang sein. Details zu den erlaubten Zeichen finden Sie in Abschnitt "Format der Namen".

COMP=

bezeichnet den Compiler, mit dem das Teilprogramm übersetzt wurde.

    C

C-Compiler

Standard: C

    CPP

C++-Compiler

    COB2

COBOL-Compiler (Server Express / NetExpress / Visual COBOL)
Es wird ein COBOL-Programm generiert, das mit einem Cobol-Compiler von Micro Focus übersetzt wurde.
Verwenden Sie nur Ziffern und Großbuchstaben für die PROGRAM-ID und die Einsprungpunkte (objectname). Das entspricht den IBM-Konventionen und garantiert die Portabilität der Programme.

    MFCOBOL

COBOL-Compiler (Server Express / NetExpress / Visual COBOL), wirkt wie COB2, d.h. es wird ein COBOL-Programm generiert, das mit einem Cobol-Compiler von Micro Focus übersetzt wurde.

    NETCOBOL 

NetCOBOL-Compiler von Fujitsu.

Dieser Parameterwert wird nur auf Unix- und Linux-Systemen unterstützt.

Es wird ein COBOL-Programm generiert, das mit dem NetCOBOL- Compiler von Fujitsu übersetzt wurde.

ACHTUNG!
In einer UTM-Anwendung dürfen nicht gleichzeitig Programme mit MFCOBOL/COB2 und NETCOBOL generiert werden!

SHARED-OBJECT=

shared_object_name

(Programmaustausch mit Hilfe des dynamischen Binders)
Der Operand muss nur angegeben werden, wenn das Teilprogramm nachgeladen werden soll. shared_object_name ist der Name des Shared Objects (Unix- oder Linux-System) bzw. der DLL (Windows-System), in das das Teilprogramm eingebunden wurde. Dieses Shared Object/DLL muss mit einer SHARED-OBJECT-Anweisung definiert sein.