このドキュメントでは、Natural Com-plete/SMARTS インターフェイス(製品コード NCF)の機能、および Com-plete 環境での Natural の操作および個別のコンポーネントについて説明します。
次のトピックについて説明します。
以下の項目も参照してください。
Com-plete のドキュメント(Com-plete 製品の詳細について)
オンライン処理(『Natural システムアーキテクチャ』ドキュメント)
次のトピックについては、Natural の『インストール』ドキュメントを参照してください。
SYSTP ユーティリティ(Natural の『ユーティリティ』ドキュメント)
Com-plete/SMARTS 環境下の Natural のユーザーアベンドコード(Natural の『メッセージおよびコード』ドキュメント)
Natural Com-plete 環境をカスタマイズするために、NFMPRM
マクロの次のパラメータを変更することができます。
EXIT
| HCDTID
| INITID
| LC
| LE370
| MSGHDR
| NTHSIZE
| SERVER
| SPIEA
| THABOVE
| TTYxx
| UCTRAN
| U2PRINT
|
このパラメータは、Natural が初期化される前に、セッションの初期化時に呼び出すことができるユーザー出口のモジュール名を定義します。 可能な値は次のとおりです。
値 | 説明: |
---|---|
name |
ユーザー出口の名前。 |
デフォルト値はありません。
このパラメータは、ハードコピーの出力先の初期化を制御します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
ハードコピーの出力先は端末 ID で初期化されます。 |
NO |
ハードコピーの出力先は論理端末名に対応しています。 これはデフォルト値です。 |
このパラメータは、システム変数 *INIT-ID
の内容を制御します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
TIBNAM |
*INIT-ID には、ユーザー端末の論理ユニット名が含まれています。
|
TID |
これはデフォルト値です(Natural 端末 ID)。 |
CPATCH |
*INIT-ID には INITID=TID と同じ文字列が含まれていていますが、b は空白ではなく Com-plete のパッチ文字です。
|
このパラメータは端末を小文字モードに設定します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
小文字モード。 これはデフォルト値です。 |
NO |
大文字モード。 |
このパラメータは、Complete/SMARTS 環境において、あらかじめ初期化されている環境(CEEPIPI インターフェイス)として LE/370 を使用する方法を指定します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
すべての 3GL 呼び出しは、あらかじめ初期化された LE/370 エンクレーブで処理されます。 |
NO |
これはデフォルト値です。 |
このパラメータは、Com-plete のメッセージ交換機能を非同期 Natural トランザクションに使用して、Natural のエラーおよび終了メッセージのメッセージヘッダーをアクティブまたは非アクティブにします。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
メッセージヘッダーがアクティブになります。 これはデフォルト値です。 |
NO |
メッセージヘッダーが非アクティブになります。 |
このパラメータは、Natural のバッファ、データエリア、およびスレッドに使用されるストレージエリアのサイズを指定します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
nnnn |
サイズ(KB 単位)。 |
1024 |
これはデフォルト値です。 |
このストレージエリアは、Com-plete の物理的なスレッド内に割り当てられます。 残りのエリア(Natural トランザクションの Com-plete リージョンサイズ RG から NTHSIZE
を引いたサイズ)は、例えば非 Natural サブルーチンのダイナミックなロード、変更可能な Natural スレッドバッファの増加、または Natural ワークプールなどに利用できます。
このパラメータは、Com-plete 起動時に初期化される Natural サーバーの名前を定義します。 このパラメータは、ローカルバッファプールなど Natural セッションで共通のストレージおよびテーブルを保持するために使用します。 サーバーは Com-plete 起動時に定義する必要があります。
可能な値は次のとおりです。
値 | 説明: |
---|---|
name |
Natural サーバーの名前。 |
NCFNAT42 |
これはデフォルト値です。 |
提供されたサーバーモジュール NCFNAT42
を異なる名前でコピーして、異なる Com-plete インターフェイスを異なるサーバーで、つまり同じ Com-plete で異なるローカルバッファプールを使用してリンクおよび実行することができます。
このパラメータは、ABEXIT
出口をアクティブまたは非アクティブにします。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
これはデフォルト値です。 |
NO |
ABEXIT 出口を非アクティブにします。 テスト目的にのみ使用してください。
|
このパラメータは、Natural スレッドの場所を決定します(NTHSIZE
パラメータを参照)。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
Natural スレッドは 16 MB 境界より上の Com-plete スレッドエクステンションに割り当てられます。 これはデフォルト値です(Com-plete スレッドエクステンションを使用)。 |
NO |
Natural スレッドは、16 MB 境界より下の Com-plete の物理的なスレッドに割り当てられます。 |
このパラメータは、テレタイプライタ(TTY)デバイス制御文字を設定します。 次の 16 進値を設定することができます。
値 | 説明: |
---|---|
TTYCR=0D |
TTY 改行 |
TTYLF=15 |
TTY 改行 |
TTYIC=00 |
TTY アイドル文字 |
TTYNIC=00 |
TTY アイドル文字数 |
TTYBS=16 |
TTY バックスペース |
TTYAL=07 |
TTY アラーム |
このパラメータは、Com-plete/SMARTS エラーメッセージの小文字から大文字への変換を制御します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
大文字への変換が有効になります。 |
NO |
大文字への変換が無効になります。 これはデフォルト値です。 |
このパラメータは、ハードコピー要求に対する Com-plete によるプリンタのダイナミックアロケーション機能を制御します。
可能な値は次のとおりです。
値 | 説明: |
---|---|
YES |
Natural は、プリンタの出力先を指定するためにハードコピー要求である Com-plete の U2PRINT ルーチンを呼び出します。
|
NO |
ハードコピープリンタのダイナミックアロケーションを無効にします。 Natural は、Natural プロファイルパラメータ これはデフォルト値です。 |
ABEXIT
出口は、一般的に NCFPARM
で SPIEA=NO
を設定することによって非アクティブにすることができます。
ABEXIT
出口は、プログラムの異常終了処理に対する Com-plete の EOJ 処理時に呼び出されます。
デフォルトでは、0CX
異常終了は ABEXIT
出口ルーチンによって解釈されます。
DU
=ON/SNAP/ABEND
で実行すると、Natural セッションはダンプされて正しく終了し、エラーメッセージ NAT9974
が出力されます。
DU=FORCE
で実行すると、ABEXIT
出口ルーチンは無効になり、Com-plete 時の即時のダンプが生成されます。
NFMPRM
マクロで LE370=YES
を指定して、LE プログラムに制御があるときに異常終了が発生すると、ユーザーが記述した条件ハンドラまたは言語固有の条件ハンドラは無視されます。 異常終了は ABEXIT
出口ルーチンによって処理され、Natural エラーメッセージ NAT0950
または NAT9967
が発生します。
DU=OFF
の場合は、Natural はエラーメッセージ NAT0950
、NAT0954
、NAT0955
、または NAT0956
を出力し、異常終了 PSW 全体およびレジスタ 0~15 はオフセット x'290'
の IOCB に含まれます。
セッションの初期化時に、NCFPARM
のパラメータ NTHSIZE
で定義されたスペースの合計は、パラメータ THABOVE
に基づいて 16 MB 境界の上または下にスレッド GETMAIN
として割り当てられ、Natural に使用されます。
Natural プロファイルパラメータ WPSIZE
は、ワークプール上下のサイズを決定します。 デフォルトでは、サブプール下のサイズは 32 KB に設定されています。
このため、Natural Com-plete フロント部を Com-plete ユーティリティ ULIB
、RG size = 36 KB 以上でカタログする必要があります。
上下の Com-plete スレッド部内の残りのエリア(Com-plete ULIB RG=specification
および/または THABOVESIZE=specification
)は、Com-plete によって以下の目的で使用されます。
ユーザーサブルーチン
Natural スレッド内の可変バッファの増加
"物理的な" GETMAIN
要求を行うサブプロダクト。これにより Natural ワークプールアロケーションを実行します。
ULIB RG
および THABOVESIZE
パラメータの詳細については、『Com-plete Utilities』ドキュメントを参照してください。
Natural は、次の文字列をバックエンドプログラムに渡します。
Natural リターンコード(フルワード)
Natural 終了メッセージ(A72)
終了エリアの長さ(フルワード)
終了データ
この文字列は NAMBCKP
マクロによってマップされます。
XNCFBACK
ソースモジュールは、Com-plete 環境における Natural バックエンドプログラムの一例です。 これはリエントラントコードとして記述され、RESIDENTPAGE
プログラムとしてロードするか、各ユーザーが一度だけロードすることができます。
Natural バッチ実行において Com-plete サービスを使用すると、バッチ実行の終了時にバッチユーザー ID はログオンされたままになります。
この状況を回避するには、Com-plete 配布ライブラリの COMPBTCH
モジュールをバッチ Natural ニュークリアスに含めます。 これにより、モジュール EOJ のエントリポイントが解決されます。このモジュールは、終了時のクリーンアップのために Natural バッチジョブの終了時に呼び出されます。
NCFAM
モジュールは Com-plete 出力/ワークファイルにアクセスするために使用されます。 このモジュールは、Com-plete 配布ライブラリの COMPBTCH
モジュールとともに Natural ニュークリアスのリンクに含める必要があります。
Natural の非同期処理については、Natural の『オペレーション』ドキュメントの「非同期処理」で説明しています。しかし、Natural を Com-plete 環境で実行するときには、いくつか追加の考慮事項があります。
適切な SENDER
および OUTDEST
の宛先が非同期 Natural セッションに対して指定されていることを確認してください。指定されていないと、出力のために異常終了します。
SENDER
および OUTDEST
の Com-plete 端末 ID に加えて、Natural Com-plete/SMARTS インターフェイスでは、次のキーワードがサポートされます。
キーワード: | 説明: |
---|---|
DUMMY |
出力は無視されます。 |
CONSOLE |
出力はオペレータコンソール/Com-plete ログファイルにルーティングされます。 |
デフォルトでは、3270 データストリームプロトコルが、Com-plete 環境で実行されている非同期 Natural セッションの出力に使用されます。
Com-plete 環境で非同期 Natural トランザクションを開始する例は、SYSEXTP
ライブラリの ASYNCOMP
プログラムにあります。
Com-plete FETCH
機能を使用して、Com-plete 環境でユーザーのフロントエンドプログラムから Natural を起動することができます。詳細については、『Com-plete Application Programmer's Manual』を参照してください。
Com-plete とアプリケーションプログラムの間で保護モードを使用する場合は、Natural パラメータモジュール NATPARM
でプロファイルパラメータ SKEY
=OFF
を設定する必要があります。 アプリケーションプログラムは、対応するスレッドキーで実行されます。 Natural または Editor のバッファプール呼び出しに対しては、フロントエンドドライバは適切なキーに切り替えて、呼び出し後に元のスレッドキーに切り替えます。
使用しているマシンで Storage-Protection Override 機能をアクティブにすることによって、Com-plete 環境でアプリケーションプログラムのパフォーマンスを大幅に向上させることができます。
Natural サブグループに対して、Com-plete 起動パラメータ THREAD-GROUP
でスレッドキー = 9
に設定します。
スレッドキーが 9
の場合、フロントエンドドライバは Natural アプリケーションを自動的に特権モードに設定し、ファンクションコード THRD/TCS
で Com-plete 関数 MODIFY
を使用する代わりに、キースイッチ処理に SPKA
命令を使用します。
セッション初期化時に、ユーザー出口のアクティブ化に関するユーザー固有のセッション情報を Natural に渡すことができます。 出口は、ドライバ/IOCB の初期化が完了した後で、Natural が初期化される前に呼び出されます。
ドライバは、パラメータとしてレジスタ 1 の IOCB のアドレスを渡しますが、出口は Com-plete 関数 COLOAD/CODEL
によってアクティブ/非アクティブにされます。詳細については、『Com-plete Application Programmer's Manual』を参照してください。
NCFUEXIT
ソースモジュールは、ユーザー出口の一例です。 ユーザー出口は、パラメータモジュール NCFPARM
で定義することができます。
SMARTS サーバー環境では、ネイティブファイルシステムのデータセットに加えて、SMARTS ポータブルファイルシステムを入出力ファイルのコンテナとして使用することができます。 環境変数がポータブルファイルシステムを参照するか、ネイティブファイルシステムを参照するかは、SMARTS
パラメータ CDI_DRIVER および MOUNT_FS
の設定に依存しています。 詳細については、『SMARTS Installation and Operations Manual』を参照してください。
環境変数が定義されていない場合は、Natural の『オペレーション』ドキュメントの「z/OS バッチモードの Natural で使用されるデータセット」に説明されているように、通常のデータセットにアクセスします。
以下では次のトピックについて説明します。
SMARTS サーバー環境での入出力は、DLL NCF42IO
によって実行されます。
NCF42IO
は常駐域にロードする必要があります。 NCF42IO
がアプリケーションプログラムスレッドにロードされると、Natural セッションは終了して NAT9980
エラーメッセージが表示されます。
サポートされている環境変数:
これらの環境変数について、以下に説明します。
構文:
CMPRINT =/pathname/filename[/],[mode]
|
上記の意味は次に示すとおりです。
pathname |
出力ファイルの場所を指定します。
|
filename |
出力ファイルの名前を指定します。 ファイル名にアスタリスク(*)を指定すると、ファイル名は実際のユーザー ID から生成されます。 pathname がネイティブファイルシステムを参照し、filename がスラッシュ文字(/)で終わっている場合は、シーケンシャルデータセット pathname/filename にアクセスします。"/" で終わっていない場合は、データセット pathname のメンバ filename にアクセスします。 |
mode |
fopen() 関数について C ライブラリに文書化されているように、ファイルモードを指定します。 デフォルトは w (書き込み)です。
|
例えば、/fs/
はネイティブファイルシステムにマップされ、/pfs/
はポータブルファイルシステムにマップされていると想定します。
CMPRINT=/fs/natural/test/print |
データセット natural.test のメンバ print にアクセスします。
|
CMPRINT=/fs/natural/test/print/ |
シーケンシャルデータセット natural.test.print にアクセスします。
|
CMPRINT=/pfs/natural/test/print |
ポータブルファイルシステムの /natural/test のメンバ print にアクセスします。
|
構文:
CMSYNIN =/pathname/filename[/]
|
適切なコマンド入力ファイルの pathname
および filename
を指定します。
パス名がネイティブファイルシステムを参照し、ファイル名が "/" 文字で終わっている場合は、シーケンシャルデータセット pathname/filename
にアクセスします。スラッシュ(/)で終わっていない場合は、データセット pathname
のメンバ filename
にアクセスします。
構文:
CMOBJIN =/pathname/filename[/]
|
適切なデータ入力ファイルの pathname
および filename
を指定します。
pathname
がネイティブファイルシステムを参照し、filename
がスラッシュ文字(/)で終わっている場合は、シーケンシャルデータセット pathname/filename
にアクセスします。スラッシュ(/)で終わっていない場合は、データセット pathname
のメンバ filename
にアクセスします。
SMARTS サーバー環境での出力ファイルおよびワークファイルへのアクセスは、DLL NCF42APS
によって実行されます。
NCF42APS
は常駐域にロードする必要があります。 NCF42APS
がアプリケーションプログラムスレッドにロードされると、Natural セッションは終了して NAT9980
エラーメッセージが表示されます。
サポートされている環境変数:
NAT_PRINT_ROOT
- PFS またはネイティブファイルシステムのプリンタファイルへのパス。
NAT_WORK_ROOT
- PFS またはネイティブファイルシステムのワークファイルへのパス。
構文例:
NAT_WORK_ROOT =/qualifier/path1/path2 |
上記の意味は次に示すとおりです。
qualifier |
SMARTS ポータブルファイルシステムにアクセスするか、ネイティブの OS で管理されているファイルシステムにアクセスするかを決定します。 |
path1/path2 |
適切なファイルシステムのファイルの場所へのパスです。 |
z/OS 環境で利用できる Com-plete のリカバリ可能なセッション処理を活用するには、モジュール NCFROLLS
をフロントエンドモジュールにリンクする必要があります。 NCFROLLS
は Natural ロールサーバーへのインターフェイスとして機能します。リカバリ可能セッションをサポートするには、Natural ロールサーバーを開始する必要があります。 さらに、RRS インターフェイスモジュールは Com-plete ルーチン
TLOPUSER
の一部であるため、モジュール ATRRCSS
をフロントエンドモジュールにリンクする必要はありません。 会話型の端末 I/O を実行する場合は、Com-plete の再スタート後に Natural セッションを再開できるようにするため、Natural スレッドは Natural ロールファイルに圧縮形式で書き込まれます。
非会話型の端末 I/O およびスレッドがロックされたアプリケーションについては、Natural スレッドは Natural ロールファイルに書き込まれません。そのため、これらのセッションはリカバリすることができません。