Selective push of line items through ALM


Hello fellow Anaplaners,


I was wondering if it would be possible to selectively push line items/modules while synching models through ALM? The idea is - I would like to setup a master model and then migrate only the required functionalities/calculations to two different target models. With this setup, I will have to design and configure only once in the Master model. And then push to either both or one of the target models as per the need.

Any thoughts? I am also open to other alternate solutions without the use of ALM.





  • @Espo ,


    At this time, this cannot be done as ALM is a snapshot of the entire model and the "target" has to follow the "source".  If you had two different models sync'ing to one model (Prod), there is no way for Prod to incorporate changes from both "dev" models as they will be structurally different.


    Hope this helps,



  • Hello Rob,


    Thank you for the quick response. Is there anything on the road map for selective migration using ALM? And I agree, going from 2 'source' models to a single 'target' model would be an issue. I am trying to achieve 1 master source to multi-target models.


    Another approach was - Would it be possible to create delete actions (or processes) 'on the fly' based on a mapping module. If so, I could first sync from source to target (say Model A), and then run a wrapper process which deletes the items not needed for Model A. What are your thoughts? 



  • Hi @Espo 


    Very interesting question and this is something I have been thinking about also.

    As @rob_marshall mentions there is no specific functionality to do this currently. 


    The only solution I can think of would require multiple revision tags and may be extremely difficult to manage.

    With revision tags its always possible to restore the model to a point where functionality has not been created and then restore to points where functionality has been created. This is very dependent on the order you create things and how you set your revision tags. 

    So for some very small details this would work but if there are multiple instances of the creation of items and deletion of items this would prove  very difficult to manage. 

    Also if you have multiple model builders working on different work streams within that model then this also adds more difficulty to the process so I would not advise to do this ever.


    Out of interest what is the use case you would be aiming to use this for?





  • Hello @usman.zia 


    Thank you for your inputs. Definitely agree on the complexity of maintenance while using the revision tags and restore points approach. I believe the frequency of changes will be slightly high too, so it is not ideal. It will lead to quite a lot of 'branching' in the Master model.


    As for the use case, here is a short summary - A Master (Sales Compensation) model has many components that are applicable to both or one of the target models (A & B). [Please note that actual implementation may contain more than 2 target models].

    To reduce space and avoid confusion among end-users, we would like to move only target specific components while sync'ing from Master to A/B.


    We are able to handle Data wise segmentation via subsets and selective import actions. The challenge is in the functionality/calculations transfer.






  • Additionally, I was exploring if Line Item Subsets can be leveraged somehow for this. Do you know if line item subset selections (for the constituent line items) can be made 'dynamic', as in driven by a formula?

  • @Espo ,


    What you are "wanting" to do can be done by having one "dev" model going to multiple target models IF the target models are exactly the same, from a structural standpoint.  Take a look at the below:




    So, to keep the size down for the model, you can make the lists for each model/region "Production" lists where the members get populated from actions within the model.  If they aren't populated, say in Model A, then the size of the modules using those lists will be 0.


    Hope this helps,