bw_update_adso
Update aDSO structures by adding or removing fields, changing settings, managing key fields, or modifying field properties. Returns a lock handle for activation.
Instructions
Add/remove fields, change aDSO type/settings, manage key fields, or update individual field properties. action "add_field" (default): add one or more InfoObject-backed fields — infoobject_name required. action "remove_field": removes the field from the aDSO (and from the key if it was a key field). action "add_pure_field": add one or more pure (non-InfoObject) fields — pass fields array with name, label, data_type, optional length/precision/scale/aggregation_behavior/is_key. action "update_settings": change aDSO type preset and/or individual boolean flags — no infoobject_name needed. action "manage_keys": replace the complete key field list — pass key_fields array (empty = no key fields). action "update_field_properties": modify sidDeterminationMode, aggregationBehavior, fixedCurrency/Unit, or descriptions of a single field — pass field_name and properties. Returns a lock_handle that must be passed to bw_activate to complete the operation. Sequence: bw_update_adso → bw_activate (adso) → bw_activate (trfn) → bw_activate (each dtpa).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| adso_name | Yes | aDSO name (e.g. "ADSO_NAME"). | |
| infoobject_name | No | InfoObject name or comma-separated list to add or remove (e.g. "IOBJ_NAME" or "IOBJ_A,IOBJ_B"). Required for add_field and remove_field. | |
| action | No | "add_field" (default), "remove_field", "add_pure_field", "update_settings", "manage_keys", or "update_field_properties". | |
| fields | No | Pure field definitions for action "add_pure_field". | |
| field_name | No | Field name to modify (only for action "update_field_properties"), e.g. "FIELD_NAME" or "AMOUNT_P". | |
| properties | No | Field properties to update (only for action "update_field_properties"). | |
| key_fields | No | List of field names that should be key fields (only for action "manage_keys"). Empty array removes all key fields. | |
| settings | No | Settings to apply (only for action "update_settings"). | |
| transport | No | Transport request number (e.g. DEVK900123). Only required if the BW system requires transport assignment. |