As I have get the last problem solve as below
I decided to make a Status from the Contact table to show whether the contact is a Supplier(1) or Not Supplier(0) by using Number.
The process is when I adding Supplier in the Products, it trigger a script to set this field to 1 or 0.
1. Is these Number type of field is the best to flag the Contact whether they are Supplier or Not Supplier ? or using text is better?
2. I made the portal in the product layout to select the contact as the supplier. I set it x to the relation between product with ContactMatchID. So it will show up all the Contacts as a list in the portal. I can select 2 times or more for the same contact. How can I avoid this ?
3. The relation between Supplier (in this case Occurrence of the Contact) is many to many with Products. So I think my script won't work, if I delete it from portal, the script will trigger the Status in the Contact table to "0" even, the Contact might have other Products they owned. How can I solve this ?
Here is the file.