Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

FHS-Anwendungen in geschachtelten S-Prozeduren steuern

&pagelevel(5)&pagelevel

In geschachtelten S-Prozeduren werden Zuweisungen von S-Variablenströmen genauso wie bei Systemdateien (SYSDTA,SYSOUT,..) gestapelt. Der Anwender sollte darum im Kommando SET-PROCEDURE-OPTIONS die Operandeneinstellung SYSTEM-FILE-CONTEXT=*STD oder *OWN benutzen, wenn er seine Stromzuweisungen auch gestapelt verarbeiten will.

Im TPR-Modus sichert FHS seine Anzeige-Umgebung in Übereinstimmung mit der S-Vari-ablenströmen-Zuweisung im Kommando TRANSMIT-BY-STREAM. Zur Zuweisungszeit initialisiert FHS einen dem Variablenstrom spezifischen Kontext, der automatisch bei jeder FHS-Operation mit demselben Variablenstrom benutzt wird. Dies passiert bis zum Ende der Zuweisung, z.B. wenn demselben Variablenstrom *DUMMY oder ein anderer Server zugewiesen wird - entweder explizit oder implizit bei Prozedurende (gemäß der SYSTEM-FILE-CONTEXT-Zuweisung).

Dieser Mechanismus schließt ein, dass geschachtelte Prozeduren unabhängig codiert sein können ohne Überlagerungen von Anzeigebefehlen in verschiedenen FHS-Kontexten.

Um die Unabhängigkeit von der aufrufenden Prozedur zu sichern, ist es notwendig der Variablen SYSFHS-CONTROL.REFRESH den Wert *YES zuzuweisen, um ein Bedienfeld nach dem Aufruf dieser Prozedur auszugeben.

Beispiel

In der Prozedur P1 wird der Variablenstrom S1 FHS zugewiesen; das Bedienfeld D1 wird in der Prozedur P1 angezeigt. P1 ruft die Prozedur P2 auf ; der Variablenstrom S2 in P2 ist ebenfalls FHS zugewiesen; P2 zeigt das Bedienfeld D2 an. D2 überschreibt D1 vollkommen.

Proc P1 :  assign   S1 -----> FHS 
           displays D1 
           calls    P2 
           pop-up   D11 
Proc P2 :  assign   S2 -----> FHS 
           displays D2 
           exit 

Nach Beendigung von P2 geht FHS in die Anzeige-Umgebung von S1 zurück. Dafür wird das „Pop up-Menü“ auf dem gegenwärtigen Bildschirm (mit oder ohne Abzweigung, z.B. Bedienfeld D11) wieder implizit auf dem gegenwärtigen Bedienfeld von P1 (D1) wiederhergestellt.

Das Bedienfeld D2 ist gelöscht worden und das Bedienfeld D1 ist bei der nächsten Anzeige der Prozedur P1 wiederhergestellt worden.

Hinweis

Variablen, die in einem Bedienfeld angezeigt werden sollen, müssen in der gegenwärtigen S-Prozedur sichtbar sein (siehe Abschnitt „Geltungsbereich von Variablen“).