For the Notes requirement, this is a little different from adding a normal field through personalization.
The Purchase Order List is based on the Purchase Header, so you can read the notes attached to each PO using its RecordId. For example:
RecordLink.SetRange("Record ID", Rec.RecordId);
RecordLink.SetRange(Type, RecordLink.Type::Note);
RecordLink.SetAutoCalcFields(Note);
if RecordLink.FindFirst() then
NoteText := RecordLinkMgt.ReadNote(RecordLink);
This will work if you only want to display one note. The thing to keep in mind is that a PO can have multiple notes. If you concatenate all of them into one column, the Purchase Order List can quickly become difficult to read.
For that reason, I would probably recommend showing Has Notes (Yes/No), Notes Count, or perhaps a short preview of the latest note instead.
The standard Notes themselves are stored in the Record Link table, and Microsoft provides Record Line Management.ReadNotes() for reading them.
If this helps, please mark the answer as Accepted Answer.
Sanket