bw_update_composite_provider
Modify SAP BW/4HANA CompositeProvider (HCPR) components—fields, source providers, mappings, joins, and settings—and receive 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. Settings: "update_settings" edits label, stackable, default node and aggregation behaviour.
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". | |
| 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"). | |
| 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. | |
| composite_provider_name | Yes | Technical name of the CompositeProvider (e.g. "HCPR_NAME"). |