Yesterday Microsoft released a new batch of Cumulative updates for all supported versions (2015-2018) of Microsoft Dynamics NAV.

As part of this CU, the support for GDPR is surfacing:

The NAV platform will have new classification properties on tables and fields. This will help you organize and mark all the places in your database where you have sensitive information that should be covered by your company GDPR compliance.

I suspect we\ll see much more GDPR support in upcoming UCs.

NAV2013R2 and older are out of support and will not receive any GDPR updates. I’m looking into a way for these versions to get the features, reach out to me on twitter if you need this.

So a friend and I talked about how to search for data in NAV across all tables, and I said, I can do that in 10 lines of code 🙂

That’s a “Show Up or Shut Up” moment. So here goes:

Here presented in an older version of NAV, just to show that this works in most versions:

The idea is simple:
1. Loop through all tables
2. For each table, create a RecordRef
3. Loop through all records in the RecordRef
4. Do a text search with STRPOS inside the FORMAT(RecordRef) text string.

The secret here is that the FORMAT command, when used on a Record or a RecordRef returns a TAB separated string with all the fields from the record.

If you want case in-sensitive search, use LOWERCASE on the SearchValue and the output of the FORMAT command.

This is not fast, optimized or anything other that very complete and only 10 lines of code 🙂