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

2.4.4 AsisExecuteKeySort

機能

入力ファイルよりソート式で指定したキーでデータを仕分けて、結果をファイルに出力します。


記述形式

#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*

CharacterCode

入力

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

char*

InFileType

入力

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

char*

InFile

入力

入力ファイルまたは入力ファイルが配置されたディレクトリを指定を指定します。(注)
本パラメタを省略した場合(NULL指定時)、標準入力より入力します。

char*

ResultFolder

入力

出力ファイルのフォルダ名を指定します。(注)
省略できません。

char*

Ocondition

入力

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

char*

AlternativeName

入力

代替ファイル名を指定します。
本パラメタを省略した場合、“###”が指定されたとみなします。

char*

Reserve1

-

NULLを指定します。

char*

Reserve2

-

NULLを指定します。

char*

Reserve3

-

NULLを指定します。

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


CharacterCode (文字コード)

設定

意味

UTF-8

UTF-8の場合

SHIFT-JIS

Shift_JISの場合

EUC

EUC-JPの場合

注意

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

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

設定

意味

CSV

CSVの場合

XML

XMLの場合


注意

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

InFile (入力ファイル)

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

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


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

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

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


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


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

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


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

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

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

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

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

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

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

注意

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

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

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

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

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

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

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

参照

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

ポイント

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

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


ResultFolder

キー仕分けの結果を出力するフォルダを指定します。
フォルダ名は、96バイト以内で指定してください。
結果のファイル名は、Data Effectorが自動的に決定します。CSV形式の場合、見出し行を出力しないこともできます。

キー仕分け機能を使用する場合、本パラメタを省略できません。
フォルダ名は、複数記述できません。フォルダ名に標準出力は指定できません。

参照

結果ファイル名の命名規約および見出し行の制御については、“1.5.1 sort用動作環境ファイル”の“ResultFolder”を参照してください。


AlternativeName

ファイル名に使用する代替文字を指定します。
ファイル名の対象となった仕分けキーからファイル名が生成できない場合に、代替する名前を指定します。
代替文字は、以下のいずれかを使って3文字(固定)で指定してください。

  • 数字

  • 英字 (注)

  • アンダスコア(_)シャープ(#)

本パラメタを省略した場合、“###”が指定されたとみなします。

注意

英字を指定した場合、小文字としてファイル名に設定されます。


復帰値

復帰値

説明

ASIS_SUCCESS

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

ASIS_ERROR

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



関数の利用規則

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