ページのトップに戻る
Interstage Data Effector ユーザーズガイド

C.4.3 AsisExecuteSort

機能

入力ファイルよりソート式で指定した項目ごとにデータをソート、結果をファイルに出力します。


記述形式

#include "libAsis.h"                /* 公開ヘッダ                         */

int AsisExecuteSort(
    ASISHANDLE      AHandle,         /* ハンドル                           */
    char            *CharacterCode,  /* 文字コード                         */
    char            *InFileType,     /* 入力ファイルタイプ                 */
    char            *InFile,         /* 入力ファイル                       */
    char            *OutFile,        /* 出力ファイル                       */
    char            *Ocondition,     /* ソート式                           */
    char            *Rcondition,     /* リターン式                         */
    char            *LCondition,     /* 仮想項目定義                       */
    char            *Reserve1);      /* リザーブ(NULL)                     */

パラメタ

データ型

パラメタ

用途

説明

ASISHANDLE

AHandle

入力

ハンドルを指定します。

char*

CharacterCode

入力

文字コードを指定します。
本パラメタを省略した場合(NULL指定時)、UTF-8が指定されたとみなします。

char*

InFileType

入力

入力ファイルタイプを指定します。
本パラメタを省略した場合(NULL指定時)、CSVが指定されたとみなします。

char*

InFile

入力

入力ファイルを指定します。
本パラメタを省略した場合(NULL指定時)、標準入力より入力します。

char*

OutFile

入力

出力ファイルおよび出力形式を指定します。
本パラメタを省略した場合(NULL指定時)、標準出力に出力します。

char*

Ocondition

入力

ソート項目を指定するソート式を指定します。
ソート式の詳細については、“A.4 ソート式”を参照してください。
1~1024バイトの範囲で指定してください。

char*

Rcondition

入力

リターン式を指定します。
リターン式の詳細については、“A.5 リターン式”を参照してください。
1~65535バイトの範囲で指定してください。本パラメタを省略した場合(NULL指定時)、入力レコードがそのまま出力されます。

char*

LCondition

入力

仮想項目機能を使う場合に、仮想項目定義を指定します。
本パラメタを省略した場合(NULL指定時)、仮想項目機能は使用できません。
仮想項目定義の詳細については、“A.7 仮想項目機能”を参照してください。

char*

Reserve1

-

NULLを指定します。


CharacterCode (文字コード)

設定

意味

UTF-8

UTF-8の場合

SHIFT-JIS

Shift_JISの場合

EUC

EUC-JPの場合

注意

設定値を二重引用符(")で囲んで指定します。

InFileType (入力ファイルタイプ)

設定

意味

CSV

CSVの場合

XML

XMLの場合


注意

設定値を二重引用符(")で囲んで指定します。

InFile (入力ファイル)

図C.10 入力ファイルタイプがCSVの場合

図C.11 入力ファイルタイプがXMLの場合

  • 本パラメタを省略した場合(NULL指定時)、または物理ファイル名を省略した場合は標準入力より入力します。

  • 入力ファイルタイプがCSVの場合で、スキーマ情報を指定する場合は、スキーマ情報ファイル名と各物理ファイル名をセミコロン(;)で接続します。

  • 入力ファイルタイプがCSVの場合で、スキーマ情報を指定しない場合は、各物理ファイル名をカンマ(,)で接続します。

  • スキーマ情報を指定した場合、物理ファイル名に指定した各ファイルの先頭行には項目名が記述されていないものとみなし、データとしてソート対象になります。
    スキーマ情報を指定しない場合、物理ファイル名に指定した各ファイルの先頭行には項目名が記述されているものとみなし、先頭行のデータをソート対象にしません。

  • 入力ファイルタイプがXMLで複数のファイルを指定する場合には 各物理ファイル名をカンマ(,)で接続します。

ポイント

入力ファイルのエラー処理

入力ファイルタイプがCSVの場合、入力ファイルのエラー処理機能が利用できます。入力ファイルのエラー処理機能は、AsisSetErrFile関数で指定します。
その場合、入力ファイル名に半角英数字を入れるなど工夫すると便利です。
詳細については、“C.5.2 AsisSetErrFile”を参照してください。


OutFile

出力先および出力方法を指定します。

出力ファイルの形式がCSVとなる場合で、見出し行とデータ行を別ファイルに分けて出力したいときは、以下のように指定します。

指定されたスキーマ情報ファイルには、見出し行だけを出力し、物理ファイルにはデータを出力します。

参照

PathNameCompatibilityの詳細については“C.5.1 AsisSetEnvironment”のPathNameCompatibilityを参照してください。

注意

スキーマ情報ファイルと物理ファイルの扱い

指定の組合せと出力先を以下に示します。

指定例

出力先

スキーマ情報ファイル

物理ファイル

スキーマ情報ファイル名;物理ファイル名

指定したファイル

指定したファイル

;物理ファイル名

作成されない

指定したファイル

スキーマ情報ファイル名;

指定したファイル

標準出力

;

作成されない

標準出力

見出し行とデータ行に分けて標準出力へ出力することはできません。


スキーマ情報ファイル名と物理ファイル名には、セミコロン(;)を含むことはできません。AsisSetEnviroment関数の環境パラメタPathNameCompatibilityに"0"を指定せずにセミコロン(;)を指定した場合、セミコロンはファイル名の一部と認識します。


Rcondition (リターン式)
  • 本パラメタを省略した場合(NULL指定時)、入力レコードがそのまま出力されます。

  • 本パラメタ省略時、複数のCSVファイルを入力とし、各CSVファイルが同一フォーマットでない場合、エラーとなります。

  • 入力ファイル形式とリターン式の関係は下記となります。

    InFileType

    Rcondition

    出力
    形式

    出力内容

    条件

    XML

    NULL

    XML

    入力レコード形式

    項目を指定

    CSV

    指定項目

    CSV

    NULL

    CSV

    入力レコード形式

    全CSVファイル同一フォーマット

    項目を指定

    CSV

    指定項目


復帰値

復帰値

説明

ASIS_SUCCESS

関数が正常に終了したことを示します。

ASIS_ERROR

関数の実行時に問題が検出されたことを示します。


関数の利用規則

OutFileパラメタで指定したファイルが存在する場合は上書きします。