bw_update_composite_provider
Modify SAP BW/4HANA CompositeProvider fields, source providers, field mappings, joins, and settings; every change returns a lock_handle required for activation.
Instructions
Change a CompositeProvider (HCPR): its fields, its source providers, their field mappings, the join condition, or root settings. Every action returns a lock_handle that must be passed to bw_activate (object type hcpr) — an HCPR cannot be activated without it. Fields: "add_field" (default) adds an element plus a mapping in every part provider supplying it, taking the field metadata from there; "remove_field" removes the element and all mappings referencing it. Sources: "add_input" attaches a source provider, creates the target elements it needs and returns the generated alias; "remove_input" strips one by alias, leaving its elements and any join reference behind. Mappings: "update_mapping" replaces the complete mapping list of one input; pass no mappings to map every field of its source one to one. This is also how an input attached at creation time gets its mappings. Joins: "update_join" sets the condition between one pair of inputs — call it once per pair to build an N-way join — and "remove_join" drops one pair. Note that both sides of a join key must be mapped onto the SAME target field, otherwise activation fails with "join fields need at least one common target field"; auto-mapping does not do this, so map the second side's key fields explicitly. Field groups and name usage: every field the tool creates goes into a field group (CHARACTERISTICS or KEYFIGURES unless dimension names another) and, when it is named after its InfoObject, uses that InfoObject directly by name — the form a query needs to find it. "update_fields" moves existing fields into a group and/or switches their name usage; "update_group" creates a group, changes its label or renames it. Navigation attributes: "update_navigation_attributes" switches navigation attributes of one InfoObject-bound field on or off. In a union every part provider that supplies the field must deliver the attribute too: an aDSO does, an aggregation level or another CompositeProvider only when it lists the attribute as a field; the result warns about parts that cannot. Settings: "update_settings" edits label, stackable, default node and aggregation behaviour.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"composite_provider_name": "<composite_provider_name>"
},
"name": "bw_update_composite_provider"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | update_settings: new description. update_group: label of the field group. | |
| action | No | Defaults to "add_field". | |
| enabled | No | update_navigation_attributes: true (default) switches the attributes on, false switches them off. | |
| mappings | No | add_input / update_mapping. Omit or pass an empty list to map every field of the source one to one. | |
| dimension | No | Field group name (e.g. "GROUP_NAME"). add_field / add_input / update_mapping: group for the fields the call creates, defaults to CHARACTERISTICS or KEYFIGURES. update_fields: group to move the listed fields into. A group other than the two defaults must be declared first with "update_group". update_group: the group to create, relabel or rename. | |
| join_type | No | update_join: "inner" (default), "leftOuter", etc. — lowercase first letter. | |
| key_pairs | No | update_join: the join key field pairs, named as they appear on each side's own source. | |
| stackable | No | update_settings. | |
| transport | No | Optional transport request (e.g. DEVK900123). Omit for local objects. | |
| left_alias | No | update_join / remove_join: alias of the left input. | |
| name_usage | No | How an InfoObject-bound field is exposed. "direct" uses the InfoObject directly by name, so a query finds the field under the InfoObject name; "unique_name" exposes it as "<prefix>-<FIELD>" instead. add_field / add_input / update_mapping: applies to the fields the call creates; defaults to "direct" for a field named after its InfoObject, "unique_name" otherwise. update_fields: switches the listed existing fields. | |
| cardinality | No | update_join: defaults to "CN_N". | |
| input_alias | No | remove_input / update_mapping: alias of the input (e.g. "U1.ADSO.1"). | |
| right_alias | No | update_join / remove_join: alias of the right input. | |
| default_node | No | update_settings: path reference to the default view node (e.g. "#///U1"). | |
| provider_name | No | add_input: technical name of the source InfoProvider to attach. | |
| provider_type | No | add_input: TLOGO-style suffix used in the generated alias (e.g. "ADSO"). Defaults to "ADSO". | |
| info_object_name | No | add_field / remove_field / update_fields: field name or comma-separated list (e.g. "IOBJ_NAME" or "IOBJ_A,IOBJ_B"). update_navigation_attributes: the one field whose navigation attributes change. | |
| source_providers | No | add_field only. Comma-separated part provider names or aliases (e.g. "PROVIDER_NAME" or "U1.ADSO.1") to restrict which inputs get a mapping. Omit to map the field in every part provider that contains it. | |
| new_dimension_name | No | update_group: rename the group to this name; its fields move along. | |
| aggregation_behaviour | No | update_settings. | |
| navigation_attributes | No | update_navigation_attributes: attributes to switch, by attribute name ("ATTR_NAME") or as "<FIELD_IOBJ>__<ATTR_NAME>". Only navigation attributes of the InfoObject behind the field qualify; an unknown name is refused with the offered ones listed. | |
| composite_provider_name | Yes | Technical name of the CompositeProvider (e.g. "HCPR_NAME"). |