In this section:
Table of Contents | ||||
---|---|---|---|---|
|
...
If you maintain user roles outside Pricefx, you will have to make an update reflecting this change.
Backward Compatibility Issues with ResultMatrix
Description
In Hurricane 9.0 Java package of ResultMatrix class has been changed: net.pricefx.server.dto.calculation
=> net.pricefx.formulaengine.scripting.portlets
The interface made in the original location is backwards compatible, but inner classes e.g.
ResultMatrixStyledCell
and properties likeentries
are not.As a result,
import net.pricefx.server.dto.calculation.ResultMatrixStyledCell
crashes.
Impact
This issue affects specific projects that started with version lower than Hurricane 9.x and were upgraded to 9.x.
It affects only a minority of projects which use some specific patterns in the code (usage of strong typing, importing fully qualified class names etc.).Projects started with version 9.x are not impacted.
How to Prevent This Issue
If you use the functionality of
ResultMatrixStyledCell
,entries
,getEntries()
etc., test it properly. For example, if the Groovy logic usesResultMatrix
in a way that is not compatible, there will be an error in the logic (e.g. dashboard will not display or quote calculation will fail).If you have IMs reading
ResultMatrix
data, test the functionality.In some cases, the issue can be fixed if you re-save faulty logics and – if needed – the libraries they depend on.
In other cases, you may have to modify the logics (e.g. correct type name).
Fix
Release 9.3 covers all currently known issues. For any customer still experiencing ResultMatrix related errors in 9.3 or later, support should run the
/system$ReSaveFormulas/<partition_name>
system command.
Recommendations:Do not try to run this command on pre 9.3 releases (it may cause issues in some Analytics logics).
On AWS, there is a high risk of running out of memory. As a rule of thumb, running it on a couple of partitions with a total of 200-300 logics (across all partitions and logic types, with libs, WFs) is safe. Otherwise contact Core or DevOps so we can raise the memory settings.
On bare metal, there are usually less memory constraints. So up to 5 partitions or a total of 1000 logics sounds safe. Pricefx employees and partners can ask in Core Teams channel if in doubt and also check memory usage in Grafana.
Note
The recommended way to create ResultMatrix is via api.newMatrix()
(not by new ResultMatrix()
).
Upgrade to Version 9.1 and Higher
...
New LineID Created with Revision
Description
A There has been a change to prevent items that have been duplicated in a revision of Quote, Rebate Agreement, etc. showing as duplicated also in the original version. In version 9.1, when a new document revision is created a new lineID is generated for each item.
...
All functions that are passed as params to intercepted methods have become asynchronous in version 9.3. This is a breaking change which can have impact on existing interceptor code.
This change affects only React interceptors. Interceptors created by the Pricefx team have been updated and are available for download.
Original code:
Code Block | ||
---|---|---|
| ||
export const quotesDetailOpen = ({ quoteAPI, api: { notify } }) => { const clicOutputResult = quoteAPI.getHeaderOutputResult('outputName'); notify.info(clicOutputResult); } |
...
Code Block | ||
---|---|---|
| ||
export const quotesDetailOpen = async ({ quoteAPI, api: { notify } }) => { const clicOutputResult = await quoteAPI.getHeaderOutputResult('outputName'); await notify.info(clicOutputResult); } |
Unification of User Roles
In Hurricane 9.3.0, in the Rebates module and Sales Compensations module 4 user roles have been modified, so that the behavior is consistent across the modules and is consistent between frontend and backend permissions.
Please review the changes and update your project setup accordingly.
Additions are marked green, deletions red.
Rebates
In this module, there have been changes in the two below listed user roles.
Role Name | Description | Tab / Document | Actions | ||||||
---|---|---|---|---|---|---|---|---|---|
Add | Edit | Delete | Revoke (RA) | Duplicate | Attributes | Calculate | |||
Administer Rebate Agreements (RM_REBATEAGREEMENTS_ADMIN) | Provides access to Rebate Agreements where the user can perform the listed actions. In addition, this user can revoke Rebate Agreements and delete attachments to Agreements in states other than Draft or Delete/Modify. This user can also create/edit/delete folders for Rebate Agreements. | Rebate Agreements | + | + | + | + | + | - | + |
Rebate Agreement Types | + | + | + | ||||||
To have access to Rebate/Payout Records, you also need the role . | Rebates Records | + | + | + | + | ||||
Payout Records | + | + | + | ||||||
Administer Rebates (RM_REBATEMANAGER) | Provides access to Rebate Calculations, Rebate Agreement Types and Rebate Condition Types and other components listed here where the user can perform the listed actions. This user can also create/edit/delete folders for Rebate Agreements. | Rebate Agreement Types | + | + | + | + | + | ||
Condition Types | + | + | + | + | + | ||||
Rebate Agreements | + | + | + |
| + | + | + | ||
Calculations | + | + | + | + | + | ||||
Rebate Records | + | + | + |
| + | + | + | ||
Payout Records | + | + | + |
| + | + |
|
Sales Compensations
In this module, there have been changes in the two below listed user roles.
Role Name | Description | Tab / Document | Actions | ||||||
---|---|---|---|---|---|---|---|---|---|
Add | Edit | Delete | Revoke | Duplicate | Attributes | Calculate | |||
Administer Sales Compensations Module (SC_ADMIN) | Provides access to the Sales Compensations module components where the user can perform the listed actions. Does not provide access to Sales Compensations logics. | Compensation Plans | +
| + | + |
| + | + | + |
Compensation Records | + | + | + | + | + | + | |||
Condition Types | + | + | + |
| + | + | |||
Compensation Types | + | + | + |
| + | + | |||
Calculations | + | + | + |
|
|
|
| ||
Accrual Records | + | + | + |
|
| + |
| ||
Administer Compensation Plans (SC_COMPENSATIONSMANAGER) | Provides access to Compensation Plans where the user can perform the listed actions. In addition, this user can revoke Compensation Plans and delete attachments to Compensation Plans in states other than Draft or Delete/Modify. This user can also create/edit/delete folders for Compensation Plans. | Compensation Plans | + | + | + | + | - | + | |
Compensation Types | + | + | + | + | + | ||||
To have access to Compensation/Accrual Records, you also need the role Manage Compensation Records. | Compensation Records | + | + |
|
|
|
| + | |
Accrual Records | + | + |
|
|
|
|
|