Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Asynchrone Ausführung

&pagelevel(3)&pagelevel

Im BS2000 können die meisten Funktionen ab der Version 1.1 nicht nur synchron, sondern auch asynchron ausgeführt werden. Möglich ist dies über die BS2000-spezifischen Schnittstellen.

Synchrone Ausführung

Bei der synchronen Ausführung erhält das Programm die Steuerung erst zurück, wenn die Funktion ausgeführt ist. Dabei kann es, z. B. bei der Generierung von Schlüsseln, zu Wartezeiten kommen. Der Vorteil der synchronen Ausführung ist die einfache
Handhabung.

Asynchrone Ausführung

Bei der asynchronen Ausführung erhält das Programm die Steuerung zurück, bevor die Funktion vollständig ausgeführt ist. Das Programm kann so Wartezeiten ausnutzen.

Für eine asynchrone Ausführung gehen Sie folgendermaßen vor:

  1. Definieren Sie mit dem Aufruf ENAEI ein Ereigniskennzeichen.

  2. Wenn beim Eintreten eines Ereignisses eine Unterbrechungsroutine gestartet werden soll, definieren Sie diese Routine mit dem Aufruf ENACO.

  3. Legen Sie mit dem Aufruf CGENRAL ACTION=*INITIALIZE, EXEC=*ASYNCHRON fest, dass die Task asynchron mit CRYPT arbeitet.

  4. Geben Sie das Ereigniskennzeichen bei CRYPT-Makroaufrufen mit dem Operanden BOID=... an.

    Geben Sie darüber hinaus einen Postcode-Bereich (RPOSTAD=, RPOSTL=) an.

    CRYPT verwendet den Postcode1, der folgendermaßen aufgebaut ist:

    ETC

    SC1

    MC2

    MC1

    ETC

    Event Code Type, lautet für CRYPT ’23’
    Der Makroaufruf CPKC11T enthält hierfür einen symbolischen Wert.

    SC1

    Subcode1; entspricht dem Wert im Standardheader

    MC2

    Maincode2; entspricht dem Wert im Standardheader

    MC1

    Maincode1; entspricht dem Wert im Standardheader

    Der Maincode X’8000’ – Parameterbereich nicht zugreifbar – kann nur im Postcode1 erscheinen: CRYPT konnte zum Zeitpunkt der Funktionsausführung nicht auf den Parameterbereich zugreifen.

    Verwenden Sie den Postcode2, insbesondere bei Verwendung einer Contingency, für eine Beziehung zum zugehörigen Funktionsaufruf (siehe „Asynchrone Ausführung – Beispiel“).

    Der Parameterbereich sowie die darin eventuell angegebenen Datenbereiche müssen schreibend zugreifbar sein, bis das Ende der Funktionsbearbeitung signalisiert ist.

    Die Session bleibt für weitere Funktionsaufrufe gesperrt, bis das Ende der Funktionsbearbeitung signalisiert ist.

  5. Für das Ereigniskennzeichen sendet CRYPT ein Signal, sobald die Ausführung beendet ist. Mit dem Aufruf SOLSIG kann das Programm das Signal zur Verarbeitung anfordern.


Weitere Einzelheiten zur ereignisgesteuerten Verarbeitung und den dazu benötigten Makroaufrufen entnehmen Sie bitte dem Benutzerhandbuch „Makroaufrufe an den Ablaufteil“ [3].