このドキュメントでは、NATCONFG
モジュールに含まれている Natural コンフィグレーションテーブルの全般的な情報を示します。
以下のトピックについて説明します。
以下の項目も参照してください。
NATCONFG
モジュールには、Natural コンフィグレーションテーブルが含まれています。
注意: 通常、 NATCONFG のデフォルト指定は変更する必要はないので、変更しないようにしてください。 特に、下記のリストでアスタリスク(*)の付いたテーブルについては、変更する場合は事前に Software AG サポートに問い合わせてください。 |
ほとんどのテーブルには、ダイナミックプロファイルパラメータに加えて、Natural パラメータモジュール NATPARM
に対応するマクロがあります。 NATCONFG
テーブルを変更する必要がある場合は、対応するパラメータモジュールマクロまたはダイナミックプロファイルパラメータを使用してテーブルを上書きします。 NATCONFG
テーブル自体で変更を行った場合は、今後のシステムメンテナンス(SM)リリースで NATCONFG
の再度の変更と再アセンブルが必要になることがあります。
NATCONFG
モジュールでは、Natural デフォルトコンフィグレーションテーブルの定義にマクロを使用します。
また、以下のテーブルも使用します。
デフォルトアテンション ID テーブル。 Natural に対して物理端末キーを定義します(*)。
その他の各種テーブル(*)。
以下の表に、Natural デフォルトコンフィグレーションテーブルの定義のために NATCONFG
モジュールで使用されるマクロの概要を示します。
マクロ | 目的 |
---|---|
NTDVCE *
|
端末タイプのテーブル。 使用する端末ドライバを指定します(下記参照)。
既存の |
NTSTAT
|
Natural ニュークリアスにリンクされる Natural オブジェクトの定義。 |
NTCPAGE
|
コードページ定義。 |
NTTAB
|
プライマリ出力変換テーブル。 |
NTTAB1 NTTAB2
|
セカンダリ出力/入力変換テーブル。 |
NTUTAB1 NTUTAB2
|
小文字/大文字の変換用テーブル。 これらのテーブルはドイツ語などの個々の文字セットに対して変更する必要があります。 |
NTTABA1 NTTABA2
|
EBCDIC 文字/ASCII 文字の変換用テーブル。 これらのテーブルはオブジェクトハンドラによって使用されます。 |
NTTABL
|
SYS* 変換テーブル。 Natural SYS... ライブラリ内のプログラムからの出力を変換します。
|
NTLANG *
|
言語変換テーブル。 Natural に定義されているすべての使用可能言語コードのリストを含みます。 |
NTSCTAB
|
スキャナ文字タイプテーブル。 小文字、大文字、数値、特殊文字を判別します(ダイナミックプロファイルパラメータ MASK および SCAN オプションに適用)。
|
NTTZ
|
タイムゾーン定義。 NTTZ マクロにより、ゾーンタイムの指定と夏時間/冬時間の自動切り替えが可能になります。
|
NTBUFID |
このマクロのパラメータ MIN および MAX を使用して、可変バッファのバッファサイズ制限を変更できます。「バッファ特性のカスタマイズ」を参照してください。
重要: |
* このリストでアスタリスク(*)の付いたテーブルについては、変更する場合は事前に Software AG サポートに問い合わせてください。
詳細については、「変換テーブル」を参照してください。
Natural でサポートされる各端末タイプに、端末コンバータルーチンが用意されています。 対応する端末ドライバが、実際の端末 I/O を引き受けます。 ドライバは、画面バッファや画面属性バッファから物理的なデータストリームを作成し、端末 I/O バッファに配置します。
また、より高速なテレックス、テレファックス、およびテレテックス通信を TOPCALL
システムと行うために、Con-nect にテレックスドライバモジュール NATTLX
が用意されています。 NATTLX
は TOPCALL
フルページプロトコルをサポートします。
NTDVCE
マクロを使用すると、新しい端末ドライバを Natural に追加し、端末固有の入力/出力または小文字/大文字変換テーブルの変更を指定できます。 指定できる他の情報には、フレーム文字、メッセージ行の位置、画面最適化のオン/オフ、IOCB の各種フラグがあります。
また、端末指定を、他の変換テーブルを使用して既存のドライバにルーティングしたり、ドライバルーチンにフックしたりできます。
NTDVCE
マクロは、Natural コマンド行からの端末コマンド %T=
または Natural プログラム内の SET CONTROL
'T=...'
ステートメントのどちらかで呼び出されます。 Natural セッションの開始時に、変換テーブル NTTAB
、NTTAB1
、NTTAB2
、NTUTAB1
、および NTUTAB2
が、NATCONFG
モジュールからユーザーエリアにコピーされ、そこで NTDVCE
によって変更されます。
変換テーブルは、同じマクロでダイナミックに、または NATPARM
パラメータモジュール内で変更できることに注意してください。
Natural ニュークリアスにリンクされるオブジェクトは、NTSTAT
マクロを使用して指定する必要があります。 オブジェクトを検索する場合、指定したライブラリに関係なく、Natural では常にこのリストが最初にスキャンされます。 Natural オブジェクトの Natural ニュークリアスへのリンク方法については、「Natural ニュークリアスへの Natural オブジェクトのリンク」の ULDOBJ
ユーティリティを参照してください。
NTSTAT
マクロの構文は以下のとおりです。
NTSTAT object-name[,TYPE=W] |
上記の意味は以下のとおりです。
object-name | Natural ニュークリアスにリンクされるオブジェクトの名前を指定します。 |
TYPE=W |
リンクされるオブジェクトのエントリポイントが Natural ニュークリアスに対して "弱い外部" として定義されることを示します。 これにより、オブジェクトが Natural ニュークリアスにリンクされていない場合にリンケージエディタエラーメッセージが表示されないようにします。 |
Natural セッション中に使用されるすべてのコードページは、ソースモジュール NATCONFG
であらかじめ定義しておく必要があります。 定義する各コードページに、固有のマクロ NTCPAGE
を入力する必要があります。 プロファイルパラメータ CP
、CPOBJIN
、CPSYNIN
、CPPRINT
、プロファイルパラメータ PRINT
の CP
キーワードサブパラメータ、またはパラメータマクロ NTPRINT
によって指定されたコードページは、セッションの初期化時に確認されます。 このコードページが NATCONFG
で定義されていない場合は、エラーメッセージが表示されます。
NTCPAGE
マクロの構文は以下のとおりです。
NTCPAGE IANA=value, |
CCSID=value |
,ALIAS=value,PHC=value |
パラメータの説明:
パラメータ | 説明 |
---|---|
IANA |
コードページの標準名です。 最大長は 64 文字です。 このパラメータは必須です。 |
CCSID |
コード化文字セット ID(IBM)。 最大 5 桁の数字です。
例: |
CCSN |
コード化文字セット名(Siemens BS2000/OSD)。 最大 8 文字の英数字文字列です。
例: |
ALIAS |
コードページの別名。 最大長は 32 文字です。 このパラメータは任意指定です。一意ではありません。 |
PHC |
プレースホルダ文字。 長さ 2 バイトの 16 進数です。 このパラメータは任意指定です。 |
注意:
パラメータ CCSID
および CCSN
は、プラットフォーム固有(IBM/SNI)で相互排他的です。
例:
NTCPAGE IANA=IBM819,CCSID=819,ALIAS='ISO-8859-1',PHC=003F
「Unicode/コードページ環境の設定と管理」も参照してください。
NTDVCE
マクロを使用して、さまざまなコードページを定義し、特定の端末タイプおよび名前に関連付けることができます。 その後 Natural を PM
=C
で起動すると、すべての端末 I/O が入力時に変換され、出力時に再変換されます。 このため、コードページに互換性がある限り、共通データの表現が維持されます。
『ユーティリティ』ドキュメントの「SYSCP ユーティリティ - コードページ管理」も参照してください。
属性制御変数とフォーマットにより、出力デバイスでの特定の表現を生成する属性を定義します。 Natural は、エンドユーザーがマップやレポートを端末で最適に設計できるように、可能性のある多種多様な属性を提供します。
ただし、Natural で使用できるすべての機能をすべての端末がサポートしているわけではありません。 このようなデバイスでは、これらの機能はほとんどの場合無視されるか、別の技術を使用してシミュレートされます。 基本的に、IBM 環境には標準データストリームと拡張データストリームと呼ばれる 2 つのデータストリーム定義があり、SNI 環境には多数のデータストリーム定義があります。
以下の出力デバイスがサポートされています。
出力データには、指定されたプリンタの行送りとページ換えの機能を制御する標準 ASA 制御文字が含まれます。 このプリンタは、オンラインまたはバッチスプーリングシステムによってサポートされるコンピュータセンターの中央プリンタか、オンライン端末プリンタとして使用される SCS プリンタです。
この形式で生成されるレポートの印刷には、以下のデバイスを使用できます。
デバイス | タイプ |
---|---|
インパクトプリンタ | 標準中央プリンタハードウェア |
レーザープリンタ | 高速プリンタ、端末プリンタ |
デイジープリンタ | 端末プリンタ |
インクジェット | 端末プリンタ |
端末の型 | 説明 |
---|---|
TTY | TTY デバイスに送信されるデータは、標準の改ページ文字や改行文字を使用して生成されます。 |
端末の型 | 説明 |
---|---|
IBM | 標準データストリームと拡張データストリームのいずれかまたは両方をサポートするすべてのモデルおよびサイズ |
SNI | すべての 9750 および互換モノクロデバイスと、すべての 9763 および互換カラーデバイス |
Wang | すべてのモデル |
PC | 標準データストリームと拡張データストリームのいずれかまたは両方をサポートするすべてのモデルおよびサイズ |
NTDVCE
マクロの指定方法と各パラメータの詳細については、NTDVCE
マクロ自体を参照してください。
NTDVCE TYP=EBS2,NAME=BS2CHAR,ENTRY=VC3270,WXTRN=OFF,RTAL=5, FLAG1=CM3270,TCIO=(X'C0',X'FB',X'6A',X'4F',X'D0',X'FD', X'4A',X'BB',X'E0',X'BC',X'5A',X'BD',X'A1',X'FF',X'4F', X'5A') このサンプルマクロでは、内部 SNI コードページを外部 IBM コードページに変換します。 これにより、内部的には SNI コードページで動作するアプリケーションを IBM 端末上で開発して、IBM から SNI に移行する際のデータ競合などを回避することができます。 |
Natural プログラムによって出力、表示、作成されるすべてのデータは、Natural によって変換されます。 これにより、無効な制御文字が原因で端末 I/O エラーが発生したり不要な情報が端末に表示されたりするのを確実に防ぐことができます。
また、ラテン語定義と異なる文字セット(特に、アラビア語、キリル語、ギリシャ語、ヘブライ語)との相互変換機能もあります。
このセクションでは、データが CRT(画面端末)やオンラインおよびバッチスプーリングシステムなどの外部デバイスに書き込まれるときのフィールド変換に関するすべての機能について説明します。
ステートメント INPUT
、DISPLAY
、PRINT
、および WRITE
は、CRT、TTY、シーケンシャルファイルなどの外部デバイスに対してデータの読み書きを行います。 これらのステートメントはすべて、定数、変数、編集マスク、属性制御変数、フォーマットなどのパラメータを使用して、出力イメージと入力表現を制御します。
定数と変数は、出力イメージのそれぞれの値を使用して生成されます。 これらの値の表現は、属性制御変数、フォーマット、編集マスク、および変換テーブルによって制御されます。
Natural では、複数の変換テーブルを使用し、代替変換テーブルも使用できます。これらはすべて NATCONFG
に含まれています。
以下のテーブルが用意されています。
マクロ | テーブル |
---|---|
NATSCTU |
Unicode 文字に必須のスキャナテーブル。 Natural ニュークリアスによる使用のために、(提供される ICU バージョンでサポートされる)Unicode 仕様の Unicode 文字のプロパティをマップします。
重要: |
NATCPTAB |
シングルバイトコードページの変換アクセラレータテーブル(オプション)。
テーブルが存在する場合は、コードページ間の変換は ICU 機能を呼び出す代わりにこのテーブルを使用して行われるのでより高速に実行されます。 提供される
|
NTSCTAB |
Natural マスク定義機能の各出力可能文字のプロパティを定義する SCAN/MASK 文字テーブル。
このテーブルは、大文字属性、小文字属性、特殊文字、16 進文字、および数字の定義に使用できます。 ユーザーによる変更が可能で、結果を直接 Natural このテーブルを変更するには、Natural パラメータモジュールの コードページがプロファイルパラメータ |
NTTAB |
画面またはプリンタへの出力に使用される標準(プライマリ)出力変換テーブル。
基本的に、このテーブルは 他に指定されていない限り、すべての Natural 出力データは このテーブルを変更するには、Natural パラメータモジュールの コードページがプロファイルパラメータ |
NTTAB1 |
Natural パラメータ PM が C に設定されている場合に使用されるセカンダリ文字セットの代替(セカンダリ)出力変換テーブル。
重要な点は、可能なすべての端末制御文字の変換です。 NTTAB1 マクロ、または対応するダイナミックプロファイルパラメータ TAB1 を使用します。
コードページがプロファイルパラメータ |
NTTAB2 |
Natural パラメータ PM が "C" に設定されている場合に使用されるセカンダリ入力変換テーブル。 PM =C を指定している場合は、すべての Natural 入力データは NTTAB2 を使用して変換されます。 異なる言語またはコードページ間の変換は、このテーブルと NTTAB1 を使用して実行できます。
このテーブルを変更するには、Natural パラメータモジュールの コードページがプロファイルパラメータ |
NTTABS |
このテーブルは、Natural 変数名に使用できるすべての有効な文字を定義し、Natural 構文プロセッサで使用されます。
また、Natural 変数名の先頭位置に使用できるすべての有効な文字も定義します。 さらに、変数がグローバル変数、非データベース変数、またはソースコード変数であるかどうかも定義します。 コードページがプロファイルパラメータ |
NTUTAB1 |
小文字から大文字への入力変換用のサンプルユーザー固有変換テーブル。
このテーブルでは、ステートメント このテーブルを変更するには、Natural パラメータモジュールの コードページがプロファイルパラメータ |
NTUTAB2 |
ステートメント EXAMINE TRANSLATE INTO LOWER CASE で指定された変換を実行するサンプルユーザー固有変換テーブル。
このテーブルを変更するには、Natural パラメータモジュールの コードページがプロファイルパラメータ |
NTLANG |
システム変数 *LANGUAGE の言語コードへの言語番号の割り当てを定義する言語コードテーブル。
|
NTTABL |
Natural プロファイルパラメータ TS で制御される SYS* 出力変換テーブル。 TS=ON の場合は、このテーブルを使用して、Natural SYS* ライブラリにあるプログラムで生成される出力をラテン文字の小文字から大文字に変換します(変更可能フィールドを除く)。
このテーブルを使用すると、ラテン語系の国ですべての大文字と小文字を使用できるようになります。ただし、小文字が固有のアルファベットで置き換えられている国でも、これらのアプリケーションを使用できます。 このテーブルを変更するには、Natural パラメータモジュールのNTTABL マクロ、または対応するダイナミックプロファイルパラメータ TABL を使用します。
Natural が MBCS コードページ( |
|
ダブルバイト文字とラテン文字の相互変換に使用される DBCS 変換テーブル。
重要: |
変更可能フィールドおよび入力フィールドには、大文字/小文字変換を指定できます。 通常、小文字変換とは、データが入力されたとおりに取得され、変換は行われないことを意味します。 これにより、例えば、バッチモードで 16 進数データを変換せずに読み取ることができます。
大文字/小文字変換を指定するには、以下のような方法があります。
LC =OFF |
小文字変換はオフに切り替えられ、大文字変換がグローバルに有効になります。
このプロファイルパラメータは、Natural パラメータモジュールで指定することも、ダイナミックパラメータとして指定することもできます (セッションパラメータ |
%U |
大文字変換がグローバルにオンになります。
フィールドレベルでは、属性 |
EXAMINE TRANSLATE |
大文字/小文字変換は、EXAMINE TRANSLATE ステートメントでも実行できます。
デフォルトでは、 |
CMULT
エントリの使用はお勧めできません。代わりに EXAMINE TRANSLATE
ステートメント(上記参照)を使用してください。
すべてのフィールド(可能な編集マスクによってフォーマットされた後)、AL
パラメータ値、NL
パラメータ値、充填文字などは、変換テーブルを使用して変換されます。 これにより、確実に、Natural によって明示的に生成されていない埋め込み制御情報でデータがフロントエンド出力デバイスに送信されることがなくなります。 これは、内部属性と同じ
16 進数情報が含まれている場合でも、フィールドを表示デバイスに送信できることを意味します。 これらの属性は出力操作の前に変換されるため、確実に画面レイアウトは出力ステートメントで定義されたとおりになります。
使用可能な変換テーブルは複数あります。 変換テーブルが明示的に定義されていない場合は、プライマリ変換テーブル NTTAB
が使用されます。
PM
=C
が指定されている場合は、セカンダリ変換テーブル NTTAB1
が使用されます。 変更可能フィールドでは、PM=C
は受信データが再変換されることも意味します。つまり、出力用に変換され、入力用に再変換されます。
この変換テーブルロジックにより、例えば、アラビア数字をラテン数字に変換することが可能です。 アラビア数字は、端末ハードウェアでの 16 進数表現が通常のラテン数字と異なります。 そのため、出力時にはラテン数字が等価のアラビア数字に変換され、入力時にはアラビア数字が等価のラテン数字に変換されます。
ラテン文字の小文字と大文字を使用する Natural システムアプリケーションについては特別な考慮が必要です。 特に、アラビア語、ギリシャ語、キリル語などをサポートする端末では、小文字のラテン文字ではなく固有の文字が表示されるようにハードウェアを切り替えられます。
ただし、ラテン文字の小文字は、キリル語などで表示された場合は判読しづらくなります。 そのため、Natural をパラメータ TS
=ON
(システム出力変換)を指定して使用します。 TS=ON
を指定すると、"SYS*" ライブラリ(SYSTEM
ライブラリを除く)とすべての Natural システムコマンドが 3 番目の変換テーブル NTTABL
を使用して変換されます。 デフォルトでは、この変換テーブルによって、すべての小文字のラテン文字が大文字に変換されます。 このように処理されるのは出力データのみです。 したがって、Natural エディタやシステムアプリケーションでも固有の文字セットでデータ入力できます。
ただし、固有の文字セットで入力されたデータを Natural ユーティリティを使用して表示する場合は、例えばキリル語表現のデータでも大文字変換されます。 結果は再度読み取り不可になります。 そのため、すべての Natural システムユーティリティでは、固有の文字セットで入力されたデータを含むフィールドにフォーマット
PM
=C
を使用できます。 この場合は、NTTABL
変換テーブルもセカンダリ変換テーブル NTTAB1
も使用されません。 データはプライマリ変換テーブル NTTAB
で変換されるだけです。
詳細については、『パラメータリファレンス』ドキュメントでプロファイルパラメータ PM
と TS
を参照してください。
変換テーブル NTUTAB1
を使用して、小文字から大文字への変換を制御できます。 この使用が原因で、この文字のステータスを 1 ビットのみで制御する単純なロジックで設定されない特殊文字を使用している国では問題が発生する場合があります。 これは特に、ドイツ語のウムラウト文字やデンマーク語の特殊文字に当てはまります。
そのような場合、変換を正常に行うには、NTUTAB1
テーブルをカスタマイズして、各文字に対応する小文字/大文字を指定します。
大文字変換(%U
)と PM
=C
を指定している場合は、最初に大文字変換(NTUTAB1
を使用)、次にセカンダリ入力変換(NTTAB2
を使用)が実行されます。
ダブルバイト文字セット(DBCS)データを処理できるように、ダブルバイト文字をラテン文字に変換するユーザーアプリケーションプログラミングインターフェイス USR4213N
が提供されています。「ダブルバイト文字セット」を参照してください。
以下では次のトピックについて説明します。
NTTZ
マクロにより、ゾーンタイムの指定と夏時間/冬時間の自動切り替えが可能になります。
タイム定義はシステム管理者が決定し、ユーザーは Natural プロファイルパラメータ TD
=zonename
を使用してこれらの定義を参照できます。 このパラメータを使用することで、タイムゾーンが異なる各国のユーザーがそれぞれのローカルタイムを選択することができます。
最小限、NTTZ
マクロを使用して、タイムゾーンの時差を定義できます。 また、夏時間/冬時間の自動切り替えを、決まった日付で、または "4 月の最初の日曜日" のようにより柔軟な方法で指定できます。 夏時間/冬時間の自動切り替えは Natural セッションの実行中に処理され、ユーザーの操作は必要ありません。 NTTZ
マクロ定義の定義済みサンプルが NATCONFG
に付属しています。
夏時間/冬時間の自動切り替えの参照ポイントは現在のマシンタイムで、UTC(GMT)タイムです。 現在のマシンタイムに基づいて現在のローカルタイムが決まります。 夏時間/冬時間の自動切り替えは 2002 年から 2041 年までです。
注意:
DD
および YD
は切り替えに影響しません。 DD
または YD
を TD=zonename
と同時に使用しないでください。
TD=zonename
とユーザー出口 CMCOTIME
(マシンタイムの上書き)の同時使用はお勧めできません。マシンタイム(TOD クロック)を変更すると、TD=zonename
で呼び出された自動切り替えが予期しない結果になることがあります。
NTTZ
マクロの構文は以下のとおりです。
NTTZ ZONE=time-zone-name,TDON=+/-hh:mm:ss, [TDOFF=+/-hh:mm:ss,SWTON=hh:mm:ss, SWTOFF=hh:mm:ss, DSTON=([{FIRST | SECOND | THIRD | FOURTH | LAST}, {MONDAY | ... | SUNDAY}, {AFTER | BEFORE | IN}], {JANUARY | ... | DECEMBER}, [,day-number]), DSTOFF=([{FIRST | SECOND | THIRD | FOURTH | LAST}, {MONDAY | ... | SUNDAY}, {AFTER | BEFORE | IN}], {JANUARY | ... | DECEMBER} [,day-number])]
NTTZ マクロパラメータ | 説明 |
---|---|
<time +/-
hh:mm:ss> |
基本フォーマットは <{+/-}
hh:mm:ss> で、範囲は 00:00:00 ~23:59:59 です。省略形も使用でき、<hh:mm> または単に <hh> と指定します。 プラス記号(+)はデフォルトで想定され、マイナス記号(-)はパラメータ TDON または TDOFF で必要な場合があります(下記参照)。
|
time-zone-name
|
Software AG またはユーザーによって定義されるタイムゾーン名で、TD パラメータで参照できます。 最初に検出された名前が選択されます。 タイムゾーン名の最大長は 32 文字で、首都名などの適切なユーザー定義名を指定できます。
|
TDON |
ローカルの夏時間と UTC タイム(旧 GMT)との差を表します。 このパラメータはパラメータ
|
TDOFF |
ローカルのゾーンタイムと UTC タイム(旧 GMT)との差を表します。 このパラメータはパラメータ SWTOFF に対応します。
|
SWTON |
夏時間をオンにする UTC タイムポイントを表します。 |
SWTOFF |
夏時間をオフにする UTC タイムポイントを表します。 |
day-number
|
各月の有効な日にち。day-number のデフォルト値は 1 です。
|
LAST
には BEFORE
または IN
が必要です。
IN
を指定しない場合は、day
number
を指定する必要はありません。
注意:
タイム切り替えのための一意の参照ポイントは NTTZ
マクロパラメータ SWTON
および SWTOFF
で UTC タイムで指定し、曜日名と日にちは NTTZ
マクロパラメータ DSTON
および DSTOFF
でローカルタイムで指定します。
西ヨーロッパの夏時間切り替え:
NTTZ ZONE=MEZ, TDON=2,TDOFF=(+01,00,00),SWTON=(01,00,00),SWTOFF=(01,00,00), DSTON=(LAST,SUNDAY,IN,MARCH), DSTOFF=(LAST,SUNDAY,IN,OCTOBER)
他のタイムゾーン(北米、南米、アジアなど)の例は、Software AG 提供の NATCONFG
にあります。