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.

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.

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') from Pricefx via Pricefx MQ Integration Adapter or RabbitMQ Adapter for SAP Integration Suite. 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’.

 

Below parameters have to be configured:

  1. Pricefx MQ Integration 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 Price List 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.

 

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. Error receiver – The error handling integration flow.

  4. Transaction handling

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

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

This integration flow executes a formula to create Price Condition records in the Acknowledgement Product Extension table in Pricefx. 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.

execute formula price condition.jpg

Below parameters have to be configured:

  1. Pricefx connection properties and Acknowledgement Product Extension table

  2. Request to execute formula

 

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. Error receiver – The error handling integration flow.

  4. Transaction handling

  5. Error data store

  6. Page size of the formula

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

This integration flow retrieves Price Condition records from the Acknowledgement Product Extension table in Pricefx and creates Price Conditions in SAP S/4HANA by OData in batches. The results from SAP S/4HANA are then processed and written back to the table. Price scale is not supported in this version. Before calling OData service of SAP S/4HANA, the flow has to retrieve Application Interface Register (AIR) from Pricefx. See Get AIR key from Pricefx.

Any valid messages which cannot be processed successfully will be written to the retry datastore. See Error Handling.

 

Below parameters have to be configured:

  1. Pricefx connection properties and Acknowledgement Product Extension table

  2. OData connection properties

 

Below parameters can be configured but default values are provided:

  1. Main receiver – The integration flow which updates the results of the Price Condition records.

  2. Error receiver – The error handling integration flow.

  3. Log receiver – The log handling integration flow.

  4. AIR receiver – The integration flow which retrieves AIR from Pricefx.

  5. Transaction handling

  6. Parallel processing of batches

  7. Message mapping that builds batch SAP S/4HANA Price Condition create request from Price Condition records in Pricefx

  8. Message mapping that extracts keys of Price Condition records in Pricefx

Write Records to SAP ACK Product Extension in Pricefx

The integration flow writes the results of the Price Condition synchronization back to Pricefx Acknowledgement Product Extension. Each processed record is updated with the condition record number or error message after the integration flow is completed.

It is copied from “Write records to Pricefx” from the “Sample artifacts for SAP S/4HANA Integration with Pricefx” package. You can copy and modify your own flow in another package if you have a different acknowledgement table.

For explanation and configuration of this integration flow, see Write Records to Pricefx.

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.