Configuration Overview
Describes what "Configuration" of the Pricefx application means and, in a nutshell, the development process. Expected audience are power users, admins, implementation people.
What "Configuration" means
By Configuration of Pricefx application, we mean the process of implementation of a solution for a customer using the Pricefx application.
What can you configure
The Configuration Engineer configures:
Tables
Calculation Logics
System Configuration
Various features
Tables Configuration
You can create new tables and setup their column names and data types. (Note: some tables exist out of the box, and you cannot create another copy.)
Configuration of tables is done in the Pricefx UI.
Usually, people refer to configuration of Master Data tables and Analytics data tables. Generally though, there are more tables you might need to configure, depending on the use-case.
Master Data
Products & Customers (also called Product Master and Customer Master)
Product & Customer Extensions
Company Parameters
Competition Data
Product References (e.g. relations between products)
BoM (Bill Of Materials)
Analytics Tables
DataSources
Datamarts
Optimization
Model
Price Setting
Manual Pricelist
Quoting and Agreements&Promotions
Price Records
Rebates
Rebate Records
Calculation Logics Implementation
Processes (like price calculation, data processing, …​) are implemented via programs in the Groovy programming language. Such programs are called "Calculation Logic" or in short a "Logic".
Note: You can also often spot the former name "Formula" instead of "Logic". This is because the previous programming language was called "Formula" language.
The logics are developed in an IDE, specifically, IntelliJ Idea using the Pricefx Studio plugin. Note: It is also possible to write the logics in a built-in editor in the Pricefx UI, however, this method lacks some features, e.g. autocompletion.
System Configuration
There are many configuration settings, which can be used to modify behavior of the system in certain modules. They can be found under Administration › Configuration.
For a complete list please refer to the documentation.
Various features
There are many other things which can be configured. Some of them are only configuration, but some also require implementation of Logic.
Cross-module features
Dashboards
Calculation Field Set
Configuration Wizards
Calculation Flow
Analytics
Rollups
Price Setting
PL/LPG Types
Quoting
Quote Type
Agreements & Promotions
Contract Term Types
Rebates
Rebate Types
etc.
Development Process
Create/Modify the configuration
Testing
Manual Testing
Automated Testing
Store new version
Deploy to QA/PROD
Create/Modify the configuration
The implementation of the solution by configuration of tables, features, settings, and developing of logics.
Testing
Manual Testing
You should always ensure that your code works and delivers the business value.
You must always ensure your code works before storing to version control system.
Automated Testing
For creation of unit tests for a logic, we have the TDD4C (Test Driven Development For Consultants) framework.
Serves for verification that recent changes have not broken the previous work.
Store/Keep versions
Whenever you develop some new working configuration element, you must always store it to the version control system to ensure:
all developed solutions are safely stored (not only on your computer).
you have different versions, in case you need to rollback.
the version control system storage serves as "source of truth" for the configuration.
Deploy to QA/PROD
After a given part of the development of the solution is ready, you will discuss the progress with the customer and deploy to the QA partition so that the customer can perform user testing.
Once user testing proves the solution works as expected, then at negotiated dates, you may also deploy to the production system.
References
Found an issue in documentation? Write to us.
Â