Don't Use Show/Hide on Production List

DON’T USE SHOW/HIDE FEATURE ON PRODUCTION LISTS

 

We recently had faced an issue – On the dashboard there was one production list (Let’s say P1) as one of the dimension of a module. We had created a saved view by using Show feature on P1 page selector because we wanted to show only a few list items to the end user and not everything. Although we were able to see it perfectly on the Dashboard in the Dev environment but when we pushed the changes to the Production environment we found that there was an error on the same grid of the dashboard and the error said “No Access” on the page selector. We thought it might be because of the subsets have not been checked in the production environment but that wasn’t the case. We spent almost a day in our analysis and found out that it was Show feature that we had used on the P1 page selector. Most of us might already know that we shouldn’t use Show/Hide on the production lists but let me share my analysis on it anyway.

 

Production Lists have the 12 digit unique identifier which an end user don’t get to see but in the backend Anaplan understands the list items thru their 12 digit unique numbers. For Example P1.ABCD When we use Show/Hide Feature Anaplan remembers that particular 12 digit number (from backend although end users see the description).

Front End – P1.ABCD (END user see this)

Back End – 123456789876 (ANAPLAN use this) - You have asked Anaplan to Show this

 

Since this list is a production list, most likely your 12 digit numbers in the Production environment will not match with the 12 digit number from the Dev environment  (because it might have been deleted once or any other reason) – hence the mismatch and the error “No Access”.

 

Outcome - Always use Filters on the production list if there is any such requirement.

 

Thanks,

Misbah

Tagged:

Answers

  • Great guide! Thanks for sharing @Misbah

  • @usman.zia I am glad that you found it informative. 

     

    Thanks,

    Misbah

  • This doesn't make sense to me, we should be able to use show/hide in this circumstance. I feel this is a huge miss on Anaplan's side. I am trying to build a saved view and Filters will not work and I need the saved view in Dev to match Prod. 

  • @tobrien 

     

    If you are using New UX you have an ability to Show/Hide on the Context Selectors in the Prod App directly but if you are using  Classic UX then I am afraid you may have to find workarounds.

     

    Misbah

    Miz Logix

  • @Misbah 

     

    Yes, but I need to hide certain List Member depended on line items and another List. My understanding when you hide a list member in the NUX it'll hide all of them for the other lists.

  • @tobrien If a list is flagged as Production list, this means that there is no synchronization of the elements between DEV and PROD models. This means that the list in DEV could have different elements than PROD model. 

     

    Also, every object in Anaplan (including elements in a list) has an internal Anaplan code (12 digits code) that is not shown anywhere...it can be read maybe only by using some REST API. 

     

    All the operations and calculations in the backbone of Anaplan are using these Anaplan internal codes (12 digits codes). This is very handy when we need to rename an element and all the formulas depending on that element are automatically modified. 

     

    With the Non-Production lists, the ALM synchronize also the Anaplan internal codes to be equal between DEV and PROD. 

     

    For Production lists, this does not happen...so, even we add in a Production list an element with the same Code and Name (the visible ones), between DEV and PROD, it is very probable that the Anaplan internal codes are totally different. 

     

    The saved view saved in DEV with show/hide uses the Anaplan internal code...which in PROD could correspond on a totally different element...

     

    This is why Hide/Show on a Production list should never be used.

     

    In order to show/hide elements from Production lists, it should be used Filters.