このドキュメントでは、Natural でサポートされているすべての TP モニタ環境で使用できる、非同期の Natural 処理について説明します。
非同期 Natural セッションはいずれの端末にも関連付けられていないセッションなので、端末ユーザーと対話することはできません。 これを使用して、時間のかかるタスクを "バックグラウンド" で実行し、ユーザーがタスクの終了を待つ必要がないようにします。
以下のトピックについて説明します。
関連トピック:
セッションが非同期であることを識別するために、Natural システム変数 *DEVICE
に値 ASYNCH
が割り当てられます。
注意:
*DEVICE
の値は Natural プロファイルパラメータ TTYPE
と任意の SET CONTROL
'T=xxxx'
ステートメントで変更できます。『パラメータリファレンス』ドキュメントのプロファイルパラメータ TTYPE
と『端末コマンド』ドキュメントの端末コマンド %T=
を参照してください。
非同期セッションはいずれの端末にも関連付けられていないため、セッションで生成された出力を単純に画面表示できません。明示的に出力先を指定する必要があります。 この出力先は、Natural の起動時に Natural プロファイルパラメータ SENDER
を使用して指定します。 SENDER
の出力先は、ハードコピー出力とプライマリレポートに適用されます。追加のレポートは、同期オンラインセッションの場合とまったく同様に、DEFINE PRINTER
ステートメントで指定された出力先に送信されます。
非同期セッションでも Natural エラーが発生することがあるため、Natural エラーメッセージの送信先も指定する必要があります。この指定には、Natural プロファイルパラメータ OUTDEST
を使用します。 このパラメータには、エラーメッセージをオペレータコンソールに送信するオプションもあります。 Natural は、エラーメッセージを送信した後、非同期セッションを終了します。
非同期 Natural セッションによる予期しない出力を処理できるようにプロファイルパラメータ SENDER
および OUTDEST
を設定する必要があります。そうしないと、場合によっては非同期 Natural セッションがアベンドすることもあります。
非同期 Natural セッションでは、実行する Natural プログラムおよび Natural システムコマンドの名前の入力に Natural スタックしか使用できません。 Natural プログラムまたは Natural システムコマンドが未処理の
Natural エラーによって失敗した場合、または Natural スタック全体の残量がなくなり NEXT
モードが入力された場合は、非同期 Natural セッションは終了メッセージ NAT9943 を表示して終了します。
デフォルトでは、INPUT
要求に対して、使用中の TP モニタおよび TTYPE 設定に応じて CLEAR
キーまたは EOF
インジケータのどちらかが Natural に戻されます。 この処理は、意図せずプログラムによって INPUT
ステートメントが実行されたときにエラーループ状態になるのを防ぐのに役立ちます。 ENTER キーインジケータを戻すには、INPUT
ステートメントの前に SET CONTROL 'N'
ステートメントを発行します。
ヒント:
システム変数 *SCREEN-IO
を適切に評価することにより、使用しているアプリケーションと非同期セッションを互換することができます。
非同期 Natural セッションの場合は、以下の Natural プロファイルパラメータについて考慮する必要があります。
プロファイルパラメータ | コメント |
AUTO |
非同期セッションにアルファベット以外のユーザー ID が使用されていることがあります。 この場合、AUTO=ON は失敗します。
|
CM |
Natural セッションが誤って NEXT レベルになった場合、望ましくない入力状況が発生する場合があります。 CM=OFF を設定すると、そのような状況でセッションは直ちに終了します。
|
ENDMSG |
NAT9995(正常終了メッセージ)は、ENDMSG=OFF を指定することで非表示にできます。
|
IMSG |
Natural 初期化エラーメッセージおよび警告は、IMSG=OFF を指定することで非表示にできます。
|
MENU |
非同期セッションにはコマンド入力用に Natural スタックしかないため、MENU=OFF を指定し、ダイレクトコマンドを使用して Natural 内を移動することをお勧めします。
|
PLOG |
すべてのパラメータを 1 行ずつ SENDER の宛先に送信することによって、ダイナミックパラメータロギングが実行されます。
|
PROGRAM |
標準バックエンドプログラム/トランザクションがインストールで定義される場合は、これが非同期で実行可能か、または端末結合セッションでのみ処理するのが望ましいかを確認する必要があります。 PROGRAM=0 を指定すると、バックエンドロジックはバイパスされます。
|