Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

KDCTCL - Prozess-Anzahl einer TAC-Klasse ändern

Der Aufruf des Kommandos KDCTCL ist nur sinnvoll, wenn in Ihrer Anwendung die Bearbeitung von Aufträgen mit dem Verfahren „Beschränkung der Prozesszahl für TAC-Klassen“ gesteuert wird, d.h. keine TAC-PRIORITIES-Anweisung generiert ist (siehe openUTM-Handbuch „Anwendungen generieren“).

Mit KDCTCL können Sie:

  • sich über die aktuellen Werte, die für die TAC-Klasse eingestellt sind, informieren. Dazu geben Sie KDCTCL ohne die Operanden TASKS und TASKSFREE an.

  • die Anzahl der Prozesse, die maximal gleichzeitig TACs einer TAC-Klasse bearbeiten dürfen, verändern. Eine Änderung ist nur erlaubt, wenn die KDCDEF-Generierung Ihrer Anwendung keine TAC-PRIORITIES-Anweisung enthält.

    Die Anzahl der Prozesse, die Sie für einzelne TAC-Klassen zulassen können, ist begrenzt durch die maximalen Prozesszahlen, die bei der KDCDEF-Generierung in der MAX-Anweisung festgelegt wurden (Operanden TASKS, ASYNTASKS und TASKS-IN-PGWT).
    Wenn Sie höhere Prozesszahlen eingeben, wird KDCTCL abgewiesen.

    Die nach dem KDCTCL tatsächlich eingestellte Anzahl der Prozesse, die gleichzeitig TACs einer TAC-Klasse bearbeiten, kann kleiner sein als der durch KDCTCL eingestellte Wert. Die tatsächliche Prozesszahl ist abhängig von der aktuellen Anzahl der Prozesse für die gesamte Anwendung (eingestellt über den Startparameter TASKS oder durch die Administration z.B. mit KDCAPPL).

Die maximale Prozessanzahl für eine TAC-Klasse können Sie auf zwei Arten festlegen; entweder geben Sie an, wieviele Prozesse gleichzeitig TACs der TAC-Klasse bearbeiten dürfen (Operand TASKS), oder Sie geben an, wieviele Prozesse von den Prozessen der Anwendung mindestens für die Bearbeitung der TACs anderer TAC-Klassen freigehalten werden sollen (Operand TASKSFREE). Der Unterschied zwischen TASKS und TASKSFREE ist folgender:

  • Bei Verwendung von TASKS ist die maximale Anzahl der Prozesse, die für die angegebene TAC-Klasse zur Verfügung stehen, unabhängig von der Anzahl der Prozesse, die aktuell für das gesamte Anwendungsprogramm zur Verfügung stehen. D.h. die Prozesszahl der TAC-Klasse bleibt konstant, auch wenn die Prozesszahl der gesamten Anwendung herabgesetzt wird. Das gilt solange, bis die Prozesszahl der TAC-Klasse und die Prozesszahl des gesamten Anwendungsprogramms gleich groß sind.

    Durch die Verwendung des Operanden TASKS können (im Extremfall) Prozesse einer TAC-Klasse alle anderen TAC-Klassen behindern.

  • Bei Verwendung von TASKSFREE ist die maximale Anzahl der Prozesse, die für die angegebene TAC-Klasse zur Verfügung stehen, dynamisch von der Anzahl der Prozesse abhängig, die aktuell für das gesamte Anwendungsprogramm zur Verfügung stehen. Für Prozesse anderer TAC-Klassen wird immer die in TASKSFREE angegebene Reserve freigehalten.

    Die maximale Anzahl von Prozessen für eine TAC-Klasse ergibt sich dann wie folgt:

    • Dialog-TAC-Klassen (1- 8): aktuelle Anzahl aller Prozesse, die für Dialog-TACs des gesamten Anwendungsprogramms zur Verfügung stehen (TASKS), abzüglich TASKSFREE, aber mindestens ein Prozess

    • Asynchron-TAC-Klassen (9-16): aktuelle Anzahl aller Prozesse, die für Asynchron-TACs des gesamten Anwendungsprogramms zur Verfügung stehen (TASKS), abzüglich TASKSFREE.


Wirkung in UTM-Cluster-Anwendungen

KDCTCL wirkt in UTM-Cluster-Anwendungen Knoten-lokal.


Wirkungsdauer der Änderung

Die Änderung wirkt nicht über das Anwendungsende hinaus. Die verfügbare Prozess-Anzahl wird immer durch den zuletzt eingegebenen KDCTCL-Aufruf bestimmt.


KDCTCL    CLASS=tacclass

          [ ,{ TASKS=number_tasks | TASKSFREE=number_tasks } ]


Für die Administration über Message Queuing müssen Sie KDCTCLA angeben.

CLASS=tacclass

Nummer der TAC-Klasse, für die die Anzahl der Prozesse geändert werden soll. Für tacclass können Sie eine Zahl zwischen 1 und 16 angeben (1 <= tacclass <= 16).

TASKS=number_tasks

darf nur angegeben werden, wenn für die Anwendung keine Prioritätensteuerung generiert ist, d.h. die Anwendung ohne TAC-PRIORITIES generiert ist.

In TASKS geben Sie an, wieviele Prozesse der Anwendung gleichzeitig TACs der TAC-Klasse tacclass bearbeiten dürfen.
Mit TASKS legen Sie eine absolute Anzahl von Prozessen für eine TAC-Klasse fest.

