Update Records
Description
Updates one or more records in an SAP Business Object based on specified filter conditions.
The activity uses SAP OData APIs and supports SAP systems that expose OData services, including SAP S/4HANA Cloud and SAP S/4HANA On-Premises environments.
Use the Filter tab to identify the records to update and the Field Mapping tab to specify the field values to apply to the matching records.
Common settings
Use Process Data to bind supported inputs to workflow values or upstream outputs. See Common Activity Features for shared execution, error-handling, and output-persistence settings. Availability depends on the activity.
Design-Time Configuration
Display Text
A user-defined name for the activity, displayed on the workflow canvas to help identify its purpose.
Connection Name
The configured SAP connection used to access the SAP system.
The connection determines the SAP system and the OData services available to the activity.
If you have not yet created or configured an SAP connection, see SAP Connection.
Service
The SAP OData service containing the Business Object whose records you want to update.
The available services are retrieved based on the selected SAP connection.
Business Object
The Business Object containing the records you want to update.
The available Business Objects depend on the selected Service.
OData Version
Specifies the OData protocol version used to communicate with the selected SAP service.
| Option | Description |
|---|---|
| Auto | Automatically determines the appropriate OData version based on the configured connection URL. This is the default option. |
| OData V2 | Uses the OData V2 protocol to communicate with the SAP service. |
| OData V4 | Uses the OData V4 protocol to communicate with the SAP service. |
Use the default Auto option unless you specifically need to force the activity to use OData V2 or OData V4.
Timeout
Maximum HTTP request duration in seconds. The default 0 uses the selected connection's timeout. Set a positive value to override it for this activity.
Execution settings
Configure Wait All Incoming when execution paths converge, and On Error for failure handling. Select Inherit where available to use the workflow-level error policy.
Filter
The Filter tab allows you to define the conditions used to identify the SAP Business Object records to update.
The available fields for defining filter conditions depend on the selected Business Object.
Filter values can be provided directly or configured dynamically using Process Data.
All records that match the configured filter conditions are updated by the activity.
Ensure that the filter conditions identify only the records you intend to update.
A filter that matches multiple records results in the configured field changes being applied to all matching records.
When updating a specific record, use fields that uniquely identify the record whenever possible.
Field Mapping
The Field Mapping tab allows you to specify the fields to update and the values to assign to them.
The available fields are determined by the selected Business Object.
Values can be provided directly or dynamically using Process Data, including Agent Data, Workflow Data, Form Data, System Data, Enterprise Variables, and Activity Outputs.
The configured field mappings are applied to every record that matches the conditions defined in the Filter tab.
Only map the fields that need to be changed. Fields that are not included in the Field Mapping are not intended to be updated by the activity.
Concurrency and partial failures
| Property | Behavior |
|---|---|
| ETag Mode | AutoFetch reads the current ETag before writing; Provided uses If-Match ETag; Ignore sends a wildcard; None sends no version condition. Default: AutoFetch. |
| If-Match ETag | Required for Provided mode. Obtain it from Get Record when appropriate. |
| ETag Retry Max | Maximum ETag refresh/retry attempts after a version conflict in AutoFetch mode. Default: 1. |
| Continue On Error | Continue the batch after an individual SAP request fails. Default: False, which stops at the first failure. |
This batch setting is distinct from the workflow's On Error policy. Completed record writes are not undone when a later record fails. With Continue On Error enabled, inspect Failures, whose items include Key, ErrorCode, and Message.
Matched Records Count reports the selected records; Affected Records Count reports successful writes. An empty selection produces zero counts. Filter-based writes require a concrete, nonempty Filter; the activity rejects a missing filter rather than treating it as permission to change all records.
For a normal workflow activity, an operation-level exception follows On Error. When used as an AI tool, the activity can return zero counts and a Failures message so the agent can inspect the error. Check Failures as well as the counts.
Output
Affected Records Count
The number of SAP records that were successfully updated by the activity.
Matched Records Count
The number of SAP records that matched the conditions configured in the Filter tab.
This value may be greater than the Affected Records Count if one or more matching records could not be updated.
Failures
Contains details about records that could not be updated successfully.
Use this output to inspect individual update failures when the activity processes multiple matching records.
Remarks
-
The available Business Objects depend on the selected Service.
-
The fields available in the Filter and Field Mapping tabs depend on the selected Business Object.
-
The authenticated SAP user must have permission to update records in the selected Business Object.
-
All records matching the configured Filter conditions are updated.
-
Use appropriate filter conditions to ensure that only the intended records are updated.
-
When updating a specific record, use a unique identifier or a combination of filter conditions that uniquely identifies the record.
-
Only map the fields whose values need to be changed.
-
SAP may reject an update based on business rules, field restrictions, record state, or other validations configured in the SAP system.
-
Matched Records Count indicates how many records matched the configured filter.
-
Affected Records Count indicates how many records were successfully updated.
-
If some matching records fail to update, review the Failures output for record-level failure details.
Example: Target one business record
Use the connection, service, and Business Object for the intended record. Build a filter on its unique technical key, such as PurchaseOrder = '4500001237' for a compatible object. Map only the scalar fields to change in Field Mapping. Keep ETag Mode at AutoFetch unless another concurrency policy is required.
After execution, compare matched and affected counts and inspect Failures. A filter can match several records; use unique-key conditions when exactly one write is intended.