How do link a Secondary Collection on a form?

I am trying to extend an IDO / Table ("Nonconformances") on a Site level using the 'sa' user.

The Nonconformances IDO was created by Infor at the "Vendor" level, and so the IDO has an AccessAs "BaseQuality" (Infor IQM).

My initial thought was to create an IDO with my additional properties, then add it as a Subcollection to the Nonconformances IDO, but the "New Property" button is grayed out on the IDOs form because of the AccessAs difference.

So, I am attempting to modify the Nonconformances Form by adding my IDO as a Secondary Collection, adding an Edit Control to the form, then Binding the Edit to the desired property in my IDO that way (am I on the right track?)

So far I am able to Add my IDO as a secondary collection, but I am not sure how to link it to the Primary collection.  I've tried editing the "Selection / Permanent Filter Expression" property as: "{primary IDO Property Name} = FP( {Secondary Collection Property Name} )" but this is not working for me.

I am assuming that once I can get them linked, I should be able to Bind my new Edit Control to the right Property of my IDO in the Data Source / Binding Property of the Edit control.

Can someone put me on the right path?

Thank you so much for your help.

Regards,

John Keegan

  • You could extend (and replace) the Nonconformances IDO into your own IDO and then add your subcollection to it.
  • So if I replaced the Nonconformances IDO, wouldn't I have to re-write the Form that Infor created to update the Nonconformances IDO / Table? There is a bunch of event code attached to the form.
    Also, if I did that, how would I handle upgrades to the application?
    What does it mean to Extend the IDO? I guess that is a concept that I am not familiar with.
    Thanks in advance.
    Regards,
    John Keegan
  • The IDO development system allows a developer to create a new IDO that inherits all the properties, methods, tables, and the extension class from an existing IDO. The relationship between the created IDO and the base IDO is called an "extends" relationship; the new IDO inherits from the base IDO and extends it.

    The developer can optionally flag an extending IDO as a replacement for the base IDO. When an extending IDO replaces its base IDO, all IDO requests that are targeted for the base IDO are rerouted through the extending IDO. These requests are the GetPropertyInfo, LoadCollection, UpdateCollection, and Invoke requests.

    We always do an "Extend and Replace" when extending an IDO because it allows the extended ido to be called in place of the base ido. Once you extend the IDO, you can add your second IDO as a Subcollection property.
  • Thanks J!
    I am inexperienced with Extending an IDO, but I'm looking at the On-Line Help, and experimenting with this now.
    How does this method effect upgrading the base application?
    I am developing at the site level with no access to the vendor level, so when I apply a vendor level upgrade to the application, do I need to re-apply or re-create the extension on the Vendor created IDO?
    How do you manage your application upgrades?
    Regards,
    John Keegan
  • Support will tell you customizations are "at your own risk". If you are inexperienced, it might benefit you to have someone with experience create this for you and walk you through the process (I can make some recommendations).

    There are best practices to follow which should mitigate your issues from an upgrade. If the base "Vendor" form is changed, then you could have to rework your customizations. An IDO is rarely changed but it could happen. I use Form Sync to back up my forms pre and post customization and also do an export of my IDO's.