PolyItems are great mainly when you want to build a relationship as a single ItemType/RelationshipType but connecting one source to multiple targets. This is the setup for the Deliverable ItemType in Aras Innovator which is configured as a PolyItem. You can configure poly sources on the poly ItemType. In my Aras instance, I have Part and Document as poly sources on the Deliverable poly ItemType.

The more you do consulting work with Aras Innovator, the more you will have to setup PolyItems. The Innovator architecture has a specific constraint on PolyItems: the properties you add to your PolyItem must exist in all the poly sources. So whenever you add a property to a PolyItem, you need to go check each poly source to make sure (or to adjust) that you have the same property available.

To make things easier and your work more effective I built two methods :

  • The first one can be an action on a property ItemType. It allows you to select a property of your poly ItemType definition and distribute it to all poly sources.

gist.github.com/…/842f585e03387f452c9de55876453c8f

  • The second one can be an action on a poly source. It allows you to select a poly source and update it with some properties that would exist on the poly ItemType but not on this poly source.

gist.github.com/…/f67e03c02c183d6fd558c22173d2348d

Hope this makes your work with PolyItems more effective!

LOOKING FOR MORE ARAS INSPIRATION?

Subscribe to our blog and follow @ArasLabs on Twitter for more helpful content! You can also find our latest open-source projects and sample code on the Aras Labs GitHub page.

And don't forget to register for ACE 2018! Join the Aras Labs team and the Aras community in Indianapolis for three days of learning, networking, and collaboration.