Minimalwert von number_tasks:
Für Dialog-TACs (Klasse 1-8) muss number_tasks >= 1 sein, da sonst Dialog-Vorgänge blockiert würden und die Benutzer am Terminal warten müssten, bis wieder Prozesse zugelassen werden.

Für Asynchron-TACs (Klasse 9-16) darf number_tasks=0 sein.

Maximalwert von number_tasks:
Der erlaubte Maximalwert für number_tasks ist abhängig von folgenden Faktoren:

  • davon, ob die TAC-Klasse mit PGWT=YES generiert ist oder mit PGWT=NO.
    PGWT=YES bedeutet, dass in der TAC-Klasse Teilprogramme mit blockierenden Aufrufen (z.B. KDCS-Aufruf PGWT) ablaufen können.

  • von den in der KDCDEF-Steueranweisung MAX statisch generierten Werten für TASKS, TASKS-IN-PGWT und ASYNTASKS.

Die erlaubten Wertebereiche für TASKS entnehmen Sie bitte der folgenden Tabelle.


TAC-Klasse

PGWT=

erlaubter Maximalwert

1 - 8 (Dialog-TACs)

NO

TASKS *)

YES

TASKS-IN-PGWT *)

9 - 16 (Asynchron-TACs)

NO

ASYNTASKS *)

YES

der kleinere der Werte:
ASYNTASKS und *)
TASKS-IN-PGWT *)


*) wie in der KDCDEF-Steueranweisung MAX statisch generiert

TASKSFREE=number_tasks

darf nur angegeben werden, wenn für die Anwendung keine Prioritätensteuerung generiert ist, d.h. die Anwendung ohne TAC-PRIORITIES generiert ist.

In TASKSFREE legen Sie fest, wieviele Prozesse der Anwendung für die Verarbeitung anderer TAC-Klassen als der angegebenen freigehalten werden sollen.

Ist number_tasks größer als die Zahl der Prozesse, die aktuell für das gesamte Anwendungsprogramm zur Verfügung stehen, dann passiert Folgendes:

  • ist tacclass eine Dialog-TAC-Klasse, dann steht dieser weiterhin ein Prozess zur Bearbeitung ihrer TACs zur Verfügung

  • ist tacclass eine Asynchron-TAC-Klasse, dann ist die Anzahl der ihr zur Verfügung stehenden Prozesse=0

Minimalwert von number_tasks: 0

Maximalwert von number_tasks:
Der erlaubte Maximalwert für number_tasks ist abhängig von den in der KDCDEF-Steueranweisung MAX statisch generierten Werten für TASKS und ASYNTASKS.

Die erlaubten Wertebereiche für TASKSFREE entnehmen Sie bitte der folgenden Tabelle.


TAC-Klasse

PGWT=

erlaubter Maximalwert

1 - 8 (Dialog-TACs)

NO

TASKS - 1 *)

YES

TASKS - 1 *)

9 - 16 (Asynchron-TACs)

NO

ASYNTASKS *)

YES

ASYNTASKS *)


*) wie in der KDCDEF-Steueranweisung MAX statisch generiert

Ausgabe von KDCTCL

Wenn Sie KDCTCL ohne TASKS bzw. TASKSFREE eingeben, werden Ihnen nur die aktuell eingestellten Werte angezeigt. Ansonsten bekommen Sie für die angegebene TAC-Klasse die neue und alte Prozess-Anzahl ausgegeben. Die Ausgabe erfolgt am Administrator-Terminal.

TACCLASS      TASKS        TASKS-FREE
             NEW    OLD      NEW    OLD
tac-class    number number   number number


Erläuterung zur Ausgabe

TACCLASS     

Nummer der TAC-Klasse

TASKS

absolute Anzahl der Prozesse, die zur Bearbeitung der TACs dieser TAC-Klasse zur Verfügung stehen. Haben Sie KDCTCL ...TASKSFREE= aufgerufen, dann wird für TASKS folgender Wert ausgegeben:
derzeit für die Anwendung eingestellte Prozess-Anzahl - TASKSFREE

TASKS-FREE

Anzahl der Prozesse, die für andere TAC-Klassen freigehalten werden.
Wenn Sie KDCTCL ...TASKS= angegeben haben, steht in der Ausgabe unter TASKS-FREE immer 0, um zu zeigen, dass Sie für diese TAC-Klasse eine absolute Angabe gemacht haben.

Beispiel

Die folgende Tabelle zeigt die Auswirkungen verschiedener Änderungen in den Prozess-Anzahlen:



Dialog-TACs

Asynchrone TACs

Aktion

CURRENT
TASKS

TASKS
FREE

TASKS

CURRENT
TASKS

TASKS
FREE

TASKS

Anfangszustand

4

0

3

3

0

3

Änderung
TASKS-FREE 0 -->2

4

2

2

3

2

1

Änderung
CURRENT TASKS
um 2 verringert

2

2

1

1

2

0


CURRENT-TASKS
ist die maximale Anzahl der Prozesse, die derzeit gleichzeitig für die Anwendung eingesetzt werden können (Dialog-TACs) bzw.
die maximale Anzahl der Prozesse, die gleichzeitig Asynchron-Aufträge bearbeiten dürfen (Asynchron-TACs).

TASKS
bezeichnet die jeweils maximale Anzahl der Prozesse für die angegebene TAC-Klasse.

TASKS-FREE
bezeichnet die Anzahl der Prozesse, die für andere TAC-Klassen freigehalten werden.