Tuesday, January 26, 2016

Metadata changes - what changes?

Just saw a post today on the Oracle OTN forum regarding metadata changes. I gave a short answer there and I'll give a more detailed one here.

The question is: what happens to data when metadata changes (adds, moves, deletes) are made.

Answer: it depends on the circumstances.

First, adds. Adding new metadata will not affect the data. I say "will not" but keep in mind I can write a rule that says if the account starts with 123 then make it equal to 1 and if I add account 12345 then the rule will run, create a 1, and now my data is changed. I'm ignoring weird stuff like that for this post.

Next, deletes. Deleting metadata will cause data changes (pretty obvious but just including it for completeness). If the data wasn't cleared first, the records will be orphaned and can be cleared by running Delete Invalid Records from the Manage Data screen. 

Next, renaming or changing the label of a metadata item. If the application is Classic, then this is treated as a delete and add, so data will be lost. If this is needed then extract the data first, make the change, and then reload (I'd maybe go a step further and do the add with the new label, reload the data, verify, and then delete the old label). If the application is EPMA, then the member is actually renamed and data is not lost. This is the one feature of EPMA that I like.

Last, moves. Here, there are further conditions...

Account and custom dimensions - parent account and custom members are calculated in memory whenever retrieved, so moving a member will automatically be reflected in the data. This occurs whether the entity is locked, promoted/published, etc. and the behavior cannot be modified.

Entity dimension - if parent entities are locked (I've never recommended doing this but I'm sure someone is out there doing it), then changes to the entity hierarchy will not be reflected. If org by period is in use, then moving an entity must also include updating the [active] system account for when the entity should roll up to the parent. If not using either of these features, then the move will impact the parent entities but only after data is reconsolidated. 

Note: we generally recommend reconsolidating all scenarios/years/periods/entities after making metadata changes. This ensures the data is consistent with the metadata and rules and users don't have the worry about seeing "OK SC" as the consolidation status.