Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Hinweise

&pagelevel(4)&pagelevel

SYSFILE-Umgebung

Die Makroaufrufe RDATA und WRTRD erzeugen Wartezustände und haben bei ihrer Abarbeitung wegen der Verknüpfung mit dem Break-/Escape-Processing (K2-Taste) entsprechende Regeln zur Verwendung von Prozess-Level und Aufrufhierarchien. Die korrekte Ausführung dieser Funktionen ist daher nur bei einem Aufruf aus dem Zustand TU gewährleistet.

Ebenso wie RDATA/WRTRD braucht der Makroaufruf WROUT eine initialisierte SYSFILE-Umgebung.

DCAM-Aufrufe

Die DCAM-Aufrufe können im Zustand TPR und damit in System Exits nicht genutzt werden, da sie bei ihrer Ausführung sowohl Prozesslevel verändern als auch TPR-Contingencies verwenden. Der SVC selbst muss daher auf einem Prozesslevel < 156 (= Zustand TU) aufgerufen werden.

ISAM SVCs

Die ISAM-SVCs 32 und 168 können grundsätzlich in System Exits verwendet werden. Bezüglich des SVC 168 ist jedoch im SHARUPD-Modus Folgendes zu beachten:

Durch die meisten ISAM-Makroaufrufe werden vom Auftrag gehaltene externe ISAM-Sperren freigegeben, sodass stets nur eine Sperre gehalten wird und deadlock-freie Verarbeitung gewährleistet ist. Durch einen ISAM-Aufruf in System Exits kann also u.U. eine vom Anwenderprogramm gesetzte Sperre zurückgesetzt werden, ohne dass dieses vom Anwenderprogramm registriert wird.

Beispiel

Anwenderprogramm:

GET

FCB1,AREA1,LOCK

System Exit:

GET

FCB2,AREA2,LOCK

Anwenderprogramm:

PUTX

FCB1,AREA1

Der PUTX wird ohne System Exit korrekt ausgeführt, mit System Exit ist die Sperre aufgehoben, es können unerwartete Ergebnisse auftreten.

Daher sollten bei Shared-Update-Verarbeitung in System Exits nur dann ISAM-Makros, die eine Sperre aufheben können, aufgerufen werden, wenn gewährleistet ist, dass kein Anwenderprogramm geladen ist. Selbst in diesem Fall muss sichergestellt werden, dass es keine unerwünschte Wechselwirkung mit Systemdateien gibt.

Die 24-Bit-ISAM-SVCs dürfen nicht mehr in System Exits verwendet werden. Ihre Anwendung in XS-Umgebung führt sofort zum Fehler, da System Exits in TPR-Umgebung laufen, also im 31-Bit-Modus.

JMS-/JV-SVCs

Die JMS-/JV-SVCs sind in TPR-Umgebung und damit auch in System Exits ablauffähig. Sie liefern jedoch nicht generell sinnvolle Ergebnisse (z.B. der Aufruf JINF nicht, wenn keine Taskumgebung existiert).

DSSM/SULNK

Nur die SULNK-Schnittstelle ist nutzbar, wenn die System Exits von DSSM oder SULNK in privilegierten Speicher geladen wurden. Wenn die System Exits im nichtprivilegierten Speicher geladen werden, können die SVCs VSVI, PBUNLD, ITABL, TABLE und LINK verwendet werden. Der Makro $LOAD kann nicht verwendet werden.