データチェック処理

オペレーション名

データチェック

機能概要

入力データの値やフォーマットをチェックし、結果を選択した形式で出力します。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
データチェック条件にグローバルリソースを使用する 必須 使用不可 データチェック条件にグローバルリソースを使用するかどうかを選択します。
  • [チェックあり]:
    グローバルリソースを使用します。
  • [チェックなし]:(デフォルト)
    グローバルリソースを使用しません。
 
データチェック条件定義 必須 使用不可 グローバルリソースに登録されているデータチェック条件定義を選択します。

グローバルリソースで設定可能な項目は、[データチェック条件一覧]と同一になります。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
データチェック条件一覧 省略可 - 入力データの列に対するチェック条件を指定します。

各列は以下のボタンで操作することができます。
  • [追加]:
    列を追加します。
  • [上へ]:
    選択している列の順序を一つ上に上げます。
  • [下へ]:
    選択している列の順序を一つ下に下げます。
  • [削除]:
    列を削除します。
  • [データチェック条件にグローバルリソースを使用する][チェックなし]の場合、表示されます。
データチェック条件一覧/列番号 必須 使用可 チェック対象である入力データの列番号を入力します。  
データチェック条件一覧/必須 省略可 使用不可 [列番号]のデータを入力必須にするかどうかを選択します。
  • [チェックあり]:
    入力必須にします。
  • [チェックなし]:(デフォルト)
    入力必須にしません。
  • [必須]にチェックを入れた列番号の入力データが null または空文字である場合、以降の[型][最小][最大][オプション][正規表現]のチェックは行われません。
データチェック条件一覧/型 必須 使用不可 [列番号]のデータをどのような型でチェックするかを選択します。
  • [文字列(文字数)]:(デフォルト)
  • [文字列(バイト数)]:
  • [整数]:
  • [10進数]:
  • [日付/時間]:
  • [型][整数]または[10進数]を指定し、チェック対象の入力データが「abc」など数値ではない場合、以降の[最小][最大][オプション][正規表現]のチェックは行われません。
データチェック条件一覧/最小 省略可 使用可 [列番号]のデータに許可する最小桁数、最小バイト数または最小値を入力します。
  • [型][文字列(文字数)]を指定した場合、[最小]は桁数として扱われます。
  • [型][文字列(バイト数)]を指定した場合、[最小]はバイト数として扱われます。
  • [型][整数]または[10進数]を指定した場合、[最小]は値として扱われます。
  • [型][日付/時間]を指定した場合、[最小]に設定した値は無視されます。
データチェック条件一覧/最大 省略可 使用可 [列番号]のデータに許可する最大桁数、最大バイト数または最大値を入力します。
  • [型][文字列(文字数)]を指定した場合、[最大]は桁数として扱われます。
  • [型][文字列(バイト数)]を指定した場合、[最大]はバイト数として扱われます。
  • [型][整数]または[10進数]を指定した場合、[最大]は値として扱われます。
  • [型][日付/時間]を指定した場合、[最大]に設定した値は無視されます。
データチェック条件一覧/オプション 省略可 使用可 [列番号]のデータをチェックするオプションを指定します。
  • オプション指定方法の詳細については「オプション」を参照してください。
データチェック条件一覧/正規表現 省略可 使用可 [列番号]のデータをチェックする正規表現を指定します。
  • 使用可能な正規表現パターンは、java.util.regex.Patternに準じます。
    Patternについては、「Java(TM) Platform, Standard Edition 8 API Specification」(http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)を参照してください。
出力レコード 必須 使用不可 出力するレコードの種類を選択します。
  • [条件に一致するレコードのみ出力する]:(デフォルト)
    条件に一致したレコードのみを出力します。
  • [条件に一致しないレコードのみ出力する]:
    条件に一致しないレコードのみを出力します。
  • [すべてのレコードとチェック結果を出力する]:
    読み取ったすべてのレコードにチェック結果を付与して出力します。
  • [すべてのレコードとチェック結果を出力する]を選択した場合、入力データの列にチェック結果の列を加えて出力します。
