Plasma Transaction Processor Package Configuration
The below listed chapters represent steps which need to be followed in the given order.
1. General Setting
Make sure the following PP tables include data:
Plasma_Country_Region_Mapping
Plasma_OperatorMapping
Plasma_Transactions_Extractor_Fields
Plasma_Transactions_SequenceControlTable
Plasma_Config
2. Plasma_Transactions_Extractor_Mapping Configuration
Follow the instructions at https://pricefx.atlassian.net/wiki/spaces/ACCDEV/pages/3769499743/Plasma+Configuation+Tables#Plasma_Transactions_Extractor_Mapping.
Example:
3. Plasma_Config Configuration
The PP table description: Plasma Configuration Tables | Plasma_Config.
Plasma_Config general configuration description: https://pricefx.atlassian.net/wiki/spaces/ACCDEV/pages/3842736231/Plasma+General+Configuration#Plasma_Config.
Configure the Plasma_Config table to specify the general configuration, such as the primary source type, name and flag whether the Feeder is used or not. This has to be loaded manually.
4. Feeder Configuration
Feeder general configuration description: https://pricefx.atlassian.net/wiki/spaces/ACCDEV/pages/3842736231/Plasma+General+Configuration#Feeder.
To configure the Feeder (activation) for Transactions:
Open the Data Load “Plasma_Transactions” of the ‘Calculation’ type.
Go to the “4 Calculation” tab.
Select “Plasma_Data_Extractor_Feeder” as the calculation logic for the Feeder and select the entity (either Product or Customer). The Feeder will inject all the rows from the master table. It can be configured to inject only selected IDs by specifying in the SKUs/CustomerIds input field. In order to use the Feeder, the corresponding master table should be joined in the Plasma_Transactions_Extractor_Mapping table, otherwise it will not work.
Configure the Plasma_Config PP table: set the DataPartitionedForLoad field to “Y” and specify the Feeder entity under the FeederEntityFieldInPrimarySource PP (typically CustomerId).
Notes:
To deactivate the Feeder do the opposite.
It is recommended to keep the Feeder activated (or ask for increasing the Maximum In-Memory Count parameter to an appropriate value).
5. Bound Partition Creation
Follow the instructions in the Plasma general configuration: https://pricefx.atlassian.net/wiki/spaces/ACCDEV/pages/3842736231/Plasma+General+Configuration#Bound-Partition-Creation.
6. Currency Exchange Rates
Follow the instructions in the Plasma general configuration: https://pricefx.atlassian.net/wiki/spaces/ACCDEV/pages/3842736231/Plasma+General+Configuration#Currency-Exchange-Rates.
To run this step, open the “Plasma_Transactions_Exchange” Data Load and select “Run now”. To test this, open PA logic “Plasma_Transactions_Exchange”, select DS Context, select the “Plasma_TX” DS, select one row and execute.
7. Distiller
Distiller creates the output data (rolled up monthly) and does not need any configuration.
It rolls up the quotes data for each month, all sellingFrom/sellingTo combinations.
To run it:
Open the “Plasma_Output_Creation” Data Load and select “Run now”. To test this, open PA logic “Plasma_Transactions_Creation” and execute.
Open the “Plasma_Output_Enrichment” Data Load and select “Run now”. To test this, open PA logic “Plasma_Transactions_Enrichment” and execute.
8. Calculation Flows
Deploy the Calculation Flows “Plasma_Transactions_Sequencer” and “Plasma_Transactions_Sequencer_Reset“ to be active.
This starts the sequencing of all the Data Loads (Extractor and Distiller). The progress can be seen in the Plasma_Transactions_SequenceControlTable configuration table, as shown below:
Columns:
Sequence Name
Order: correct order of executing steps
Type: type of logic which will be executed through a step
Action Name: name of an action (logic) that will be executed
Status: current status of a step (PROCESSING, ERROR, DONE)
Last Run: last date when a step was executed
DL Type: type of DataLoad
DL Target: Target of DataLoad
Is Active?: Y/N
This table is also helpful when monitoring the progress of the whole Plasma solution. Deployed Plasma Sequencer triggers by default once per minute and can always be triggered manually.
To reset the progress of the Plasma solution, the Plasma_Transactions_Sequencer_Reset should be used. By default once per 14 days.
The Plasma_Transactions_SequencerControlTable works this way: when the status is empty, it processes every row in the order provided. Once the process is completed for that row, its status changes to DONE and it starts processing the next row. If any row fails, its status changes to ERROR and the processing stops. If that row needs to be reprocessed, manually update the status to empty. If the full sequence needs to be reprocessed, manually update the status of all rows to empty.
9. Exceptions
Mapping Change
If Plasma_Transactions_Extractor_Mapping changes (the values set there are different to those which were present during the previous run of Plasma Data Loads) while the incremental mode is active, then:
The below listed DataSources/Datamarts need to be truncated:
Plasma_TX DS
Plasma_Transactions DM
Plasma_Output_Transactions DM
The last incremental load date in every respective Data Load needs to be reset (set to null):
Plasma_Transactions
Plasma_Transactions_PreviousPrice
Plasma_Transactions_Exchange
Plasma_Ouput_Creation
Plasma_Output_Enrichment
This way it is guaranteed that there is no data inconsistency in the Data Sources and all the included data meet the criteria specified in the PP tables.
10. Additional Configuration
Follow the instructions in the Plasma general configuration: https://pricefx.atlassian.net/wiki/spaces/ACCDEV/pages/3842736231/Plasma+General+Configuration#Additional-Configuration.