エンティティ書き込み処理

オペレーション名

エンティティ書き込み

機能概要

入力データをエンティティに書き込みます。

データモデル

本コンポーネントのデータモデルはXML型とテーブルモデル型です。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
認証 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
リソースパス 必須 使用可 リソースパスを選択または入力します。
フィールド表示名を取得する 省略可 使用不可 [フィールド定義]を更新するときにフィールド表示名を取得するかどうかを選択します。
  • [チェックあり]:
    フィールド表示名を取得します。
  • [チェックなし]: (デフォルト)
    フィールド表示名を取得しません。
  • フィールド表示名を取得すると[フィールド定義を更新]に時間がかかる場合があります。
フィールド定義 必須 - [リソースパス]で指定したエンティティのフィールド定義を表示します。  
フィールド定義/書き込み対象 必須 使用不可 [リソースパス]で指定したエンティティの各フィールドを、書き込み対象に含めるかどうかを選択します。
  • [チェックあり]:
    書き込み対象に含めます。
  • [チェックなし]: (デフォルト)
    書き込み対象に含めません。
 
フィールド定義/主キー 必須 使用不可 [フィールド名]が主キーであるかを表示します。
  • [チェックあり]:
    主キーであることを表示します。
  • [チェックなし]: (デフォルト)
    主キーでないことを表示します。
 
フィールド定義/フィールド名 必須 使用不可 [リソースパス]で指定したエンティティのフィールド名を表示します。  
フィールド定義/フィールド表示名 省略可 使用不可 [リソースパス]で指定したエンティティのフィールド表示名を表示します。  
フィールド定義/型 必須 使用不可 [フィールド名]の型を表示します。  
プロパティアクション
項目名 説明 備考
エンティティセット名一覧を更新 指定した[接続先]からエンティティセット名を取得して、[リソースパス]に設定します。
  • [接続先]および[認証]が選択されている場合、有効になります。
フィールド定義を更新 指定した[接続先]および[リソースパス]からフィールド定義を取得して、[フィールド定義]に設定します。
  • [接続先]および[認証]が選択されており、[リソースパス]を指定した場合、有効になります。
キー設定
項目名 必須/省略可 変数の使用 説明 備考
リソースパスのキーフィールド 省略可 使用不可 [リソースパス]で選択したエンティティに対して、キーとするフィールドを選択します。
  • [キー情報を取得]を押下した場合、主キーのフィールドと代替キーで定義されているフィールドが表示されます。
    デフォルトは主キーのフィールドです。
  • 省略した場合、主キーのフィールドが使用されます。
関連先キー設定 省略可 - [リソースパス]で指定したエンティティの関連先キー設定を表示します。
  • 省略した場合、すべてのエンティティフィールドで主キーのフィールドがキーとして使用されます。
関連先キー設定/エンティティフィールド 省略可 使用不可 [リソースパス]で指定したエンティティのエンティティフィールドを表示します。  
関連先キー設定/関連先エンティティ 省略可 使用不可 [エンティティフィールド]の関連先エンティティセット名を表示します。  
関連先キー設定/関連先キーフィールド 省略可 使用不可 [エンティティフィールド]に関連付けられたエンティティに対して、キーとするフィールドを表示します。
  • デフォルトは主キーのフィールドです。
  • 値の更新は、以下の手順で行います。
    1. [エンティティフィールド]で更新対象を選択します。
    2. [関連先キーフィールド]でキーとするフィールドを選択します。
    3. [関連先キー設定を更新]を押下します。
エンティティフィールド 省略可 使用不可 変更する[関連先キー設定][関連先キーフィールド]と、同行の[エンティティフィールド]を選択します。
  • 選択肢は[キー情報を取得]を押下した場合に表示されます。
関連先キーフィールド 省略可 使用不可 [エンティティフィールド]で選択したエンティティに対して、キーとするフィールドを選択します。
  • [エンティティフィールド]を選択した場合、主キーのフィールドと代替キーで定義されているフィールドが表示されます。
    デフォルトは主キーのフィールドです。
プロパティアクション
項目名 説明 備考
キー情報を取得 指定した[接続先]および[リソースパス]からキー情報を取得し、以下のプロパティに設定します。
  • [リソースパスのキーフィールド]
  • [関連先キー設定]
  • [エンティティフィールド]
  • [関連先キーフィールド]
  • [接続先]および[認証]が選択されており、[リソースパス]を指定した場合、有効になります。
関連先キー設定を更新 [関連先キー設定][関連先キーフィールド]を、[関連先キーフィールド]で選択した値に更新します。
対象のエンティティフィールドは[エンティティフィールド]で選択します。
  • [エンティティフィールド]および[関連先キーフィールド]が選択されている場合、有効になります。