条件評価設定
項目名 必須/省略可 変数の使用 説明 備考
複数条件の評価方法 必須 使用不可 データチェック条件が複数存在する場合、条件をどのように評価するかを設定します。
  • [AND評価]:(デフォルト)
    すべての条件を満たした場合にチェックを通します。
  • [OR評価]:
    いずれかの条件を満たした場合にチェックを通します。
[データチェック条件一覧]で同一の列番号に対してデータチェック条件が複数存在する場合、 [同一の列番号に対する複数条件の評価方法を指定する]および[同一の列番号に対する評価方法]で、同一の列番号に対する評価方法を設定できます。
 
同一の列番号に対する複数条件の評価方法を指定する 省略可 使用不可 同一の列番号に対してデータチェック条件が複数存在する場合、条件の評価方法を指定するかどうか選択します。
  • [チェックあり]:
    [同一の列番号に対する評価方法]で指定した評価方法を用いてチェックを行います。
  • [チェックなし]:(デフォルト)
    同一の列番号に対してデータチェック条件が複数存在する場合でも、[複数条件の評価方法]で指定した評価方法を用いてチェックを行います。
 
同一の列番号に対する評価方法 省略可 使用不可 同一の列番号に対してデータチェック条件が複数存在する場合、条件をどのように評価するかを設定します。
  • [AND評価]:(デフォルト)
    [データチェック条件一覧]で同一の列番号に対して指定したすべての条件を満たした場合にチェックを通します。
  • [OR評価]:
    [データチェック条件一覧]で同一の列番号に対して指定したいずれかの条件を満たした場合にチェックを通します。
  • [同一の列番号に対する複数条件の評価方法を指定する][チェックあり]の場合、有効になります。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

オプション

オプション項には 「キー=値」形式で型特有の設定を付与できます。キーを複数設定する場合、「,」(半角カンマ)で区切ります。
型ごとに設定可能なオプションは次の通りです。

対応している型 キー 意味 備考
文字列(バイト数) CS バイト数の計算に使用するエンコードを設定します。 Java SE Runtime Environment 8でサポートされているエンコードを指定します。
詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。
整数 AF 全角数値を許容するか設定します。
  • true:
    全角数値を許容します。
  • false:(デフォルト)
    全角数値を許容しません。
 
10進数 I 整数部の最大桁数を設定します。 設定可能な値は「1〜2147483647」です。  
10進数 D 小数部の最大桁数を設定します。 設定可能な値は「1〜2147483647」です。  
日付/時間 DF 日付のフォーマットを設定します。 java.text.SimpleDateFormatでサポートされている日付フォーマットが設定可能です。
SimpleDateFormatについては、「Java(TM) Platform, Standard Edition 8 API Specification」
(http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)を参照してください。
 

スキーマ

入力スキーマ

入力元コンポーネントのスキーマと同じです。

出力スキーマ

入力元コンポーネントのスキーマと同じです。
[出力レコード][すべてのレコードとチェック結果を出力する]を選択した場合、結果データのスキーマに文字列型のカラムが1つ追加され、レコードに対するチェック結果が「OK」「NG」という文字列で出力されます。
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

Mapperでのスキーマ読み込み

スキーマは手動で読み込む必要があります。
読み取りを行うデータのスキーマを指定してください。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理に対応しています。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
count 読み取ったすべてのレコード数が格納されます。
  • デフォルト値は0です。
matched_count データチェック条件と一致したレコード数が格納されます。
  • デフォルト値は0です。
unmatched_count データチェック条件と一致しないレコード数が格納されます。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[データチェック条件定義]が指定されていません。 [データチェック条件定義]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[データチェック条件定義]で選択されたリソース定義が見つかりません。 [データチェック条件定義]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
チェック条件一覧の[<行番号>]行目の[<項目名>]の値が正しくありません。
チェック条件が正しく指定されていません。 チェック条件を確認してください。
InvalidPropertyConfigurationException
チェック条件一覧の[<行番号>]行目に指定された[列番号]に値が入力されていません。
チェック条件一覧の[列番号]が入力されていません。 [列番号]を入力してください。
InvalidPropertyConfigurationException
チェック条件一覧の[<行番号>]行目に指定された[列番号]の値は、入力データの列数[<入力データの列数>]を超えています。
チェック条件一覧の[列番号]が正しく指定されていません。 [列番号]には、入力データの列数以下の数値を指定してください。