5.2.1.18.9. エンティティデータの削除[ロックあり]¶
IM-Repositoryの楽観的排他制御に対応したエンティティデータの削除を行うタスクです。
楽観的排他制御により、ロックキー optimisticLockKey に指定した値とデータ削除時の値が一致しない場合はエラーが発生します。
エンティティに楽観的排他制御の設定がない場合は、通常のエンティティデータの削除タスクと同様に動作します。
5.2.1.18.9.1. プロパティ¶
| 項目名 | 必須/任意 | 型 | 初期値 | 説明 |
|---|---|---|---|---|
| エンティティID | 必須 | text | なし | 検索アイコンをクリックし、「エンティティ検索」ダイアログで対象のエンティティを選択してください。 |
5.2.1.18.9.2. 入力値¶
im_repositoryEntityDataDeleteWithLock <object> *
├─ deleteKeys <imr_entity> *
│ └─ %primary keys%
└─ optimisticLockKey <imr_entity>
└─ %optimistic lock key%
| 項目名 | 必須/任意 | 型 | 配列/リスト | 説明 |
|---|---|---|---|---|
| im_repositoryEntityDataDeleteWithLock | 必須 | object | なし | |
| deleteKeys | 必須 | imr_entity | なし | - |
| %主キー項目のLogicDesignerの変数名% | 任意 | %主キー項目のLogicDesignerのデータ型% | なし | プロパティで指定したエンティティの主キー項目が自動的に生成されます。 |
| optimisticLockKey | エンティティに楽観的排他制御設定がある場合は必須 | imr_entity | なし | - |
| %排他制御項目のLogicDesignerの変数名% | 任意 | %排他制御項目のLogicDesignerのデータ型% | なし | エンティティの排他制御項目が自動的に生成されます。 |
5.2.1.18.9.3. 出力値¶
im_repositoryEntityDataDeleteWithLock <object>
└─ count <integer>
| 項目名 | 型 | 配列/リスト | 説明 |
|---|---|---|---|
| im_repositoryEntityDataDeleteWithLock | object | なし | - |
| count | integer | なし | 削除件数 |
コラム
楽観的排他制御エラー発生時は、処理結果情報のエラーメッセージ errorMessage に以下のメッセージが設定されます。
[E.IWP.LOGIC.FLOW.00251] 他のユーザによってエンティティデータが更新されています。(entityId=%entityId%)
例外処理で楽観的排他制御エラーかどうかを判定する場合は、処理結果情報のエラーメッセージによる条件判定を行います。
条件式: ${ $task_result.errorMessage.startsWith( ‘[E.IWP.LOGIC.FLOW.00251]’ ) }