バージョン 6.3.3
 —  ツールおよびユーティリティ  —

FTOUCH ユーティリティ

ダウンロードしたオブジェクは、Natural に認識させる必要があります。 そのためには、次の 2 つの方法があります。


FTOUCH ユーティリティの使用

Start of instruction set FTOUCH ユーティリティを実行するには

  1. オペレーティングシステムのコマンドプロンプトを表示します。

  2. 転送するファイルが(グローバルコンフィグレーションファイルに指定した)FNAT または FUSER ディレクトリ内に、正しい拡張子付きで存在することを確認します。

  3. 次の構文を使用して 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 を指定する必要があります。

注意:

  1. デフォルトの Natural バッファプールがアクティブでないか、指定したバッファプールが存在しない場合、該当するエラーメッセージが表示されます。
  2. デフォルトのバッファプール "NATBP" は削除しないでください。削除すると、Natural が正常に機能しなくなる可能性があります。
parm=parm-name デフォルトの NATPARM パラメータファイルを使用しない場合は、使用するパラメータファイルの名前を指定します。
lib=library-name 使用するライブラリを指定します。 すでに適切なサブディレクトリで行っている場合は、library-name を省略できます。それ以外の場合は、該当する library-name を指定する必要があります。
userep=rep-use
リポジトリを使用するかどうかを指定します。 rep-use は、次のいずれかである必要があります。
ON リポジトリを使用します。
OFF リポジトリを使用しません。
-v 処理中のディスク I/O に関する統計を表示します。
-q quiet モードを使用することを示します。エラーメッセージだけが表示され、ステータスメッセージは表示されません。
-ignoreext ライブラリに含まれるファイルのうち、不明な拡張子を持つファイルを無視するように指定します。 -ignoreext オプションは、次のいずれかのオプションと組み合わせて指定できます。
-a
-d
mode 

プログラミングモードを指定します。sm は、プログラムがストラクチャードモードにあることを指定します。デフォルトは、レポーティングモードです。

例 1」も参照してください。

kind

入力用にサブディレクトリ SRC や GP を指定します。次のいずれかを指定できます。

-s ソースオブジェクト(デフォルト)
-g カタログ化オブジェクト/生成プログラム
-b ソースオブジェクトとカタログ化オブジェクト/生成プログラムの両方

例 2」も参照してください。

files

処理するファイルを指定します。ファイルごとに filename.ext または次を指定できます。

-a 新しいファイルを追加します。FILEDIR.SAG で見つかったディレクトリ内の全ファイルが追加されますが、既存のファイルはそのままです。
-d 新しい FILEDIR.SAG ディレクトリを作成します。

注意:
既存の FILEDIR.SAG は削除されて初めから再作成されるため、このオプションを使用する場合は注意が必要です。

例 4」も参照してください。

-f FILEDIR.SAG に指定されているオブジェクトのタイムスタンプを更新します。 このオプションは、個々のファイルが files オプション(上記参照)で指定されている場合にのみ使用できます。
convert

古い FILEDIR.SAG ファイルが移行されることを示します。 バージョン 6.2 より前の Natural バージョンの FILEDIR.SAG ファイルが、新しい移植可能な FILEDIR.SAG ファイルに変換されます。 元の古い FILEDIR.SAG ファイルのコピーが、指定されたライブラリのディレクトリ内に FILEDIR.BCK ファイルとして保存されます。 指定されたライブラリに FILEDIR.BCK ファイルがすでに存在する場合、古い FILEDIR.SAG は変換されません

詳細については、『オペレーション』ドキュメントの「Natural の移植可能なシステムファイル」を参照してください。

例 3」と「例 5」も参照してください。

sync

指定したライブラリとシステムファイルが Natural とリポジトリの間で同期を取ることを示します(Windows のみ)。この機能は、FILEDIR.SAG が FTOUCH によって変更されるたびに実行される必要があります。

注意:
sync を指定する場合は、userep=ON を設定するか、Natural プロファイルパラメータ USEREPON に設定するかのいずれかを行う必要があります。

encoding=encoding-name

FILEDIR.SAG に含まれているファイルに使用するコードページを指定します。

encoding オプションは、ftouch コマンドに影響を受けるオブジェクトごとに、FILEDIR.SAG 内に内部コードページ情報を生成するか、保持されている内部コードページ情報を変更します。 このオプションは、ソースオブジェクトまたはカタログ化オブジェクト/生成プログラムの内容を変換しません

encoding オプションは、次のオプションとともに使用できます。

-a
-d
convert
objname

encoding-name は、NATPARM パラメータファイルで指定された CP セッションパラメータで使用できるコードページ名です。 『パラメータリファレンス』の「CP - デフォルトのコードページ名」も参照してください。

例 4」、「例 5」、「例 7」、「例 8」も参照してください。