オプション設定
項目名 必須/省略可 変数の使用 説明 備考
処理に失敗したエンティティをスキップする 省略可 使用不可 処理に失敗したエンティティをスキップして処理を継続するかどうかを選択します。
  • [チェックあり]:
    書き込みに失敗したアイテムをスキップして書き込み処理を継続します。
  • [チェックなし]: (デフォルト)
    書き込みに失敗したアイテムが発生した場合、エラーとして書き込み処理を終わらせます。
 
キーが指定された場合の処理方式 必須 使用不可 キーが指定された場合の処理方式を選択します。
  • [作成または更新]: (デフォルト)
    エンティティが存在しない場合は作成し、存在すれば更新します。
  • [作成のみ]:
    エンティティが存在しない場合は作成し、存在すればエラーにします。
  • [更新のみ]:
    エンティティが存在する場合は更新し、存在しなければエラーにします。
 
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

本アダプタが使用するスキーマについては、「スキーマ」を参照してください。

出力スキーマ

<?xml version="1.0" encoding="UTF-8" ?>
<table>
  <row>
    <column>uri</column>
    <column>action</column>
    <column>target</column>
    <column>status_code</column>
    <column>message</column>
    <column>error_type</column>
  </row>
  <row>
    :
  </row>
</table>
要素名 列名/ラベル 説明 備考
row - 書き込むエンティティの件数だけ繰り返します。  
column uri 処理の対象を一意に識別するURIです。  
action 処理の方式を出力します。
  • create:
    作成操作です。
  • update:
    更新操作です。
  • delete:
    削除操作です。
  • エンティティを関連付ける操作の場合、新規の関連付けであってもupdateになります。
target 処理対象の種類を出力します。
  • entity:
    エンティティに対する操作です。
  • property:
    エンティティのプロパティに対する操作です。
  • relation:
    エンティティの関連付けに対する操作です。
status_code 処理のHTTPステータスコードを出力します。  
message 処理のメッセージを出力します。  
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

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

トランザクション

トランザクションはサポートしていません。

PSPでの使用について

PSPでは使用できません。

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

コンポーネント変数名 説明 備考
count 読み取ったデータの件数が格納されます。
  • デフォルト値はnullです。
  • Navigationプロパティ先のエンティティもカウントされます。
insert_count 新規作成したエンティティの件数が格納されます。
  • デフォルト値はnullです。
  • Navigationプロパティ先のエンティティを新規作成した場合もカウントされます。
update_count 更新したエンティティの件数が格納されます。
  • デフォルト値はnullです。
  • Navigationプロパティ先のエンティティを更新した場合もカウントされます。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • DataSpider Cloudのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Cloudのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Cloudのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

所有者の更新について

所有者(ownerid)を更新する場合、type属性に「systemuser」または「team」を入力してください。
詳細については「Entity型(ownerid)」を参照してください。

仕様制限

各Dynamics CRMアダプタ固有の仕様制限については、「Dynamics CRMアダプタの制限事項」を参照してください。

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]または[認証]が指定されていません。 [接続先]または[認証]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]または[認証]で選択されたリソース定義が見つかりません。 [接続先]または[認証]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
<プロパティ名>が指定されていません。
[<プロパティ名>]が指定されていません。 [<プロパティ名>]を指定してください。
InvalidPropertyConfigurationException
エンティティフィールドに関連付けられたエンティティセットにキーフィールドが存在しません。[エンティティフィールド=<エンティティフィールド>][関連先キーフィールド=<関連先キーフィールド>]
[関連先キー設定]で<エンティティフィールド>に指定されたキーフィールドが存在しません。 [関連先キー設定]で、<エンティティフィールド>の[関連先キーフィールド]に存在するキーフィールドを設定してください。
InvalidResourcePathException
Invalid resource path: <リソースパス>
リソースパスの形式が不正です。 [リソースパス]を確認してください。
NumberFormatException 型の変換に失敗しました。 数値型のフィールドに数値型に変換できる値が設定されているか確認してください。
DateTimeParseException 型の変換に失敗しました。 日時型のフィールドに日付型に変換できる値が設定されているか確認してください。
IllegalArgumentException
Invalid UUID string: <キー値>
型の変換に失敗しました。 検索型(GUID)のフィールドに検索型(GUID)に変換できる値が設定されているか確認してください。
InvalidSchemaException
No such property: <フィールド名>
指定のフィールドが存在しません。 エンティティにフィールドが存在するか確認してください。
各Dynamics CRMアダプタ固有の主な例外については、「Dynamics CRMアダプタの制限事項」を参照してください。

注意事項

各Dynamics CRMアダプタ固有の注意事項については、「Dynamics CRMアダプタの制限事項」を参照してください。