テーブル書き込み/更新/削除処理

オペレーション名

テーブル書き込み/更新/削除

機能概要

Microsoft Dynamics AX内部のテーブルに、挿入、更新、挿入/更新、削除を実行します。

データモデル

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

プロパティ

基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
テーブル名 必須 使用可 Microsoft Dynamics AX内部のテーブル名を入力します。  
アクション 必須 使用不可 アクションを選択します。
  • [挿入]:(デフォルト)
    [入力/カラム名]で指定した全てのカラムに対して入力データの値を挿入します。
  • [更新]:
    [入力/カラム名]でキーとして指定したカラムの値が一致する行を更新します。
  • [更新/挿入]:
    [入力/カラム名]でキーとして指定したカラムの値が一致する行を更新します。また、キー値が一致しない行は、全てのカラムの値を挿入します。
  • [削除]:
    [入力/カラム名]で指定した全てのカラムの値が一致する行を削除します。
  • [アクション][挿入]を選択した場合、[入力/キー]の設定は無効になり、全てのカラムは挿入対象になります。
  • [アクション][更新]、もしくは[更新/挿入]を選択した場合、[入力/キー]の設定は有効となります。 また、[入力/キー]が指定されていない場合には、エラーが発生します。
  • 詳細については、「更新について」を参照してください。
  • [アクション][削除]を選択した場合、[入力/キー]の設定は無効になり、全てのカラムは削除条件として扱われます。
コミットタイプ 必須 使用不可 コミットタイプを選択します。
  • [Rollbackあり]:(デフォルト)
    エラーが発生した場合、処理をロールバックします。
    エラーが発生しない場合は、全ての更新をコミットします。
  • [Rollbackなし(エラー行で停止)]:
    エラーが発生した場合、エラー行で処理を停止し、エラー行前のデータをコミットします。
    エラーが発生しない場合は、全ての更新をコミットします。
  • [Rollbackなし(エラー行をスキップ)]:
    エラーが発生した場合、エラー行をスキップして、処理を継続します。エラー行以外のデータはコミットし、エラー行のデータは出力します。
    エラーが発生しない場合は、全ての更新をコミットします。
  • [Rollbackあり]または[Rollbackなし(エラー行で停止)]を選択した場合、処理は正常に終了するか、例外が発生して強制的に終了します。
  • [Rollbackなし(エラー行をスキップ)]を選択した場合、処理は常に正常終了します。
入力 必須 - [テーブル名]で指定したテーブルに対して、入力カラムを設定します。  
入力/カラム名 必須 使用可 Microsoft Dynamics AX内部テーブルのカラム名を入力します。

[ファイルからカラム名を読み取り...]プロパティアクションで指定したファイルの1列目をカラム名として設定できます。
 
入力/型 必須 使用不可 入力パラメータの型を選択します。

[ファイルからカラム名を読み取り]プロパティアクションで指定したファイルの2列目をカラムの型として設定できます。
  • 「<Native型> (<内部データ型>)」形式で表示されます。
    • Native型:
      Microsoft Dynamics AX内部で使用しているデータ型です。
    • 内部データ型:
      Javaの固有のデータ型です。
  • <Native型>と<内部データ型>の表示は同じである場合、「<Native型>」形式で表示されます。
入力/キー 必須 使用不可 更新条件のキーを選択します。
  • [チェックあり]:
    更新条件のキーにします。(更新対象には含まれません。)
  • [チェックなし]:(デフォルト)
    更新条件のキーにしません。(更新対象に含まれます。)
  • 1つのカラムに対して更新条件と更新対象の両方を設定したい場合は、2行に分けて設定します。
    詳細については、「注意事項」を参照してください。
プロパティアクション
項目名 説明 備考
ファイルからカラム名を読み取り ファイルチューザでファイルを選択して、そのファイルの1列目をカラム名として設定します。
ファイルの2列目をカラムの型として設定します。
  • 有効なデリミタ文字は半角カンマ(,)、タブ、半角スペース( )、半角セミコロン(;)、半角スラッシュ(/)、半角バーティカルバー(|)の6種類です。
  • カラムの型の選択肢と異なる型に設定される場合、空白と表示され、Stringと見なします。
  • 選択されたファイルの3列目以後は無視します。
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

[入力]の設定により、カラム数が異なります。
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

