ALM - Updates to Module Import Action - Manual Mapping not promoting
Has anyone seen this behavior? Is do, how did you resolve?
Module Import Action that includes manual mappings by code to a numbered Production List.
- Aircraft Type List - numbered, production list
- Import Action to Module - update the manual mapping to Aircraft Type List using Code (Action is NOT marked as Production Date)
- Update Aircraft Type List - numbered, production list >> Add new aircraft type (same Code as in DEV)
Complete ALM DEV to PROD model
- Includes change to Import Action to Module (manual mapping update)
PROD Model After ALM
- Review Import Action to Module, the manual mapping to Aircraft Type did not update
With a Production List, the contents of the list are essentially completely different between DEV and PROD (and any other compatible models). This is by design and exactly what you want when you have ALM enabled.
When you manually map items in an import, you are mapping on the underlying unique ID of the list item. Each model in Anaplan maintains its own set of unique identifiers as you add items to a list. The starting point for the unique IDs is the same when you initialize any model. Over time, the set of unique IDs between two models will diverge as you add/remove various items in the model. What this means in practice is that sometimes there will be an overlap of unique IDs across models. However, we cannot expect these unique IDs are actually referring to the same item in the list, and any overlap would be a mere coincidence.
Unfortunately, this unique ID is not actually published anywhere in the UI, so it can be hard to tell that the items you are looking at are not actually the same. Since you are using a numbered list, you can actually get a better sense of the underlying unique ID by looking at the "#" associated with the list item. You can use the NAME() formula to expose the #ID associated with a numbered list item.
This is why you should never use manual mapping in a production list (and I wouldn't recommend using manual mapping in general either).
While the Planual doesn't specifically call out manual mapping in imports, there are several related Planual rules that tell you not to directly reference list items anywhere in a model. See below for reference:
- 2.02-14 Avoid using SELECT
- 2.02-12 No Hardcoding to List members
- 6.02-02 Formula protection - Hard coding
- 6.02-03 Review the need for Production Lists
If you absolutely need to manual map items in a production list, then you need to set the import as a Production Import so that you can set and save the mapping in the deployed model.0
Just a hunch. Since your list is a production list it means that they must be managed within the model itself. ALM does not promote data, only structure.1
Yes. We have verified the List in the PROD model was updated before the pushing the ALM and the list item code in the PROD list matches the List Item in DEV model.0
Since the action is mapped manually, it will act as production data(not structured). So you should mark the action as production data as well as the import data source as production data.
Manual Mapping needs to be done directly in production model(this is possible only once you mark the action as production data and sync)
Thank you. This makes total sense 🙂0