Let's go step by step. First of all.
In PO there is a contact data that only shows the contacts registered in the supplier. It does not list the email addresses. That will list the email of the contact registered in the supplier.
To display the contact email, you should:
In database, you need to create a new relationship in PO object.
Relationship: A_PO_CONTACT
Child object: COMPCONTACT
Where clause: company=:vendor and orgid=:orgid and contact = :contact

Then, you can add a multipart text and its attributo to part2 define like A_PO_CONTACT.EMAIL.


As a result, when you select the supplier's contact, you will be able to view their email.
Now, if you want to add a new field that is the contact email for the PO:
- If it is a free text, you can register any text as email in each PO (You will have to add a new field for this because the extra fields I have seen are small)
- If it is a domain value, you cannot put a free text since it must previously exist as a domain value.
You cannot use both (that is what you want to do).
What you can do is create this new attribute PO.POEMAILCONTACT associated with a new table "POEMAIL" where you will have 2 primary keys which would be the PO number and the email. This way you will register an email in each PO that will exist in that table (I don't know why you want to do that, but you could do it).
I say that I don't know why there is already an email table (EMAIL) that keeps track of each email, but not associated with PO.
But I insist, the only way you can record data and not free text, is to associate it with a table where it is recorded.
Regards!
------------------------------
Martin Fabra
ARSAT S.A. - Actively seeking employment
------------------------------