Domain Separation – Preventing Duplicate Models with Global Manufacturers in Make & Model Script Inc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
an hour ago
Hi Community,
We are working in a domain-separated instance where manufacturers exist both in the global domain and in child domains. Our objective is to standardize and maintain manufacturers/models in the global domain wherever possible.
Currently, our transform map uses the out-of-the-box “Make and Model” Script Include. From our observation, the lookup logic searches models using:
- Model Name
- Manufacturer
However, in a domain-separated environment, it appears to prioritize the child-domain manufacturer and does not properly resolve existing global models.
Because of this:
- A global model may already exist.
- The transform still fails to find it.
- A duplicate model gets created in the child domain.
To address the global manufacturer issue on the model, we implemented a Business Rule that updates the manufacturer to the global manufacturer whenever a new model is inserted.
However, this introduced another issue:
- The next transform execution still searches using the child-domain manufacturer.
- The lookup fails again.
- Another duplicate is created.
- The Business Rule updates it again.
- This cycle repeats.
As a workaround, we implemented custom logic in the transform map:
- First, attempt lookup using a custom GlideRecord query to explicitly check for a matching global model.
- If not found, create the model using the Script Include.
- Before insert/save, update the manufacturer reference to the global manufacturer.
This approach breaks the duplicate loop because future transform runs can successfully match the global model.
We wanted to check with the community:
- Has anyone faced a similar issue in a domain-separated environment?
- Is there a cleaner or more scalable approach to handling global manufacturer/model standardization?
- Would overriding/extending the OOB Make and Model logic be a better design than using transform-map-level workarounds?
Any guidance or best practices would be appreciated.
Thanks!