機能
入力ファイルよりソート式で指定したキーでデータを仕分けて、結果をファイルに出力します。
記述形式
#include "libAsis.h" /* 公開ヘッダ */ int AsisExecuteKeySort( ASISHANDLE AHandle, /* ハンドル */ char *CharacterCode, /* 文字コード */ char *InFileType, /* 入力ファイルタイプ */ char *InFile, /* 入力ファイル */ char *ResultFolder, /* 出力ファイル用フォルダ名 */ char *Ocondition, /* ソート式 */ char *AlternativeName, /* 代替ファイル名 */ char *Reserve1; /* リザーブ(NULL) */ char *Reserve2; /* リザーブ(NULL) */ char *Reserve3); /* リザーブ(NULL) */ |
パラメタ
データ型 | パラメタ | 用途 | 説明 |
---|---|---|---|
ASISHANDLE | AHandle | 入力 | ハンドルを指定します。 |
char* | 入力 | 文字コードを指定します。 | |
char* | 入力 | 入力ファイルタイプを指定します。 | |
char* | 入力 | 入力ファイルまたは入力ファイルが配置されたディレクトリを指定を指定します。(注) | |
char* | 入力 | 出力ファイルのフォルダ名を指定します。(注) | |
char* | Ocondition | 入力 | キー仕分けのキーを指定するソート式を指定します。 |
char* | 入力 | 代替ファイル名を指定します。 | |
char* | Reserve1 | - | NULLを指定します。 |
char* | Reserve2 | - | NULLを指定します。 |
char* | Reserve3 | - | NULLを指定します。 |
注) ファイル名に特殊な文字を指定した場合の扱いについては、 “パス名に指定する特殊な文字の扱い”を参照してください。
図2.19 入力ファイルタイプがCSVの場合
図2.20 入力ファイルタイプがXMLの場合
入力ファイルタイプがCSVの場合に、入力ファイルの項目名を記述したスキーマ情報ファイルを指定します。
スキーマ情報を指定した場合、入力ファイルは先頭行からデータとして扱います。
スキーマ情報ファイルに標準入力は指定できません。
入力ファイルを指定します。物理ファイル名を指定しない場合(""を記述)、標準入力より入力します。
入力ファイルが配置されたディレクトリを指定します。ディレクトリ名または物理ファイル名を指定しない場合(""を記述)、標準入力より入力します。
物理ファイル名とディレクトリ名の混在も指定可能です。
InFileパラメタの規約を以下に説明します。
本パラメタに物理ファイル名およびディレクトリ名を省略した場合は、標準入力より入力します。物理ファイルとディレクトリの混在も指定可能です。
標準入力だけを指定する場合は、本パラメタにNULL(または"")を指定してください。
入力ファイルタイプがCSVの場合で、スキーマ情報を指定する場合は、スキーマ情報ファイル名と各物理ファイル名をセミコロン(;)で接続します。
入力ファイルタイプがCSVの場合で、スキーマ情報を指定しない場合は、各物理ファイル名をカンマ(,)で接続します。
スキーマ情報を指定した場合、物理ファイル名に指定した各ファイルの先頭行には項目名が記述されていないものとみなし、データとしてソート対象になります。
スキーマ情報を指定しない場合、物理ファイル名に指定した各ファイルの先頭行には項目名が記述されているものとみなし、先頭行のデータをソート対象にしません。
入力ファイルタイプがXMLで複数のファイルを指定する場合には 各物理ファイル名をカンマ(,)で接続します。
注意
ディレクトリ配下のファイルは、ファイル名でソートされた順番に処理されます。ただし、ParallelNumパラメタ指定時には、順番は保証されません。
ソート処理実行中に、指定されたディレクトリに対してファイルの追加、削除を実施した場合は、そのファイルが本機能に反映されない場合があります。
指定されたディレクトリが存在しない場合には、異常終了します。
指定されたディレクトリ配下にファイルが存在しない場合、または、処理すべきファイルが存在しない場合には、異常終了します。(ディレクトリが複数指定されていて、1つのディレクトリ配下にファイルが存在しなくても、他のディレクトリ配下にファイルが存在すれば、異常終了しません。)
指定されたディレクトリ直下のファイルだけが処理対象となります。サブディレクトリ配下のファイルは対象としません。
ディレクトリ配下の内容が以下の場合は、異常終了します。
Data Effectorとして処理対象外のファイルが存在する
参照
処理対象のファイルの種類については、“導入・運用ガイド”の“処理対象ファイルの種類”を参照してください。
ポイント
入力ファイルのエラー処理
入力ファイルタイプがCSVの場合、入力ファイルのエラー処理機能が利用できます。入力ファイルのエラー処理機能は、AsisSetErrFile関数で指定します。
その場合、入力ファイル名に半角英数字を入れるなど工夫すると便利です。
詳細については、“2.5.2 AsisSetErrFile”を参照してください。
キー仕分けの結果を出力するフォルダを指定します。
フォルダ名は、96バイト以内で指定してください。
結果のファイル名は、Data Effectorが自動的に決定します。CSV形式の場合、見出し行を出力しないこともできます。
キー仕分け機能を使用する場合、本パラメタを省略できません。
フォルダ名は、複数記述できません。フォルダ名に標準出力は指定できません。
参照
結果ファイル名の命名規約および見出し行の制御については、“1.5.1 sort用動作環境ファイル”の“ResultFolder”を参照してください。
復帰値
復帰値 | 説明 |
---|---|
ASIS_SUCCESS | 関数が正常に終了したことを示します。 |
ASIS_ERROR | 関数の実行時に問題が検出されたことを示します。 |
関数の利用規則
OutFileパラメタで指定したファイルが存在する場合は上書きします。