If you go through the customizing guide for setting up territory management , you would read this about setting up “Accounts, products and sales areas are used as attributes that define the scope of a territory. Changes to the respective master data could affect the account-territory, product-territory and sales area-territory relationships. These master data changes have to be updated so that the Territory Management application reflects the latest information. This function allows you to perform this update. It uses the Rule Builder to process rules associated with territories where data has changed and regenerates those relationships. “
This would in simple terms mean that if there is any change is made to an account , it could result in a different territory being picked up for that account. Hence we need regenerate the account & territory relationship. If you see some territories instantly updated in the territory assignment block after a change in the account attributes , this is just a transient state and please regenerate the account-territory relationship.
The actual procedure to regenerate the account territory relationship is by scheduling a batch job program of CRM_TERRMAN_PROC_REL. Here the customizing guide specifies
“Enter program CRM_TERRMAN_PROC_REL and choose Variants as the sub-object“.
The program can be run only in batch mode and offers you two options
The guide also mentions when to run the job in Initial mode or delta mode “When the system is set up for the first time and you have completed data migration, schedule the report program to run in the initial mode. You can run subsequent report programs in the delta mode – as and when new rules are created or modified.“
But please don’t forget to create a Variant before running the job. If you don’t do this, then the program continues to run giving the indication that regeneration would happen but essentially it would not do any thing.Also your variant can include specific Territory Ids which you have maintained or you can “*”. This is a small step and when any problem occurs this would also be the last thing which you would be checking. You would concentrate on checking customization, debug BADIs , code and what not.