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“).