Currently PO.java sets defaults only for the following columns:
Other columns are not processed until they are used in a window/field.
Creating and saving records programmatically doesn't benefit from the default information in the column definitions.
Solution is to adopt a similar logic to GridField and load all possible defaults when a new PO is created.
Open for discussion.