抽出条件式にチーム名(team)を指定して、条件に一致する部分情報を取得する例を用いて、Java APIの使用例を示します。
使用例
import com.fujitsu.iis.IisAPI;
/**
* 抽出条件式にチーム名(team)を指定して、条件に一致する部分情報を取得する
*/
public class Sample_1 {
public static void main(String[] args) {
new Sample_1().execute();
}
public boolean execute() {
// APIインスタンス
IisAPI api = null;
// 戻り値
boolean ret = true;
// 抽出結果情報
String[] select_result = null;
// 抽出結果件数
int data_count = 0;
// 読込み結果
String[] read_data = null;
// エラー詳細番号
int error_no = 0;
try {
api = new IisAPI();
} catch (NullPointerException e) {
System.out.println("APIの初期化に失敗しました");
return false;
}
// 環境設定
// 制御サーバセットのホスト名
api.setRequestorHostName("192.0.2.1");
// 制御サーバセットのポート番号
api.setRequestorPortNo(24101);
// カテゴリ名
api.setCategoryName("SAMPLE");
// 実行クラス名
api.setTargetClassName("Class1");
// データ形式
api.setTargetFileType("CSV");
// 半角英字大小区別
api.setANKmix(true);
// 全角英字大小区別
api.setKNJmix(true);
// CSVヘッダレコード
api.setLabelLine(true);
// 抽出条件式:teamの値が1開発部に完全一致するデータを抽出
String query = "$team=='1開発部'";
// リターン式:nameおよびteamを取得
String returnItem = "$name,$team";
// 抽出を依頼
select_result = api.requestSelect(query, returnItem);
// 抽出正常復帰
if (select_result != null) {
// 抽出件数取得
data_count = api.getDataCount();
// 件数取得異常復帰
if (data_count == -1) {
// エラー詳細番号取得
error_no = api.getLastError();
// エラー詳細番号とメッセージを出力し終了する
System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = "
+ api.getLastErrorMessage(error_no));
// 抽出結果情報および抽出結果中間ファイル破棄
api.deleteInstance(select_result);
return false;
}
// 件数出力
System.out.println("抽出件数 = " + data_count);
// 抽出件数確認
if (data_count > 0) {
// 抽出件数が1件以上の場合
// 抽出結果情報をオープン
ret = api.openData(select_result);
// オープン正常復帰
if (ret == true) {
// CSVヘッダレコード分を追加
int cnt = data_count + 1;
// 抽出結果データ読込み
read_data = api.readData(cnt);
// 読込み正常復帰
if (read_data != null) {
// 抽出したデータを表示
for (int i = 0; i < read_data.length; i++) {
System.out.println(read_data[i]);
}
}
// 読込み異常復帰
else {
// エラー詳細番号取得
error_no = api.getLastError();
// エラー番号とメッセージを出力し終了する
System.out.println("エラー番号 = " + error_no
+ ", エラーメッセージ = " + api.getLastErrorMessage(error_no));
// 抽出結果データのクローズ
api.closeData();
// 抽出結果情報および抽出結果中間ファイル破棄
api.deleteInstance(select_result);
return false;
}
// 抽出結果情報のクローズ
ret = api.closeData();
// クローズ異常復帰
if (ret == false) {
// エラー詳細番号取得
error_no = api.getLastError();
// エラー詳細番号とメッセージを出力し終了する
System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = "
+ api.getLastErrorMessage(error_no));
// 抽出結果情報および抽出結果中間ファイル破棄
api.deleteInstance(select_result);
return false;
}
// 抽出結果情報および抽出結果中間ファイル破棄
ret = api.deleteInstance(select_result);
// 破棄異常復帰
if (ret == false) {
// エラー詳細番号取得
error_no = api.getLastError();
// エラー詳細番号とメッセージを出力し終了する
System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = "
+ api.getLastErrorMessage(error_no));
return false;
}
}
// オープン異常復帰
else {
// エラー詳細番号取得
error_no = api.getLastError();
// エラー詳細番号とメッセージを出力し終了する
System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = "
+ api.getLastErrorMessage(error_no));
// 抽出結果情報および抽出結果中間ファイル破棄
api.deleteInstance(select_result);
return false;
}
}
// 抽出件数が0件の場合
else if (data_count == 0) {
// 抽出結果情報および抽出結果中間ファイル破棄
api.deleteInstance(select_result);
}
return true;
}
// 抽出異常終了
else {
// エラー詳細番号取得
error_no = api.getLastError();
// エラー詳細番号とメッセージを出力し終了する
System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = "
+ api.getLastErrorMessage(error_no));
return false;
}
}
}
実行結果
抽出件数 = 3 "name","team" "鈴木太郎","1開発部" "佐藤花子","1開発部" "田中五郎","1開発部"