ダウンロードしたオブジェクは、Natural に認識させる必要があります。 そのためには、次の 2 つの方法があります。
FTOUCH ユーティリティを実行するには
オペレーティングシステムのコマンドプロンプトを表示します。
転送するファイルが(グローバルコンフィグレーションファイルに指定した)FNAT または FUSER ディレクトリ内に、正しい拡張子付きで存在することを確認します。
次の構文を使用して ftouch
コマンドを入力します。
ftouch [fnat=dbid,fnr] [fuser=dbid,fnr][bp=bp-name] [parm=parm-file] [lib=library-name] [encoding=encoding-name] [userep=rep-use] [-ignoreext][-v] [-q] [mode] [kind] files
移行する場合は、次の構文を使用します。
ftouch [fnat=dbid,fnr] [fuser=dbid,fnr] [parm=parm-file] [lib=library-name][encoding=encoding-name][-q] convert
FILEDIR.SAG ファイルをエンディアン変換する場合は、次の構文を使用します。
ftouch [fnat=dbid,fnr] [fuser=dbid,fnr] [parm=parm-file] [lib=library-name][endian=endian-mode]
FILEDIR.SAG ファイルにある 1 つまたは複数のオブジェクトをエンコードする場合は、次の構文を使用します。
ftouch [fnat=dbid,fnr] [fuser=dbid,fnr] [parm=parm-file] [lib=library-name][objname=object-name][encoding=encoding-name]
FILEDIR.SAG でライブラリの行番号省略状態を設定する場合は、次の構文を使用します。
ftouch [fnat=dbid,fnr] [fuser=dbid,fnr] [parm=parm-file] [lib=library-name][suprln=library-state]
注意:
角カッコ([ ]
)で囲まれている部分はオプションです。太字は実際の値であり、表示されているとおりに入力する必要があります。
以下では次のトピックについて説明します。
ftouch
コマンドには次のオプションがあります。
オプション | 説明 | ||||||
---|---|---|---|---|---|---|---|
fnat=dbid,fnr |
使用する FNAT システムファイルのデータベース ID とファイル番号を指定します。デフォルト値は、NATPARM パラメータファイルで指定されています。 「例 2」も参照してください。 |
||||||
fuser=dbid,fnr |
使用する FUSER システムファイルのデータベース ID とファイル番号を指定します。デフォルト値は、NATPARM パラメータファイルで指定されています。 「例 2」も参照してください。 |
||||||
bp=bp-name |
使用するバッファプールを指定します。 デフォルトの Natural バッファプール NATBP を使用する場合は、bp-name を省略できます。使用しない場合は、該当する bp-name を指定する必要があります。 注意:
|
||||||
parm=parm-name | デフォルトの NATPARM パラメータファイルを使用しない場合は、使用するパラメータファイルの名前を指定します。 | ||||||
lib=library-name | 使用するライブラリを指定します。 すでに適切なサブディレクトリで行っている場合は、library-name を省略できます。それ以外の場合は、該当する library-name を指定する必要があります。
|
||||||
userep=rep-use |
|
||||||
-v | 処理中のディスク I/O に関する統計を表示します。 | ||||||
-q | quiet モードを使用することを示します。エラーメッセージだけが表示され、ステータスメッセージは表示されません。 | ||||||
-ignoreext | ライブラリに含まれるファイルのうち、不明な拡張子を持つファイルを無視するように指定します。 -ignoreext オプションは、次のいずれかのオプションと組み合わせて指定できます。
|
||||||
mode |
プログラミングモードを指定します。 「例 1」も参照してください。 |
||||||
kind |
入力用にサブディレクトリ SRC や GP を指定します。次のいずれかを指定できます。
「例 2」も参照してください。 |
||||||
files |
処理するファイルを指定します。ファイルごとに filename.ext または次を指定できます。
注意: 「例 4」も参照してください。 |
||||||
-f | FILEDIR.SAG に指定されているオブジェクトのタイムスタンプを更新します。 このオプションは、個々のファイルが files オプション(上記参照)で指定されている場合にのみ使用できます。 | ||||||
convert |
古い FILEDIR.SAG ファイルが移行されることを示します。 バージョン 6.2 より前の Natural バージョンの FILEDIR.SAG ファイルが、新しい移植可能な FILEDIR.SAG ファイルに変換されます。 元の古い FILEDIR.SAG ファイルのコピーが、指定されたライブラリのディレクトリ内に FILEDIR.BCK ファイルとして保存されます。 指定されたライブラリに FILEDIR.BCK ファイルがすでに存在する場合、古い FILEDIR.SAG は変換されません。 詳細については、『オペレーション』ドキュメントの「Natural の移植可能なシステムファイル」を参照してください。 |
||||||
sync |
指定したライブラリとシステムファイルが Natural とリポジトリの間で同期を取ることを示します(Windows のみ)。この機能は、FILEDIR.SAG が FTOUCH によって変更されるたびに実行される必要があります。 注意: |
||||||
encoding=encoding-name |
FILEDIR.SAG に含まれているファイルに使用するコードページを指定します。
|
||||||
endian=endian-mode |
FILEDIR.SAG ディレクトリで使用するエンディアンフォーマットを指定します。 FILEDIR.SAG にファイルを追加する場合または FILEDIR.SAG を新規作成する場合、このオプションは適用されません。
「例 6」を参照してください。 |
||||||
objname=object-name |
FILEDIR.SAG 内に内部フォーマット情報を保持するオブジェクトを選択します。
|
||||||
suprln=library-state |
|
次のセクションでは、ftouch
コマンドの例を示します。
次のディレクトリに変更します。 | fuser-directory/TESTLIB/ SRC |
次のコマンドを入力します。 | ftouch sm TESTFILE.NSP
|
この結果、TESTLIB ライブラリの TESTFILE プログラムが、Natural のストラクチャードモードで使用可能になります。
次のディレクトリに変更します。 | fuser-directory/MYLIB |
次のコマンドを入力します。 | ftouch fnat=21,21 fuser=22,22 -b
|
この結果、MYLIB/SRC ディレクトリと MYLIB/GP ディレクトリにあるすべてのファイルが、Natural のレポーティングモード(デフォルト)で使用可能になります。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=MYLIB convert
|
この結果、新しい移植可能な FILEDIR.SAG ファイルが MYLIB ライブラリ用に保存され、古い FILEDIR.SAG はこのライブラリ内に FILEDIR.BCK ファイルとして保存されます。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=MYLIB encoding=UTF-8 -a -s |
この結果、MYLIB/SRC サブディレクトリから FILEDIR.SAG ディレクトリに追加されるすべてのオブジェクトの内部フォーマット情報が、"UTF-8" になります。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=OLDLIB encoding=windows-1251 convert |
この結果、新しい移植可能な FILEDIR.SAG ファイルが OLDLIB ライブラリ用に保存され、FILEDIR.SAG ファイルに含まれているすべてのオブジェクトの内部フォーマット情報が "windows-1251" に変更されます。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=MYLIB endian=BIG |
この結果、MYLIB ライブラリの FILEDIR.SAG ファイルはビッグエンディアンに変換されます。 MYLIB ライブラリに含まれているすべてのオブジェクトの内部フォーマット情報が "BIG" に変更されます。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=MYLIB objname=MYPROG1 encoding=UTF-8 |
この結果、FILEDIR.SAG ファイルの MYLIB ライブラリに MYPROG1 が含まれていると、MYPROG1 オブジェクトの内部フォーマット情報は "UTF-8" に変更されます。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=MYLIB objname=MY* encoding=UTF-8 |
この結果、名前が MY で始まり FILEDIR.SAG ファイルの MYLIB ライブラリに含まれているすべてのオブジェクトの内部情報が "UTF-8" に変更されます。
次のディレクトリに変更します。 | fuser-directory |
次のコマンドを入力します。 | ftouch lib=MYLIB suprln=ON |
この結果、FILEDIR.SAG ファイルの MYLIB ライブラリの行番号省略状態が "ON" に設定されます。
Natural ライブラリを保存するために NFS(Network File System)を使用する場合、Natural ライブラリを保存するディレクトリをネットワークのファイルサーバーから NFS を経由してマウントすると、障害が発生することがあります。
これは、Natural オブジェクトの更新中に各ライブラリに保存された FILEDIR.SAG ファイルをロックする必要があるからです。
NFS のロックが、関与しているプラットフォーム間で不適合があったり、正しく設定されていないと、Natural は要求が処理されるまでに終了できない状態でハングすることがあります。 この要求は、通常、関連するシステムのコンソールに表示されるか、システムに依存する別のログファイルに記録されます。
ニュークリアスがハングしたり、終了できない障害を回避するには、Natural ライブラリをローカルディスクにだけ保存します。