タグ言語形式のフラット・ファイルからメタデータを情報カタログ・マネージャーにインポートす るために使用します。
許可
管理者
構文
APIRET APIENTRY FLGImport( PSZ pszTagFileID,
PSZ pszLogFileID,
PSZ pszIcoPath,
FLGRESTARTOPTION RestartOpt,
PFLGEXTCODE pExtCode );
パラメーター
このパラメーターにはドライブ、ディレクトリー・パス、およびファイル名が 含まれており、FAT または HPFS ファイルとして有効な値でなければなりません。 このドライブは、取り外し可能ドライブであっても差し支えありません。 (ドライブとディレクトリーを除く) ファイル名とエクステンションは、 240 文字を超えてはなりません。 ファイル名だけを入力すると、情報カタログ・マネージャー側は、タグ言語ファイルを DGWPATH 環境変数 で示されるドライブおよびパスに存在するものとみなします。
pszTagFileID によって識別されるファイルには、 インポートされる情報カタログ・マネージャー・オブジェクトと関連メタデータが入っています。
このパラメーターにはドライブ、ディレクトリー・パス、およびファイル名が 含まれており、FAT または HPFS ファイルとして有効な値でなければなりません。 このドライブは、取り外し可能ドライブであってはなりません。 ファイル名だけを指定すると、情報カタログ・マネージャー側は、ログ・ファイルを DGWPATH 環境変数 で示されるドライブおよびパスに配置します。
このパラメーターで指定されたログ・ファイルが存在していない場合には、 新しいファイルが作成されます。 このパラメーターで指定されたログ・ファイルがすでに存在している場合には、 情報カタログ・マネージャーはそれに対して行われます。
pszLogFileID によって識別されたファイルには、ログ情報、およ び FLGImport API 呼び出しの処理中に検出された警告とエラーが入ります。
このパラメーターは任意選択です。 このパラメーターを指定しないと、オブジェクト・タイプに関連するアイコン をインポートする指示がタグ言語ファイルに含まれていても、アイコン・ファイルはインポートされません。
このパラメーターを指定すると、インポート機能がこのパスを調べて、 pszTagFileID によって識別されたタグ言語ファイルで参照されている アイコン・ファイルを探します。 ただし、アイコンをあるオブジェクト・タイプに関連付けるようにタグ言語ファイルで指定 されている場合、そのアイコンがアイコン・パスにないと、警告がログ・ファイル に記録されます。
以前に同じ名前のタグ言語ファイルが指定され、実行時エラーのために その一部だけしか処理されなかったことがあっても、タグ言語ファイルは 先頭から処理されます。
同じタグ言語ファイルが一部だけ処理されています。 システムは、そのファイルの実行を再開する箇所を示す チェックポイント・ラベル情報を保管しています。 この場合、タグ言語ファイルは保管されたチェックポイント・ラベルを探索し、 一致するラベルが見つかると、そこからインポートを再開します。 一致するラベルが見つからない場合には、FLGImport API 呼び出しは失敗します。
それまでタグ言語ファイルが処理されたことがない場合に RestartOpt の値 として C が指定されると、情報カタログ・マネージャーはタグ言語ファイルの先頭から処理を行います。
戻された理由コードの説明については、付録 D, 情報カタログ・マネージャーの理由コードを参照してくだ さい。
使用方法
インポート・エラーのデバッグ
情報カタログ・マネージャーは、タグ言語ファイルをインポートする際にログ・ファイル と エコー・ファイル を作成します。
ログ・ファイルには、インポート処理で発生した事象が記録されます。 これには、インポート処理が開始および終了した日付と時刻が含まれます。 また、処理中に発生した問題に関する警告やエラー・メッセージも含まれます。 pszLogFileID パラメーターによりログ・ファイルが識別されます。
エコー・ファイルには、情報カタログ・マネージャーによって処理されたタグがリストされます。 エコー・ファイルの名前はインポート・タグ言語ファイルと同じになり、ログ・ファイルと 同じディレクトリーおよびパスに保管されますが、ファイル・エクステンション は ech になります。
エコー・ファイルとログ・ファイルを使用して、インポート・エラー の原因となっているタグを調べることができます。 エコー・ファイルの最後の 1 行または 2 行には、タグ言語ファイルのうち のどのタグが原因でインポート処理が停止したのかが示されています。
削除履歴タグ・ファイルのインポート
特に Grouping オブジェクト・インスタンスやオブジェクト・タイプを削除 している場合は、他の情報カタログで、誤って削除をしないために、 削除履歴タグ・ファイルを、他の情報カタログにエクスポートするまえに内容を 点検してください。
ディスケットからインポートする際の VisualAge(R) C++ プログラムの連係
C 言語プログラムによって情報カタログ・マネージャー情報をディスケットからインポートす る FLGImport 呼び出しが出される場合には、情報カタログ・マネージャーが PM インターフェースを使用して、 必要なときにディスケットを挿入するようにユーザーに指示するメッセージを 表示できるようにするために、そのプログラムを WINDOWAPI タイプのアプリケーションと 連係させてください。
この連係は、次のいずれかの方法を使用して行うことができます。
FLGImport を使用する前の変更のコミット
情報カタログ・マネージャーは、FLGImport でエラーが発生するとデータベースをロールバックします。 FLGImport 呼び出しの前に行われたコミットされていない変更内容が情報カタログ・マネージャーによっ てロールバックされないようにするために、プログラムの中で、FLGImport を出 す前に FLGCommit を出すようにしてください。
図 82 に示すサンプル・コードは、TAGFILE1.TAG という タグ言語ファイルをインポートします。 情報カタログ・マネージャーは処理情報を TAGFILE1.LOG にログします。
図 82. C 言語による FLGImport の呼び出しのサンプル
APIRET rc; // Declare reason code
UCHAR pszTagFileID[FLG_TAG_FILE_ID_MAXLEN+1]; // ID for Tag Language file
UCHAR pszLogFileID[FLG_LOG_FILE_ID_MAXLEN+1]; // ID for Log file
UCHAR pszIconPath[FLG_ICON_PATH_MAXLEN+1]; // Path for Icon files
FLGRESTARTOPTION RestartOpt; // Restart option
FLGEXTCODE ExtCode=0; // Returned extended code
.
. /* Importing the Tag Language file TAGFILE1.TAG */
.
strcpy (pszTagFileID,"c:\\DGdata\\TAGFILE1.TAG");
strcpy (pszLogFileID,"c:\\DGdata\\TAGFILE1.LOG");
strcpy (pszIconPath,"c:\\DGdata");
RestartOpt = FLG_RESTART_BEGIN;
rc = FLGImport (pszTagFileID,
pszLogFileID,
pszIconPath,
RestartOpt,
&ExtCode); // Pass extended code by reference