Automatically include User Defined Values in base table or add variants with transposed values

See How do I access Autotask UDFs (user defined fields) for contracts?.

It would be handy when the views are always present with the correct list of User Defined Fields retrieved from the entity information (such as ContractsEntityInformationUserDefinedFields@at):

--create or replace view ContractsWithUDFValues
--as
select *
from   Contracts_ItemsUserDefinedFields cttudf
pivot   ( max(cttudf.value)
          for cttudf.name in
          ( [VALUE-OF-name-COLUMN-FOR-CUSTOM-FIELD-1]
          , [VALUE-OF-name-COLUMN-FOR-CUSTOM-FIELD-2]
          , [VALUE-OF-name-COLUMN-FOR-CUSTOM-FIELD-3]
          , ...list all custom field names from entity information...
          )
        )