DependencyMappingConfig PP

Dependency mapping defines how different lookup data will be filtered when loaded from a dependent price list. It is available in the DependencyMappingConfig PP and it directly impacts configuration found in PriceSettingConfig PP. Entries in this table have to be present even if you intend to use only the independent level price list.

Column

Value

Description

Column

Value

Description

Key

  • Cost

  • Discount Group

  • Transaction

  • Projection

  • Price Exception

  • Strategy Exception

  • Actual Price

  • Product Competition

  • Rounding

  • Stock

  • Strategy Conditions

Defines how to filter out values from different dependencies. There must be one row for every key defined in this table.

Dependency Field

{name of the label in the DependencyConfiguration PP}

The logic will lookup the Dependency Configuration PP for a dependency being calculated and take a value from the column configured in this field. It will be used as a filter for source data defined in the Source Table row. This filter will be applied to a column configured in Source Field of this configuration row. In the start, it has the "ADJUSTME" value and it must be changed.
Special use cases:

  • Price Exception / Strategy Exception Dependency Mapping – We allow to use MATRIX typed PPs with only one key when the configured type is "PP". In this case, the Condition field value has to be "-" and dependency mapping will not be applied to these results.

Type

  • Lookup

  • Table

  • None

We can do the dependency mapping mechanism in two ways:

  • Lookup – Assumes that you have a Data Source for all countries. e.g. one PX for the product cost for different products and values are defined by a label of the Mapping Source field. So the relationship is defined within the Data Source.

  • Table – Assumes that you have multiple Data Sources for all dependencies. Each dependency has its own data source for a specified dependency mapping mechanism. When you use this type of search, you should also change the value of sourceTable in PriceSettingConfig: the value should include a placeholder that will be swapped with your dependency property defined by the dependency mapping mechanism. The placeholder has this format: <<DependencyPreference>>. In this type of value, the Mapping Source field is ignored because you do not need to filter results inside the data source. Table dependency does not work for competitors because Pricefx has only 1 PCOMP table. An example of usage:

    • Dependency Level Name: Germany

    • Preference1 (from Dependency Configuration): DE

    • Dependency Field: Preference1

    • Source Type: PX

    • Source Table (from PriceSettingConfig): Product Costs <<DependencyPreference>> With this data, the dependency mapping mechanism will search for a PX named Product Costs DE and then perform the lookup.

  • None – To use a Data Source with no dependency info.

Mapping Source Field

{name of the column with the dependency information in the source data}

The label should be taken from the table defined in the lookup on the row from Source Table with the "Lookup" type. It filters results this way:
Filter.equal("${Source Field}", "${valueRetrieviedFromCondition}")

It is important to double-check if this field was set up correctly, as most data lookups in the package utilize api.stream() calls and they will return nothing if you request a field that does not exist on a target object type. For example, "Country" for type PCOMP will not return anything even though a given product has competition data, because the name of the field is "country".