1# DataAbilityOperation
2
3The **DataAbilityOperation** module defines the operation on DataAbilities. It can be used as an input parameter of [executeBatch](js-apis-inner-ability-dataAbilityHelper.md#dataabilityhelperexecutebatch) to specify the database operation information.
4
5> **NOTE**
6>
7> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8> The APIs of this module can be used only in the FA model.
9
10## Modules to Import
11
12```ts
13import ability from '@ohos.ability.ability';
14```
15
16## Attributes
17
18**System capability**: SystemCapability.Ability.AbilityRuntime.FAModel
19
20| Name     | Template    | Read Only| Optional | Description      |
21| --------- | -------- |-----| ------| ---------- |
22| uri   | string | No |  No  | URI of the DataAbility. Example: 'dataability:///com.example.xxx.xxxx'. |
23| type   | [featureAbility.DataAbilityOperationType](js-apis-ability-featureAbility.md#dataabilityoperationtype7) | No | No  | Operation type. |
24| valuesBucket   |  [rdb.ValuesBucket](../apis-arkdata/js-apis-data-relationalStore.md#valuesbucket) | No | Yes   | Data value to set. |
25| valueBackReferences   | [rdb.ValuesBucket](../apis-arkdata/js-apis-data-relationalStore.md#valuesbucket) | No | Yes   | **ValuesBucket** object that contains a set of key-value pairs. |
26| predicates   | [dataAbility.DataAbilityPredicates](../apis-arkdata/js-apis-data-ability.md#dataabilitypredicates) | No | Yes  | Predicates to set. If no predicate is set, all data records are displayed. |
27| predicatesBackReferences   | Map\<number, number> | No | Yes   | Back references of the predicates. |
28| interrupted   | boolean | No | Yes   | Whether batch operations can be interrupted. |
29| expectedCount   | number | No | Yes   | Expected number of rows to be updated or deleted. |
30