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.
- 1 Introduction
- 2 Listen to Pricefx Rabbit MQ Events
- 3 Aggregate Price List Events from Pricefx
- 4 Execute Pricefx Formula to Prepare Price Condition Records in Pricefx from Price List
- 5 Get Price Condition Records from Pricefx and Create Price Conditions in SAP S4HANA without Price Scales
- 6 Write Records to SAP ACK Product Extension in Pricefx
- 7 Logging
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:
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:
Main receiver – The integration flow which processes the events.
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:
Sender – The process direct incoming path of this integration flow.
Main receiver – The integration flow which processes the aggregated events.
Error receiver – The error handling integration flow.
Transaction handling
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.
Below parameters have to be configured:
Pricefx connection properties and Acknowledgement Product Extension table
Request to execute formula
Below parameters can be configured but default values are provided:
Sender – The process direct incoming path of this integration flow.
Main receiver – The integration flow which processes the generated Price Condition records.
Error receiver – The error handling integration flow.
Transaction handling
Error data store
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:
Pricefx connection properties and Acknowledgement Product Extension table
OData connection properties
Below parameters can be configured but default values are provided:
Main receiver – The integration flow which updates the results of the Price Condition records.
Error receiver – The error handling integration flow.
Log receiver – The log handling integration flow.
AIR receiver – The integration flow which retrieves AIR from Pricefx.
Transaction handling
Parallel processing of batches
Message mapping that builds batch SAP S/4HANA Price Condition create request from Price Condition records in Pricefx
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.