Friday, January 27, 2017

To Lock or Not to Lock - That is the Question

When I talk with clients and other consultants, one of the most controversial topics is whether to lock entities or not. When you lock an entity, no one, including the administrator, can change data in the entity. If the entity is a parent entity, then changes to the entity hierarchy (like removing a child) do not impact the locked entity.

There are two different concerns that companies address with locking: preventing data changes from input and preventing changes from hierarchy movements. The big concern that people have with locking, however, is application rebuilds: if parent entities are locked and changes have been made, it will be (and is) a nightmare to make everything tie out again.

So, lock or don't lock?

I'm not a fan of locking. But I realize the concerns above are valid, so what do you do if you don't lock?

For preventing user changes to data, I prefer to promote the data with process control to where the users cannot make changes and trust the admin not to do something crazy (process control has no effect on administrators).

If you do want to lock, consider locking just the base level entities. That will prevent anyone from making data changes but not cause a problem with a rebuild. 

So if you want to lock parents so that hierarchy changes don't cause impacts, then think about if you have a lot of changes. If not, use alternate hierarchies and/or new entities. But if you do have a lot changes, then consider activating organization by period which is designed for this. 

To me, locking the parent entities is the last thing I want to do. But if you do, keep a version of each month's hierarchy offline (metadata extract) so you can compare back and reconcile when rebuilding. 

Note: locking only protects entities. Parent accounts and parent customs are dynamic calc, so any hierarchy changes in these dimensions will apply to history. Nothing you can do except maintain alternate hierarchies. 

With upgrades many times you can migrate and update the database directly without a rebuild so locking wouldn't be a problem. I've also seen clients keep an archive version of the app each year but that's rare.

But I still wouldn't lock parent entities. 

Wednesday, January 4, 2017

Oracle Data Visualization Cloud Service

For 2017 I thought I would start with something different. I recently spent some time working with the Oracle Data Visualization Cloud Service ("DVCS" from here on out). I had seen a preview of this product before its release and thought it looked great and wanted to try it out.

DVCS is a presentation tool. You provide it the data, it makes sense of it and presents it. The data can come from Excel or various Oracle products. HFM isn't one of them, though.

For this test, I used some data from a recent wine tasting. Note the column headers will be helpful in working with the data later.

Click Data Sources and then click Create New Data Source to add the source (or in the case of Excel upload the file).

Once uploaded, return to Home and create a new VA Project. Once the data source is selected, the different fields can be clicked and dragged to the project - rows, columns, etc. The type of chart can be chosen and table layouts are available too for those who just want to see data.

With this setup below, I'm showing the tasters across the x axis for each wine and filtering the results (located above the bar chart selection) to taste. A score of 5 is good, 1 is bad.

With the above setup, we can see that Honig, Worthy, and Brookman were the leaders.

Changing the setup to a donut chart, removing the tasters, and changing the filter to total score, we can see that the Honig was the winner, with Brookman just beating Worthy for second.

Look at the bottom of the screenshot. Commentary can be added to provide context, etc. For the seven wines we tasted, 14 Hands Hot to Trot was not the best scoring wine, but for the price it provided (in our opinion) the best value.

There are other capabilities of DVCS: blending data (using more than one data source together [think joining tables]), calculations based on the data, multiple visualizations on one page, etc. But hopefully this gives you a good start to it. The Academy is a good starting point (as with all of the cloud offerings). This serves as a one-stop shop to docs and videos to get you started.

If you're able to sign up for a free trial, like I was, the product is worth a look. It also gives you some practice on how Academy and Console work which are applicable across many of the Oracle Cloud offerings. If the trial isn't available, or you just want something quick, then take a look at the videos.