出力スキーマ

入力スキーマの設定と同様です。
エラーがない場合、出力はありません。
エラーが発生した場合、
コミットタイプに[Rollbackなし(エラー行で停止)]を選択したら、例外を出してエラー行からの入力データが出力されます。
コミットタイプに[Rollbackなし(エラー行をスキップ)]]を選択たら、例外を出さずにエラー行のみが出力されます。

Mapperでのスキーマ読み込み

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

トランザクション

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

PSPでの使用について

PSPでは使用できません。

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

コンポーネント変数名 説明 備考
count 入力とするデータの中で、挿入/更新/削除を成功した行数が格納されます。
  • デフォルト値は0です。
error_count 入力とするデータの中で、挿入/更新/削除を失敗した行数が格納されます。
  • デフォルト値は0です。
commit_type 実行したコミットタイプの選択肢番号(1, 2, 3)が格納されます。
  • デフォルト値は1です。
  • それぞれの番号の意味は、以下の通りです。
    • 1:Rollbackあり
    • 2:Rollbackなし(エラー行で停止)
    • 3:Rollbackなし(エラー行をスキップ)
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
<グローバルリソース名>:BusinessConnector接続先が不正です。
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
BusinessConnectorException
<グローバルリソース名>入力項目が足りません。AX接続できません。
[接続先]で選択されたリソースの入力項目が足りません。 [接続先]で指定したグローバルリソースの入力項目を確認してください。
InvalidPropertyConfigurationException
テーブル名にnullは設定できません。
[テーブル名]が入力されていません。 [テーブル名]の入力を確認してください。
BusinessConnectorException
操作が失敗しました。レコード <テーブル名> は存在しません。
入力した[テーブル名]の値が正しくない可能性があります。 Microsoft Dynamics AX内部テーブルの名前を確認してください。
VerificationException
アクションは不正です。
選択したアクションが正しくない可能性があります。 [アクション]を確認してください。
InvalidPropertyConfigurationException
カラムの設定がありません。
[入力/カラム]が入力されていません。 [入力/カラム]の設定を確認してください。
BusinessConnectorException
The supplied method arguments are not valid.
入力した[入力/カラム名]の値が正しくない可能性があります。 Microsoft Dynamics AX内部テーブルのカラム名と一致しているかどうかを確認してください。
BusinessConnectorException
static void NetExecuteStmt(<テーブル名> axTbl_0)
{ select forupdate axTbl_0 where axTbl_0.<入力/カラム名> == [入力データ]の値;} をコンパイルできません
キーとして指定したカラムの名前[入力/カラム名]の値が正しくない可能性があります。 Microsoft Dynamics AX内部テーブルのカラム名と一致しているかどうかを確認してください。
BusinessConnectorException
入力文字列の形式が正しくありません。
入力データがMicrosoft Dynamics AX内部のデータ型にキャストできない可能性があります。 [入力/型]で設定したデータ型と、Microsoft Dynamics AX内部のデータ型を確認してください。
CannotConvertException
<列番号>列目でエラー発生: Columnロジック - <入力データ>型から<Native型>型に変換できませんでした。
選択した[入力/型]の値と一致していないデータが入力データ集合に含まれる可能性があります。 入力データを確認してください。
InvalidPropertyConfigurationException
キーカラムが指定されていません。
更新時、全てのカラムが[チェックなし]に設定されている可能性があります。 [入力/キー]の設定を確認してください。
[入力/キー]の設定が有効である場合、更新条件となるカラムの設定に、チェックを入れる必要があります。
InvalidPropertyConfigurationException
更新カラムが指定されていません。
更新時、全てのカラムが[チェックあり]に設定されている可能性があります。 [入力/キー]の設定を確認してください。
[入力/キー]の設定が有効である場合、更新対象となるカラムの設定に、チェックを外す必要があります。

注意事項

更新について

テーブル書き込み/更新/削除処理で更新を行う場合には、[入力/キー]にチェックを入れ、キーとなる[入力/カラム名]を選択します。
キーとして選択したカラム名がUPDATE文のWHERE句に指定され、更新条件となり、キー以外のカラムの値で更新条件と一致した行を更新します。

更新

複数のキーを更新条件として指定できます。キーとして選択した全てカラムが一致する行を更新します。