Event-driven Process (Price Condition Management)

This article describes how SAP Integration Suite can enable synchronization between Pricefx Price Lists and SAP S/4HANA Price Conditions using event-driven approach.

Introduction

When a Price List is approved, each item becomes one or more Price Conditions in SAP S/4HANA. The Price Condition records to be exported to SAP S/4HANA are stored in an Acknowledgement Product Extension table in Pricefx and after the synchronization is completed, the results are written back to this table.

image-20230515-023407.png

Price Parameters Storing Price Conditions Configuration in Pricefx

When generating Price Conditions from Price List items, extra fields required by SAP S/4HANA have to be provided. These configurations are stored in Price Parameters in Pricefx. You can modify these values according to your needs.

price condition map.png

Supported types are: Price List, Matrix Price List, Live Price Grid, Matrix Live Price Grid.

Listen to Pricefx Rabbit MQ Events

The integration flow listens to Price List approval events ('ITEM_APPROVED_PL'). Please raise a support ticket to obtain the RabbitMQ connection properties and enable the required Pricefx events.

The event type, event type code and event object typed ID are extracted by ‘Message Mapping Extract Price List Information’.

image-20250319-003301.png

Below parameters have to be configured:

  1. RabbitMQ Adapter – Pricefx RabbitMQ connection properties and the name of the event queue.

Below parameters can be configured but default values are provided:

  1. Main receiver – The integration flow which processes the events.

  2. Transaction handling

Aggregate Pricelist Events from Pricefx

The integration flow aggregates Price List approval events from Pricefx. The aggregated events are forwarded to the next integration flow to get the execute formula to create Price Condition records in Pricefx. Any events which cannot be processed successfully will be written to the log by email.

image-20250319-003755.png

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Main receiver – The integration flow which processes the aggregated events.

  3. Headers of receiving process

  4. Error receiver – The error handling integration flow.

  5. Transaction handling

  6. Message Log Identifier properties

  7. Aggregator properties – Defines how the product events should be aggregated.

Get Pricefx Price List by ID

This integration flow retrieves the price list by the price list ID from the Pricefx event.

image-20250319-004010.png

 

Below parameters have to be configured:

  1. Pricefx connection properties and operation properties

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Main receiver – The integration flow which processes the price list.

  3. Error receiver – The error handling integration flow.

  4. Transaction handling

  5. Mapping to extract price list information

  6. Message Log Identifier properties

Execute Pricefx Formula to Prepare Price Condition Records in Pricefx from Price List

This integration flow executes a Pricefx formula to create price condition records to be exported to SAP S/4HANA and initiates a request to create price conditions in SAP S/4HANA.. You should contact Pricefx project team to build the formula in Pricefx to transform Price List records to Price Condition records according to your business requirements.

image-20250319-020357.png
image-20250319-020613.png

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Main receiver – The integration flow which processes the generated price condition records.

  3. Formula receiver - The integration flow which executes the Pricefx formula to generate the price condition records.

  4. Error receiver – The error handling integration flow.

  5. Transaction handling

  6. Message Log Identifier properties

Execute Pricefx formula to create Price List Price Condition

This integration flow executes a Pricefx formula to format and store price condition records to be exported to SAP S/4HANA in the acknowledgement product extension table in Pricefx from approved price lists.

image-20250319-021836.png

Below parameters have to be configured:

  1. Pricefx connection properties and operation properties

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Error receiver – The error handling integration flow.

  3. Transaction handling

  4. Message Log Identifier properties

Get Price Condition Records from Pricefx and Create Price Conditions in SAP S4HANA with Price Scales

This integration flow retrieves Price Condition records from the Acknowledgement Product Extension table in Pricefx.

image-20250319-022423.png
image-20250319-022430.png

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Main receiver – The integration flow which creates sales condition records in S/4HANA.

  3. Fetch next page receiver – The JMS publisher which publishes message to the fetch price condition record request queue to fetch the next batch of the Price Condition records.

  4. Error receiver – The error handling integration flow.

  5. Fetch conditions receiver – The integration flow which fetches the price condition records from Pricefx.

  6. Transaction handling

  7. Splliter properties

  8. Message Log Identifier properties

Fetch sales condition records from Pricefx SAP ACK Product Extension

This integration flow fetches sales conditions from Pricefx product extension.


image-20250319-025806.png

Below parameters have to be configured:

  1. Pricefx connection properties and operation properties

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Error receiver – The error handling integration flow.

  3. Transaction handling

  4. Message Log Identifier properties

Create Sales Price Conditions in SAP S4HANA from Pricefx SAP ACK Product Extension

This integration flow creates sales price condition in SAP S/4HANA by standard Pricing Condition OData API and returns the formatted response to Pricefx.

image-20250319-031053.png
image-20250319-031100.png

Below parameters have to be configured:

  1. OData connection properties

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Main receiver – The integration flow which writes condition record results to Pricefx.

  3. Get AIR key receiver - The integration flow which gets the AIR key from Pricefx.

  4. Build OData request receiver - The integration flow which builds the OData request.

  5. Error receiver – The error handling integration flow.

  6. Transaction handling

  7. Message Log Identifier properties

Build SAP S4HANA Sales Price Condition Batch Create Request from Pricefx SAP ACK Product Extension

This integration flow converts Pricefx price condition product extension response to SAP S/4HANA Sales Price Condition request.

image-20250319-032400.png

Below parameters can be configured but default values are provided:

  1. Sender – The process direct incoming path of this integration flow.

  2. Error receiver – The error handling integration flow.

  3. Mapping to build SAP S/4HANA Sales Price Condition request.

  4. Transaction handling

  5. Message Log Identifier properties

Write Records to Product Extension Tables in Pricefx

The integration flow transforms the response from SAP S/4HANA and writes the records to acknowledgement product extension table in Pricefx.

For explanation and configuration of this integration flow, see Product Master Management | Write Records to Product Extension Tables in Pricefx

Error Handling

Default error handling is handled by JMS retry. See https://pricefx.atlassian.net/wiki/x/AYAwaAE

Logging

All the logs are forwarded to Send Log to email by default. You can configure your own log handling process by configuring the parameters of log receivers and error receivers in the integration flows.