We are in the final stages of an implementation and are running into issues related to marking lists as production data. The problem is that over the course of development many list items have been referenced in line item formulas, so the system prevents these lists from becoming production data. The workarounds suggested in other community posts, such as using LOOKUP instead of SELECT, have not worked. If anyone has any experience with this problem or suggestions I would greatly appreciate any help.
The workaround would be to make those selections dynamic.
To identify where those items are referenced (you can go to general lists, select the list you want to check and look at "Reference in formulas"). Then, create a module (no dimensions) and Line items - list dimensioned - and pick up the element from the list you refer to. Therefore, instead of referencing the list item directly in the formula you lookup that specific Line Item which was created in a module.
In this way, you remove every direct reference to your list elements
I think this can help: https://community.anaplan.com/t5/Best-Practices/Setting-production-lists/ta-p/19284
To make it easier for the next implementations, you should set up the lists as production as soon you create them.
Thank you for the feedback. Do you know if using the PARENT function on a list will prevent marking it as production data?
No, the PARENT function will not prevent marking a list as production as you are not referring to a specific item (that is the case of the SELECT instead).
I think I understand why you are setting all lists for Production Data at creation (so no hardcoding or select statements can be used), but this can be very dangerous especially in a Deployed model. If you remove the the production data boolean (making it a regular list) and then sync to production, then all data in the production environment tied to that list will be deleted. The reason for this is during the sync, the list in Production will be wiped cleaned (deleted) and the members in Dev will be inserted. Even if the the members with the exact same codes are used in Dev as well as in Production, the system doesn't understand that and simply wipes the list out.
So, instead of making every list a Production Data list, it is best to understand what the list will be used for (does it need to be updated in a Production environment) or is a static list (Active vs. InActive)?. If the list will be updated via actions or user involvement, then it will need to be a Production Data list. If it is static, it should be a regular list.
Hope this helps,
Another good article to read is this: