bw_update_transformation
Maps source fields to target InfoObjects and converts transformation rules to routines, formulas, constants, or lookups in SAP BW/4HANA modeling.
Instructions
Map a source field to a target InfoObject in a Transformation, or convert an existing rule to a field routine (StepRoutine) or formula rule (StepFormula). rule_type="direct" (default): changes a StepNoUpdate/StepInitial rule to StepDirect. rule_type="routine": converts an existing StepDirect, StepInitial, or StepNoUpdate rule to StepRoutine (AMDP field routine). rule_type="formula": writes the rule as StepFormula whatever step type it has now, including an existing formula rule whose text is to be changed — no ABAP class generated, BW evaluates the formula natively. Every operand of the expression is registered as a source of the rule, so a formula over several source fields works; the operands are read out of the formula and need not be listed. rule_type="constant": sets a fixed constant value on the target field — no source field needed. For routine on StepNoUpdate rules, source_field is required. For routine on StepDirect/StepInitial rules, source_field is ignored (field is already mapped). source_field is always ignored for rule_type="constant". rule_type="direct" with unit_source_field set: creates a COMBINED key-figure + unit/currency direct rule (multi-source/target) — maps a quantity together with its unit (or an amount with its currency) in one rule, as the Eclipse rule editor shows it. A rule on a key figure with a currency or unit takes the value over unconverted unless conversion is set. aggregation sets how the rule aggregates into a target key figure (SUM, MOV, MIN, MAX, NOP), alone or with a rule change. Returns a lock_handle for bw_activate.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| formula | No | Formula expression for rule_type="formula" (required). Source fields are referenced by their technical field name: use /BIC/FIELDNAME for custom InfoObjects (e.g. "/BIC/FIELD_NAME + 10"), or the direct field name for standard InfoObjects. Operators: +, -, *, /. Functions: IF, ABS, CONCATENATE, DATE_YEAR, etc. Comparison operators < > <= >= <> are supported (escaping is handled automatically, in either spelling). Every operand of the expression is wired up as a source of the rule; operands that name a source-segment field are recognised in the expression itself, so a multi-operand formula works without listing them. | |
| rule_type | No | Rule type to assign. "direct" (default): maps source field directly (StepDirect). "routine": converts the rule to an AMDP field routine (StepRoutine) — the server generates the ABAP class automatically. "formula": writes the rule as a formula rule (StepFormula) — requires the formula parameter; also used to change the formula text of an existing formula rule. "constant": sets a fixed constant value (StepConstant) — requires the constant_value parameter, source_field is ignored. "lookup": converts the rule to a StepRead (Lookup) rule — requires lookup_object and lookup_object_type. "no_update": reverts any existing mapping back to StepNoUpdate (no mapping, field stays empty). IMPORTANT: AMDP SQLSCRIPT methods only allow ASCII 7-bit characters — no German umlauts or special symbols in code or comments. | |
| transport | No | Transport request number (e.g. DEVK900123). Only required if the BW system requires transport assignment. | |
| conversion | No | Currency or unit conversion for a direct rule on a key figure with a currency or unit (rule_type="direct"). Omitted or type "none": no conversion — the value is taken over as it is, which is also what direct, formula and constant rules on such a key figure get by default. Type "currency": convert with a currency translation type; type "unit": convert with a unit conversion type. The name is checked against the types defined on the system, and an unknown name is refused with the list of available ones. The source currency/unit comes from source_unit_field, else from the source key figure's own unit reference; a conversion type with a fixed source needs neither. The transformation's currency/unit handling is switched on. | |
| aggregation | No | Aggregation type of the rule on a target key figure: "SUM" (summation), "MOV" (overwrite), "MIN", "MAX" or "NOP" (no aggregation). It decides what happens when several source records end up in one target record. Given alone (with transformation_name and target_infoobject only), it changes the aggregation and leaves the rule as it is; given with a rule change, both are saved together. Refused for a target field whose aggregation the target does not let a transformation override. | |
| source_field | No | Source field name in the source segment (e.g. "FIELD_NAME"). Required for rule_type="direct" if the existing rule has no source mapping. Also required for routine/formula when the target has no source mapping yet (StepNoUpdate). Required for rule_type="lookup". | |
| lookup_object | No | Name of the InfoObject or aDSO to read from (Nachlese-Objekt). Required for rule_type="lookup". | |
| constant_value | No | Constant value for rule_type="constant" (required). The value is written as-is into the target field during data loading. Example: "X" for a flag field, "USD" for a currency field. | |
| target_infoobject | Yes | Target InfoObject name in the target segment (e.g. "IOBJ_NAME"). | |
| unit_source_field | No | Source unit/currency field for a COMBINED key-figure + unit/currency direct rule (rule_type="direct"). When set, target_infoobject is the key figure and this is the source field that fills its unit or currency. The target unit/currency field is derived automatically from the key figure's unit reference in the aDSO (the target key figure must reference a unit/currency field). The standalone unit/currency rule is folded into the combined rule and the transformation's currency/unit handling is switched on. Example: target_infoobject="QUANTITY", unit_source_field="QUANTITYUNIT". | |
| lookup_object_type | No | Type of the lookup object. "IOBJ" for InfoObject, "ADSO" for aDSO. Required for rule_type="lookup". | |
| transformation_name | Yes | Transformation name (UUID-like key). | |
| additional_source_fields | No | Additional source fields for rule_type="formula" when the formula references more than one source field. Combined with source_field, all listed fields are registered as inputs on the StepFormula rule — alongside the operands read out of the formula itself, so this is only needed for a field the expression does not name under its source-segment name. Example: ["QUANTITY_SOLD", "COST_PER_UNIT"]. |