The current implementation of Post Production Check (PPC) has following limitations which cannot be addressed without architectural change and major rewrite of the subsystem:


Dataglide data used for comparison

Data received from the Vendor go through a pipeline transformation and then are compared with Dataglide current data. 

While this assumption works well with majority of cases, sometimes it is not possible to transform data received from the Vendor to match the format stored in Dataglide especially when the data are missing stripped down while sending data to Vendor.


For example, in Dataglide a country can appear in the list of registered countries with reg status "N". This is required when "Reg Marketing Distribution" is "Res" for foreign funds in Switzerland. However, when the feed from Vendor includes only countries where the fund is registered, the CH entry will be missing. There is no place in the system where we could perform transformation of reg data from Dataglide before performing the comparison.

The system should probably allow to apply transformation from Dataglide Model to Vendor model before comparison.


Related tickets:

https://dataglide.freshdesk.com/a/tickets/3789 Countries of Registration

https://dataglide.freshdesk.com/a/tickets/5816 Allianz - FundInfo - OFST6030CH and OFST6031CH



Lookups mapping validity


PPC lookups, are specific to given vendor, but active across all clients and all share classes. 

While lookups work well for fields holding data which can be normalised, for example Domicile can be mapped from "Luxembourg" to "LU", for some fields the mapping is more tricky. 


For example "Class" field is quite often not normalised. It would typically include a symbol of the class e.g. "I", but some clients also store there share class currency, distribution policy and information about hedging, e.g. "I (EUR) Acc Hedged". While adding a mapping of "AT" to "AT (EUR)" seems justified in a case when the share class currency is EUR, the mapping will be active for all share classes even if the share class currency is "USD".


For that reason using a lookup for the "Class" field does not seem right. What system should probably do is to store a match of "AT" to "AT (EUR)" only in the context of given share class. By doing this we would avoid exceptions being generated each time the file is ingested and at the same time keep the mapping isolated from other share classes.


Related tickets:

https://dataglide.freshdesk.com/a/tickets/4776