端末の各ウィンドウには、NCL 処理環境があります。ウィンドウの代わりにこの処理環境で、コマンドおよび NCL プロセスを実行できます。
EXEC コマンドまたは START コマンドを使用して呼び出した NCL プロセスは、OCS ウィンドウの NCL 処理環境で実行されます。
注: 誤って EXEC コマンドまたは START コマンドを入力した場合、システムはこのコマンドを NCL プロセスとして実行しようと試みます。
各 NCL プロセスは、コマンドの発行を可能にする従属処理環境を持つことも、&INTCMD ステートメントを使用して、別の NCL プロセスを単独で実行することもできます。 NCL プロシージャでは、ROF セッションを使用して別のシステムから情報を収集できます。
OCS ウィンドウでは、NCL プロシージャのシリアル ストリームを実行して、このプロシージャを順次呼び出すことが可能です。 順次実行は、短期間のプロセスに適しています。
NCL プロセスを順次実行するには、EXEC コマンドを使用します。
EXEC コマンドにより呼び出されたプロセスは、&PAUSE ステートメントを発行して OCS ウィンドウからさらに入力があるまで待機できます。 GO コマンド、END コマンド、FLUSH コマンド、および INTQ コマンドを、プロセス固有の ID と一緒に使用すると、プロセスと通信することが可能です。
例: プロセスの順次実行
PROC1 と PROC2 を順に実行するには、以下のコマンドを入力します。
EXEC PROC1 EXEC PROC2
OCSウィンドウでは、2 つのプロセスが EXEC キューに入れられます。このキューは、先着順で実行されます。 プロセス PROC1 は即時実行としてスケジュールされ、プロセス PROC2 は PROC1 の終了後に実行されるよう待機しています。
OCS ウィンドウでは、NCL プロセスを並行して同時に実行できます。
NCL プロセスを同時実行するには、START コマンドを使用します。 NCL プロシージャの名前を単独で入力する場合、START コマンドを意味します。
開始された任意のプロシージャは、OCS ウィンドウからの GO、END および FLUSH コマンドからさらに入力を待つために &PAUSE ステートメントを発行できます。 これらのコマンドを、プロセス固有の ID と一緒に使用すると、そのプロセスと明示的に通信可能です。
例: NCL プロセスの並行実行
PROC1 と PROC2 を同時に実行するには、以下のコマンドを入力します。
START PROC1 START PROC2
各 NCL プロセスには固有の ID が割り振られます。この ID により、NCL プロセスは発行側の OCS ウィンドウとリンクされます。 これにより、NCL プロセス(またはこの NCL プロセスによって開始または実行されたすべてのプロセス)によって発行されたすべての &WRITE ステートメントまたは &PANEL ステートメントは、確実にその OCS ウィンドウだけに戻されるようになります。 ウィンドウが終了すると、待機中のプロセスはすべて削除されます。
OCS ウィンドウから実行される NCL プロセス(またはそれによって呼び出されるすべてのプロセス)は、それ自体で EXEC コマンドや START コマンドを発行できます。
NCL プロセスが EXEC コマンドを使用して実行されている場合、このコマンドの発行プロセスは、新規プロセスの実行が開始されると中断されます。 新規プロセスが終了するまで、プロセスの発行の再開処理は実行されません。
このように、別のプロセス内からプロセスを呼び出す方法を、ネスティングと呼びます。 ネスティングは、一連のプロセスを構成する場合に使用すると便利です。
注: ネスティング プロシージャは、&CALL PROC NCL ステートメントを使用して呼び出すことをお勧めします。
START コマンドを使用して NCL プロセスを呼び出した場合、新規プロセスの実行が即時に開始されます。 新規プロセスは、呼び出し側プロセスと並行して実行されますが、これらのプロセスは依存関係にはありません。 各プロセスは別のプロセスの終了によって影響されません。
START コマンドを使用した NCL プロシージャの呼び出しには、以下の利点があります。
| Copyright © 2011 CA. All rights reserved. | このトピックについて CA Technologies に電子メールを送信する |