13.1.2 関数の詳細
このマニュアルでは,次に示す形式で関数を記載します。
なお,各関数での指定内容の詳細は,各機能のコマンドの使い方,および「3.3 指定できる値の範囲」を参照してください。
また,詳細エラーコードについては,「13.4 詳細エラーコード」を参照してください。
- 〈この項の構成〉
-
(1) WNS_Create
- 形式
int WNS_Create (int ハンドル数);
- 機能
-
ハンドル管理テーブルを確保し,初期化します。この関数で確保されたハンドル管理テーブルは,WNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- int ハンドル数
-
ハンドル管理テーブルの総数(エラーハンドルを含め,Create関数で同時に取得できるハンドル数)を「16〜65,535」の範囲で指定します。ハンドル管理テーブルは,Create関数で使用され,Release関数で解放されます。
指定を省略した場合は「16」が設定されます。
(2) WNS_File_Create
- 形式
WNS_FILE_HANDLE WNS_File_Create (int ファイル数, WNS_FILEORG ファイル編成, int ファイルレコード長, WNS_FILEOPT オプション情報);
- 機能
-
ファイル情報領域を確保して初期化します。この関数で確保されたファイル情報領域は,WNS_File_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- WNS_FILE_HANDLE
-
確保したファイル情報領域のハンドルです。確保できなかった場合は,「0」を返します。
- パラメタ
-
- int ファイル数
-
ファイル数を「1〜256」の範囲で指定します。ただし,出力ファイル情報の場合は「1」を指定します。
- WNS_FILEORG ファイル編成
-
ファイルのファイル編成を指定します。
-
WNS_FIX_SAM:固定長順編成ファイル
-
WNS_VAR_SAM:可変長順編成ファイル
-
WNS_FIX_RSAM:固定長相対ファイル
-
WNS_VAR_RSAM:可変長相対ファイル
-
WNS_FIX_ISAM:固定長索引ファイル(入力ファイルのときだけ有効)
-
WNS_VAR_ISAM:可変長索引ファイル(入力ファイルのときだけ有効)
-
WNS_TEXT:テキストファイル
-
- int ファイルレコード長
-
固定長順編成ファイルまたはテキストファイルの場合,レコード長(テキストファイルの場合,最大レコード長)を「1〜65,535」の範囲で指定します。それ以外のファイルの場合は指定を省略できます。
- WNS_FILEOPT オプション情報
-
ファイルに対するオプション情報を指定します。
-
WNS_ORDER:重複レコードの入力順序保存機能を指定(入力ファイルのときだけ有効)
-
WNS_NOTRW:出力ファイルの上書き禁止を指定(出力ファイルのときだけ有効)
-
(3) WNS_File_Init
- 形式
int WNS_File_Init (WNS_FILE_HANDLE ファイルハンドル);
- 機能
-
ファイル情報領域を,WNS_File_Create実行直後の状態に戻します(ファイル情報領域の初期化)。この関数で初期化されたファイル情報領域は,WNS_File_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_FILE_HANDLE ファイルハンドル
-
ファイル情報領域のハンドルを指定します。
(4) WNS_File_Release
- 形式
int WNS_File_Release (WNS_FILE_HANDLE ファイルハンドル);
- 機能
-
ファイル情報領域を解放します。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_FILE_HANDLE ファイルハンドル
-
ファイル情報領域のハンドルを指定します。
(5) WNS_File_Set
- 形式
int WNS_File_Set (WNS_FILE_HANDLE ファイルハンドル, WNS_FILENAME ファイル名);
- 機能
-
ファイル情報領域にファイル名を指定します。この関数を複数回呼び出した場合は,すべてのファイル名が有効です。ただしファイル数は,WNS_File_Createで設定したファイル数より多く設定できません。
この関数で設定したファイル名は,WNS_File_Init,WNS_File_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_FILE_HANDLE ファイルハンドル
-
ファイル情報領域のハンドルを指定します。
- WNS_FILENAME ファイル名
-
ファイル名を設定した文字列バッファポインタを指定します。
(6) WNS_GetError
- 形式
int WNS_GetError (WNS_ERR_HANDLE エラーハンドル, WNS_ERR_INF エラー情報テーブルポインタ);
- 機能
-
WNS_Sort,WNS_Sum,WNS_SelectおよびWNS_SortEXでエラーとなった場合の詳細エラー情報テーブルを取得します。
この関数を実行したあと,使用したエラーハンドルは削除されます。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_ERR_HANDLE エラーハンドル
-
エラー発生時のエラーハンドルを指定します。
- WNS_ERR_INF エラー情報テーブルポインタ
-
詳細エラー情報を設定するためのエラー情報テーブルへのポインタを指定します。エラー情報テーブルを次に示します。
(7) WNS_GetMsg
- 形式
int WNS_GetMsg (WNS_ERR_INF エラー情報テーブルポインタ, void メッセージ領域);
- 機能
-
WNS_GetErrorで取得したエラー情報テーブルを基に,エラーメッセージテキストを取得します。
- 戻り値
-
- int
-
エラーメッセージテキストの長さを返します。エラーコードに該当するメッセージテキストがない場合は「0」を返します。
- パラメタ
-
- WNS_ERR_INF エラー情報テーブルポインタ
-
WNS_GetErrorで取得した詳細エラー情報テーブルへのポインタを指定します。
- void メッセージ領域
-
メッセージテキストを設定するバッファ(256バイト以上)へのポインタを指定します。
(8) WNS_Key_Create
- 形式
WNS_KEY_HANDLE WNS_Key_Create (int キー数, WNS_KEYOPT オプション情報);
- 機能
-
キー情報領域を確保して初期化します。
この関数で確保されたキー情報領域は,WNS_Key_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- WNS_KEY_HANDLE
-
確保したキー情報領域のハンドルです。確保できなかった場合は「0」を返します。
- パラメタ
-
- int キー数
-
ソートキーおよび集約キー項目の数を「1〜64」の範囲で指定します。
- WNS_KEYOPT オプション情報
-
ソートキーおよび集約キーに対するオプション情報を指定します。
WNS_BIGENDIAN:数値項目がbig endian
(9) WNS_Key_Init
- 形式
int WNS_Key_Init (WNS_KEY_HANDLE キーハンドル);
- 機能
-
キー情報領域を,WNS_Key_Create実行直後の状態に戻します(キー情報領域の初期化)。
この関数で初期化されたキー情報領域は,WNS_Key_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_KEY_HANDLE キーハンドル
-
キー情報領域のハンドルを指定します。
(10) WNS_Key_Release
- 形式
int WNS_Key_Release (WNS_KEY_HANDLE キーハンドル);
- 機能
-
キー情報領域を解放します。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_KEY_HANDLE キーハンドル
-
キー情報領域のハンドルを指定します。
(11) WNS_Key_Set
- 形式
int WNS_Key_Set (WNS_KEY_HANDLE キーハンドル, WNS_KEYATTR キー属性, int キー位置, int キー長, WNS_KEYORDER キー並び);
- 機能
-
キー情報領域にソートキーおよび集約キーの並び,属性,位置および長さを設定します。この関数を複数回呼び出した場合は,すべてのキーが有効です。ただし,キーの数は,WNS_Key_Createで設定したキー数より多く設定できません。
この関数で指定したソートキーおよび集約キーの情報は,WNS_Key_Init,WNS_Key_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_KEY_HANDLE キーハンドル
-
キー情報領域のハンドルを指定します。
- WNS_KEYATTR キー属性
-
ソートキーおよび集約キーの属性を指定します。
-
WNS_CHAR:文字項目
-
WNS_SIGN_BIN:符号付き2進項目
-
WNS_UNS_BIN:符号なし2進項目
-
WNS_PACK_DEC:内部10進項目
-
WNS_ZONE_DEC:外部10進項目
-
WNS_L_ZONE_DEC:左符号外部10進項目
-
WNS_R_SEP_DEC:右分離符号外部10進項目
-
WNS_L_SEP_DEC:左分離符号外部10進項目
-
WNS_FLOAT:内部浮動小数点項目
-
WNS_EBCDIK:文字(EBCDIK順)項目
-
WNS_DATE:日付(英数字)項目
-
- int キー位置
-
ソートキーおよび集約キー項目のバイト位置を「0〜65,534」の範囲で指定します。
- int キー長
-
ソートキーおよび集約キーのバイト長を「1〜4,096」の範囲で指定します。
- WNS_KEYORDER キー並び
-
昇順,降順のどちらでソートするかを指定します。
-
WNS_ASC:昇順ソート
-
WNS_DES:降順ソート
-
(12) WNS_Release
- 形式
WNS_Release ( );
- 機能
-
WNS_Createで確保したハンドル管理テーブルを解放します。
この関数を呼び出したあとは,WNS_Createが呼び出されるまで,すべての関数が無効になります。
- 戻り値
-
なし。
- パラメタ
-
なし。
(13) WNS_Sel_Create
- 形式
WNS_SEL_HANDLE WNS_Sel_Create (int 選択条件式数, WNS_SELOPT オプション情報);
- 機能
-
選択条件式の情報領域を確保して初期化します。
この関数で確保された選択条件式の情報領域は,WNS_Sel_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- WNS_SEL_HANDLE
-
確保した選択条件式情報の領域のハンドルです。確保できなかった場合は「0」を返します。
- パラメタ
-
- int 選択条件式数
-
選択条件式の数を「1〜64」の範囲で指定します。
- WNS_SELOPT オプション情報
-
選択条件式に対するオプション情報を指定します。
-
WNS_NOT_SELECT:選択条件式を満たさないデータを入力
-
WNS_BIGENDIAN:数値項目がbig endian
-
(14) WNS_Select
- 形式
WNS_ERR_HANDLE WNS_Select (WNS_FILE_HANDLE 入力ファイルハンドル, WNS_FILE_HANDLE 出力ファイルハンドル, WNS_SEL_HANDLE 選択条件式ハンドル);
- 機能
-
選択機能を実行します。
- 戻り値
-
- WNS_ERR_HANDLE
-
関数が正常に終了した場合は「0」,エラーが発生した場合はそのエラーハンドルを返します。
- パラメタ
-
- WNS_FILE_HANDLE 入力ファイルハンドル
-
入力ファイル情報領域のハンドルを指定します。
- WNS_FILE_HANDLE 出力ファイルハンドル
-
出力ファイル情報領域のハンドルを指定します。入力ファイル領域のハンドルと同じ値は指定できません。
- WNS_SEL_HANDLE 選択条件式ハンドル
-
選択条件式の情報領域のハンドルを指定します。
(15) WNS_Sel_Init
- 形式
int WNS_Sel_Init (WNS_SEL_HANDLE 選択条件式ハンドル);
- 機能
-
選択条件式の情報領域を,WNS_Sel_Create実行直後の状態に戻します(選択条件式の情報領域の初期化)。
この関数で初期化された選択条件式の情報領域は,WNS_Sel_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_SEL_HANDLE 選択条件式ハンドル
-
選択条件式の領域のハンドルを指定します。
(16) WNS_Sel_Release
- 形式
int WNS_Sel_Release (WNS_SEL_HANDLE 選択条件式ハンドル);
- 機能
-
選択条件式の情報領域を解放します。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_SEL_HANDLE 選択条件式ハンドル
-
選択条件式の領域のハンドルを指定します。
(17) WNS_Sel_Set
- 形式
int WNS_Sel_Set (WNS_SEL_HANDLE 選択条件式ハンドル, WNS_LOGOPER 論理演算子, WNS_CMPATTR 比較項目の属性, int 比較項目のバイト位置, int 比較項目のバイト長, WNS_COMPARE 比較演算子, WNS_VALATTR 条件値の属性, WNS_VALADDR 条件値エリアのアドレス, int 条件値エリアのバイト長);
- 機能
-
選択条件式の情報領域に,選択条件式の内容を設定します。この関数を複数回呼び出した場合,すべての選択条件式が有効です。ただし,選択条件式の設定数は,WNS_Sel_Createで設定した選択条件式の数より少なくしてください。
この関数で指定した選択条件式の情報は,WNS_Sel_Init,WNS_Sel_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_SEL_HANDLE 選択条件式ハンドル
-
選択条件式領域のハンドルを指定します。
- WNS_LOGOPER 論理演算子
-
選択条件式を接続する論理演算子を指定します。
-
WNS_SL_NON:なし(先頭の選択条件式にだけ有効)
-
WNS_SL_AND:AND(論理積)
-
WNS_SL_OR:OR(論理和)
-
- WNS_CMPATTR 比較項目の属性
-
比較項目の属性を指定します。
-
WNS_CHAR:文字項目
-
WNS_SIGN_BIN:符号付き2進項目
-
WNS_UNS_BIN:符号なし2進項目
-
WNS_PACK_DEC:内部10進項目
-
WNS_ZONE_DEC:外部10進項目
-
WNS_L_ZONE_DEC:左符号外部10進項目
-
WNS_R_SEP_DEC:右分離符号外部10進項目
-
WNS_L_SEP_DEC:左分離符号外部10進項目
-
WNS_FLOAT:内部浮動小数点項目
-
WNS_EBCDIK:文字(EBCDIK順)項目
-
WNS_DATE:日付(英数字)項目
-
- int 比較項目のバイト位置
-
比較項目のバイト位置を「0〜65,534」の範囲で指定します。
- int 比較項目のバイト長
-
比較項目のバイト長を「1〜4,096」の範囲で指定します。
- WNS_COMPARE 比較演算子
-
比較演算子を指定します。
-
WNS_SL_EQ:比較項目=条件値
-
WNS_SL_NE:比較項目≠条件値
-
WNS_SL_GT:比較項目>条件値
-
WNS_SL_GE:比較項目≧条件値
-
WNS_SL_LT:比較項目<条件値
-
WNS_SL_LE:比較項目≦条件値
-
- WNS_VALATTR 条件値の属性
-
条件値の属性を設定します。
-
WNS_VAL_CHAR:文字条件値
-
WNS_VAL_NUM :数値条件値
-
WNS_VAL_HEX :16進数条件値
-
WNS_VAL_DATE :日付条件値
-
- WNS_VALADDR 条件値エリアのアドレス
-
条件値エリアの先頭ポインタを指定します。
- int 条件値エリアのバイト長
-
条件値エリアのバイト長を「1〜8,192」の範囲で指定します。
(18) WNS_Sort
- 形式
WNS_ERR_HANDLE WNS_Sort (WNS_FILE_HANDLE 入力ファイルハンドル, WNS_FILE_HANDLE 出力ファイルハンドル, WNS_KEY_HANDLE ソートキーハンドル, int ワークバッファサイズ, WNS_WORKDIR ソート用一時ファイルディレクトリ);
- 機能
-
ソート機能を実行します。
- 戻り値
-
- WNS_ERR_HANDLE
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーハンドルを返します。
- パラメタ
-
- WNS_FILE_HANDLE 入力ファイルハンドル
-
入力ファイル領域のハンドルを指定します。
- WNS_FILE_HANDLE 出力ファイルハンドル
-
出力ファイル領域のハンドルを指定します。
- WNS_KEY_HANDLE ソートキーハンドル
-
ソートキー情報領域のハンドルを指定します。
- int ワークバッファサイズ
-
ソート実行時に使用するワークバッファサイズをKB単位で,「128〜2,000,000」の範囲で指定します。指定を省略した場合は「1024」が設定されます。
- WNS_WORKDIR ソート用一時ファイルディレクトリ
-
ソート用一時ファイルを生成するディレクトリ名を設定した,文字列バッファポインタを指定します。指定を省略した場合は,環境変数「temp」か「tmp」で指定したディレクトリ,またはカレントディレクトリが使用されます。
(19) WNS_SortEX
- 形式
WNS_ERR_HANDLE WNS_SortEX (WNS_PARM_FILE パラメタファイル名);
- 機能
-
拡張SORT機能を実行します。
- 戻り値
-
- WNS_ERR_HANDLE
-
正常に終了した場合は「0」,エラーが発生した場合はそのエラーハンドルを返します。
- パラメタ
-
- WNS_PARM_FILE パラメタファイル名
-
パラメタファイル名がある文字列バッファへのポインタを指定します。
パラメタファイルについては,「11. 拡張SORTコマンドの使い方(Windowsの場合)」を参照してください。
(20) WNS_Sum
- 形式
WNS_ERR_HANDLE WNS_Sum (WNS_FILE_HANDLE 入力ファイルハンドル, WNS_FILE_HANDLE 出力ファイルハンドル, WNS_KEY_HANDLE 集約キーハンドル, WNS_SUM_HANDLE 集約項目ハンドル);
- 機能
-
集約機能を実行します。
- 戻り値
-
- WNS_ERR_HANDLE
-
正常に終了した場合は「0」,エラーが発生した場合はそのエラーハンドルを返します。
- パラメタ
-
- WNS_FILE_HANDLE 入力ファイルハンドル
-
入力ファイル情報領域のハンドルを指定します。
- WNS_FILE_HANDLE 出力ファイルハンドル
-
出力ファイル情報領域のハンドルを指定します。入力ファイル領域のハンドルと同じ値は指定できません。
- WNS_KEY_HANDLE 集約キーハンドル
-
集約キー情報領域のハンドルを指定します。
- WNS_SUM_HANDLE 集約項目ハンドル
-
集約項目情報領域のハンドルを指定します。無条件レコード抽出機能を使用する場合は「0」を指定します。
(21) WNS_Sum_Create
- 形式
WNS_SUM_HANDLE WNS_Sum_Create (int 集約項目数, WNS_SUMOPT オプション情報, WNS_SUMOPT値);
- 機能
-
集約項目の情報領域を確保して初期化します。
この関数で確保された集約項目の情報領域は,WNS_Sum_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- WNS_SUM_HANDLE
-
確保した集約項目の情報領域のハンドルです。確保できなかった場合は「0」を返します。
- パラメタ
-
- int 集約項目数
-
集約項目数を「1〜64」の範囲で指定します。
- WNS_SUMOPT オプション情報
-
集約項目に対するオプション情報を指定します。
- WNS_SUMOPT値
-
-
WNS_OVERFLOW_10:2進数の桁あふれを10進表示の桁数で判定
-
WNS_BIGENDIAN:数値項目がbig endian
-
(22) WNS_Sum_Init
- 形式
int WNS_Sum_Init (WNS_SUM_HANDLE 集約項目ハンドル);
- 機能
-
集約項目の情報領域を,WNS_Sum_Create実行直後の状態に戻します(集約項目の情報領域の初期化)。
この関数で初期化された集約項目の情報領域は,WNS_Sum_Release,またはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_SUM_HANDLE 集約項目ハンドル
-
集約項目の情報領域のハンドルを指定します。
(23) WNS_Sum_Release
- 形式
int WNS_Sum_Release (WNS_SUM_HANDLE 集約項目ハンドル);
- 機能
-
集約項目の情報領域を解放します。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_SUM_HANDLE 集約項目ハンドル
-
集約項目の情報領域のハンドルを指定します。
(24) WNS_Sum_Set
- 形式
int WNS_Sum_Set (WNS_SUM_HANDLE 集約項目ハンドル, WNS_SUMATTR 項目属性, int 項目位置, int 項目長);
- 機能
-
集約項目の情報領域に集約項目の属性,位置,および長さを設定します。この関数を複数回呼び出した場合は,すべての集約項目が有効です。ただし,集約項目の数は,WNS_Sum_Createで設定した集約項目数より多く設定できません。
この関数で設定された集約項目の情報は,WNS_Sum_Init,WNS_Sum_ReleaseまたはWNS_Releaseが呼び出されるまで有効です。
- 戻り値
-
- int
-
正常に終了した場合は「0」,エラーが発生した場合はその詳細エラーコードを返します。
- パラメタ
-
- WNS_SUM_HANDLE 集約項目ハンドル
-
集約項目情報領域のハンドルを指定します。
- WNS_SUMATTR 項目属性
-
集約項目の属性を指定します。
-
WNS_SIGN_BIN:符号付き2進項目
-
WNS_UNS_BIN:符号なし2進項目
-
WNS_PACK_DEC:内部10進項目
-
WNS_ZONE_DEC:外部10進項目
-
WNS_L_ZONE_DEC:左符号外部10進項目
-
WNS_R_SEP_DEC:右分離符号外部10進項目
-
WNS_L_SEP_DEC:左分離符号外部10進項目
-
- int 項目位置
-
集約項目のバイト位置を「0〜65,534」の範囲で指定します。
- int 項目長
-
集約項目のバイト長を「1〜19」の範囲で指定します。
(25) WNS_Date_Set
- 形式
int WNS_Date_Set (int 基準年度);
- 機能
-
日付項目使用時の基準年度を設定します。この関数を省略した場合,基準年度「70」を仮定します。
- 戻り値
-
- int
-
正常終了した場合は「0」,エラーが発生した場合はその詳細エラーコード(負)を返します。
- パラメタ
-
- int 基準年度
-
日付項目の基準年度(0〜99)を指定します。
(26) WNS_Work_Set
- 形式
int WNS_Work_Set (WNS_WORKDIR マージ用一時ファイルディレクトリ);
- 機能
-
ソート実行で,マージ用一時ファイルを使用するとき,マージ用一時ファイルの情報を設定します。
- 戻り値
-
- int
-
正常終了した場合は「0」,エラーが発生した場合はその詳細エラーコード(負)を返します。
- パラメタ
-
- WNS_WORKDIR マージ用一時ファイルディレクトリ
-
マージ用一時ファイルを生成するディレクトリ名を設定した,文字列バッファポインタを指定します。指定を省略した場合は,WNS_SORT,WNS_SORTEXで指定したソート用一時ファイルディレクトリ,またはカレントディレクトリが使用されます。