I have one requirement to search one value on all of our available QVD and drop that value.
Challenges:- We have more then 100 Qvd's available on our source. So we cannot load all the QVD and Search a Specific value. Is there any way to load the meta data and search the value on that. I aware i can load the meta data and can find the all fields name from all the QVD. But after loading the fields from the meta data how can i search a value on all of the fields.
Please let me know if anyone have solution on that or required more details.
The meta-data of the qvd's are rather not very helpful for your described task - unless you could with them exclude some qvd's and/or to identify any possible fields (means excluding other fields) - to reduce the amount of qvd's and/or fields from them. To develop an appropriate logic won't be very easy - therefore there should be a significantly amount of qvd's / fields which might be excluded from the check - and also the load-times of all your data should be so huge that's worth to take these efforts.
In general you couldn't avoid to load the qvd's. Only if they are loaded you could search for any values - this might not mandatory be applied on the data-tables else it could be done with the system-table - by only one single value or a few values it might be just checked with fieldindex().
If you found such a value you need to load this qvd with a where-clause which exclude them and store the qvd again - just a simple dropping of a value and/or a record isn't possible.
After all I could imagine that in your case a "stupid" manually approach might be faster as doing it programmatically.
Beside this I would also consider to apply this adjustment within the logic which has created these qvd's - especially if there are further possibilities in the future that these ETL needs to be done again because otherwise your current task might be needed again and again ...
Here we have lots of historical Qvd's and requirement is like that only. we are storing the customer info inside the Qvd,s we know which fields are having that info and these fields are available on multiple Qvd's. So these QVD's need to be updated once customer left the organization(Means all related record should be deleted from all of the QVD's). I thought some solution will be there without manual effort.
In this case it's possible but you need to implement it within the business logic. This means to use the same CustomerID within all loadings/tables - if there are multiple logics they should be harmonized. Based on such a CustomerID field the inactive customers could be loaded in each routine/logic to be used in a where exists(CustomerID) or maybe also some join/keep or mapping-approaches - to remove them or maybe even better to flag them (if there isn't an absolutely NEED to remove them I would tend to flag them or just use such active/inactive-flag within the customer core-data).
The important thing is that's fully implemented in the business logic because without it you won't never get an automatically solution.