endian=endian-mode

FILEDIR.SAG ディレクトリで使用するエンディアンフォーマットを指定します。

endian オプションは、FILEDIR.SAG ディレクトリ全体に適用されます。

FILEDIR.SAG にファイルを追加する場合または FILEDIR.SAG を新規作成する場合、このオプションは適用されません。

endian-mode は、次のいずれかです。

BIG ビッグエンディアンに変換します。
LITTLE リトルエンディアンに変換します。
DEFAULT 現在のプラットフォームで使用するエンディアンフォーマットに変換します。

例 6」を参照してください。

objname=object-name

FILEDIR.SAG 内に内部フォーマット情報を保持するオブジェクトを選択します。

objname オプションが適用されるのは、encoding オプションを指定した場合だけです。

object-name は、指定された値と同じ名前のオブジェクトをすべて選択します。 名前の範囲にはアスタリスク(*)表記を使用できます。

例 7」と「例 8」も参照してください。

suprln=library-state
指定されたライブラリに行番号省略状態を設定するかどうかを指定します。 library-state は、次のいずれかである必要があります。
ON このライブラリに含まれているオブジェクトのソースを保存する場合、ソース行番号は FILEDIR.SAG に含まれているファイルに書き込まれません。
OFF ソース行番号は、FILEDIR.SAG に含まれているファイルに書き込まれます。

ftouch の例

次のセクションでは、ftouch コマンドの例を示します。

例 1:

次のディレクトリに変更します。 fuser-directory/TESTLIB/ SRC
次のコマンドを入力します。 ftouch sm TESTFILE.NSP

この結果、TESTLIB ライブラリの TESTFILE プログラムが、Natural のストラクチャードモードで使用可能になります。

例 2:

次のディレクトリに変更します。 fuser-directory/MYLIB
次のコマンドを入力します。 ftouch fnat=21,21 fuser=22,22 -b

この結果、MYLIB/SRC ディレクトリと MYLIB/GP ディレクトリにあるすべてのファイルが、Natural のレポーティングモード(デフォルト)で使用可能になります。

例 3:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=MYLIB convert

この結果、新しい移植可能な FILEDIR.SAG ファイルが MYLIB ライブラリ用に保存され、古い FILEDIR.SAG はこのライブラリ内に FILEDIR.BCK ファイルとして保存されます。

例 4:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=MYLIB encoding=UTF-8 -a -s

この結果、MYLIB/SRC サブディレクトリから FILEDIR.SAG ディレクトリに追加されるすべてのオブジェクトの内部フォーマット情報が、"UTF-8" になります。

例 5:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=OLDLIB encoding=windows-1251 convert

この結果、新しい移植可能な FILEDIR.SAG ファイルが OLDLIB ライブラリ用に保存され、FILEDIR.SAG ファイルに含まれているすべてのオブジェクトの内部フォーマット情報が "windows-1251" に変更されます。

例 6:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=MYLIB endian=BIG

この結果、MYLIB ライブラリの FILEDIR.SAG ファイルはビッグエンディアンに変換されます。 MYLIB ライブラリに含まれているすべてのオブジェクトの内部フォーマット情報が "BIG" に変更されます。

例 7:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=MYLIB objname=MYPROG1 encoding=UTF-8

この結果、FILEDIR.SAG ファイルの MYLIB ライブラリに MYPROG1 が含まれていると、MYPROG1 オブジェクトの内部フォーマット情報は "UTF-8" に変更されます。

例 8:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=MYLIB objname=MY* encoding=UTF-8

この結果、名前が MY で始まり FILEDIR.SAG ファイルの MYLIB ライブラリに含まれているすべてのオブジェクトの内部情報が "UTF-8" に変更されます。

例 9:

次のディレクトリに変更します。 fuser-directory
次のコマンドを入力します。 ftouch lib=MYLIB suprln=ON

この結果、FILEDIR.SAG ファイルの MYLIB ライブラリの行番号省略状態が "ON" に設定されます。

Top of page

NFS を使用した Natural ライブラリの保存

Natural ライブラリを保存するために NFS(Network File System)を使用する場合、Natural ライブラリを保存するディレクトリをネットワークのファイルサーバーから NFS を経由してマウントすると、障害が発生することがあります。

これは、Natural オブジェクトの更新中に各ライブラリに保存された FILEDIR.SAG ファイルをロックする必要があるからです。

NFS のロックが、関与しているプラットフォーム間で不適合があったり、正しく設定されていないと、Natural は要求が処理されるまでに終了できない状態でハングすることがあります。 この要求は、通常、関連するシステムのコンソールに表示されるか、システムに依存する別のログファイルに記録されます。

ニュークリアスがハングしたり、終了できない障害を回避するには、Natural ライブラリをローカルディスクにだけ保存します。

Top of page