How I Built It: Data locking and validation within processes

edited March 19 in Blog

Author: Noah Jackson is a Certified Master Anaplanner and Principal Data and Insights Architect at Anaplan.

Hello Anaplan Community! I’m excited to share this ‘How I Built It’ video with you.

In this tutorial, I walk you through two types of actions that you can add to your Anaplan processes to improve your data access control and validation:

  • A “Lock” action and an “Unlock” action that you can use to easily toggle access between different steps of a process.
  • A “Data Check” action that we will set up to intentionally fail and halt the process when further action is needed.

In my sample model I use the “Lock / Unlock” actions to allow a non-Admin end user to import into a table for which they should generally have read only access. I use the “Data Check” action to draw attention to when a new product is added and requires a decision point, which avoids having to re-run imports and reduces the risk of missed steps.

I think these concepts and some of the tips and tricks I cover could be useful in all sorts of contexts; leave a comment if you see something that you think might fit in your models!

Happy planning!


  • hi Noah, love the “Lock” action and an “Unlock” action piece, could you give another example on how this could be applied? I feel like i can apply this into our models as we have a situation where we need to lock past versions from end users once the planning cycle is finished. Wondering if this could work, thanks!

  • NoahJ
    edited February 23

    @ktrankdp so Dynamic Cell Access (DCA) could definitely be used to lock past versions! You can learn more about the basics of DCA here:

    For example, you could have a central input module for an input boolean for "Which versions are unlocked" (since a TRUE value is what allows access), and then reference that boolean in the Read Access Driver / Write Access Driver in the module / line items. Setting up DCA locking when you can mark it manually is fairly easy!

    The specific method that I described, above and beyond standard DCA input, was about how to do the locking / unlocking within the steps of a process. Normally, whatever the locked/unlocked settings are at the start of the process is what is used during all of the steps of the process.

  • @ktrankdp for native versions you can enable Write, Read or None to control locking or unlocking of past versions to end users via Role - Versions.

  • NoahJ

    @saglago that is fascinating, I definitely forgot about that specific functionality of Versions!

    For reference, here is the mini lesson on that functionality:

    It is useful for whenever input data has the Versions and Time dimensions - if you need to lock version data that is not on the time dimension, then you would need to use Dynamic Cell Access or some other method.

  • kristenr

    Thanks @NoahJ - I have already used it successfully!

  • NoahJ

    @kristenr I'm glad to hear it!! :)

  • jziemer

    This is great! Thank you @NoahJ !

  • fabrice

    This is great

  • @NoahJ Great explanation.