ページの先頭行へ戻る
Big Data Integration ServerV1.4.0 加工編リファレンス集
FUJITSU Software

2.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

入力

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

char*

Rcondition

入力

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

char*

LCondition

入力

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

char*

Reserve1

-

NULLを指定します。

注) ファイル名に特殊な文字を指定した場合の扱いについては、 “パス名に指定する特殊な文字の扱い”を参照してください。


CharacterCode (文字コード)

設定

意味

UTF-8

UTF-8の場合

SHIFT-JIS

Shift_JISの場合

EUC

EUC-JPの場合

注意

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

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

設定

意味

CSV

CSVの場合

XML

XMLの場合


注意

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

InFile (入力ファイル)

図2.17 入力ファイルタイプがCSVの場合

図2.18 入力ファイルタイプがXMLの場合


スキーマ情報ファイル名
  • 入力ファイルタイプがCSVの場合に、入力ファイルの項目名を記述したスキーマ情報ファイルを指定します。

  • スキーマ情報を指定した場合、入力ファイルは先頭行からデータとして扱います。

  • スキーマ情報ファイルに標準入力は指定できません。


物理ファイル名
  • 入力ファイルを指定します。物理ファイル名を指定しない場合(""を記述)、標準入力より入力します。


ディレクトリ名
  • 入力ファイルが配置されたディレクトリを指定します。ディレクトリ名または物理ファイル名を指定しない場合(""を記述)、標準入力より入力します。

  • 物理ファイル名とディレクトリ名の混在も指定可能です。


InFileパラメタの規約を以下に説明します。

  • 本パラメタに物理ファイル名およびディレクトリ名を省略した場合は、標準入力より入力します。物理ファイルとディレクトリの混在も指定可能です。

  • 標準入力だけを指定する場合は、本パラメタにNULL(または"")を指定してください。

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

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

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

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

注意

  • ディレクトリ配下のファイルは、ファイル名でソートされた順番に処理されます。ただし、ParallelNumパラメタ指定時には、順番は保証されません。

  • ソート処理実行中に、指定されたディレクトリに対してファイルの追加、削除を実施した場合は、そのファイルが本機能に反映されない場合があります。

  • 指定されたディレクトリが存在しない場合には、異常終了します。

  • 指定されたディレクトリ配下にファイルが存在しない場合、または、処理すべきファイルが存在しない場合には、異常終了します。(ディレクトリが複数指定されていて、1つのディレクトリ配下にファイルが存在しなくても、他のディレクトリ配下にファイルが存在すれば、異常終了しません。)

  • 指定されたディレクトリ直下のファイルだけが処理対象となります。サブディレクトリ配下のファイルは対象としません。

  • ディレクトリ配下の内容が以下の場合は、異常終了します。

    • Data Effectorとして処理対象外のファイルが存在する

参照

処理対象のファイルの種類については、“導入・運用ガイド”の“処理対象ファイルの種類”を参照してください。

ポイント

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

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


OutFile

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

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

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

注意

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

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

指定例

出力先

スキーマ情報ファイル

物理ファイル

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

指定したファイル

指定したファイル

;物理ファイル名

作成されない

指定したファイル

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

指定したファイル

標準出力

;

作成されない

標準出力

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


スキーマ情報ファイル名と物理ファイル名には、セミコロン(;)を含むことはできません。


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

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

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

    InFileType

    Rcondition

    出力
    形式

    出力内容

    条件

    XML

    NULL

    XML

    入力レコード形式

    項目を指定

    CSV

    指定項目

    CSV

    NULL

    CSV

    入力レコード形式

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

    項目を指定

    CSV

    指定項目


復帰値

復帰値

説明

ASIS_SUCCESS

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

ASIS_ERROR

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


関数の利用規則

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


注意

本関数の実行中にキャンセルをした場合、AsisSetEnvSort関数のWorkFolderパラメタで指定した作業ディレクトリ配下に一時ファイルが残ることがあります。この場合は、一時ファイルを削除してください。