bw_update_composite_provider
Modify a CompositeProvider (HCPR): add/remove fields, attach/detach source providers, update mappings and join conditions, adjust settings. Returns lock handle 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. Settings: "update_settings" edits label, stackable, default node and aggregation behaviour.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | update_settings: new description. | |
| 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. | |
| 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. | |
| 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: 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. | |
| aggregation_behaviour | No | update_settings. | |
| composite_provider_name | Yes | Technical name of the CompositeProvider (e.g. "HCPR_NAME"). |