CREATE OR REPLACE VIEW public.vw_utility_physical_valuation_line AS SELECT 'Purchase'::text AS "strContractType", vvl.date AS "dtmValuationDate", vvl.reference AS "strReference", vvl.purchase AS "intContractId", vvl.line AS "intContractLineId", vvl.lot AS "intLotId", vvl.quantity AS "dblQuantity", initcap((vvl.state)::text) AS "strState", vvl.price AS "dblPrice", COALESCE(vvl.mtm_price, (0)::numeric) AS "dblMtmPrice", vvl.amount AS "dblAmount", vvl.base_amount AS "dblBaseAmount" FROM valuation_valuation_line vvl WHERE ((1 = 1) AND ((vvl.type)::text = 'pur. priced'::text) AND (COALESCE(vvl.lot, 0) > 0) AND (COALESCE(vvl.purchase, 0) > 0) AND (COALESCE(vvl.line, 0) > 0)) UNION ALL SELECT 'Sale'::text AS "strContractType", vvl.date AS "dtmValuationDate", vvl.reference AS "strReference", vvl.sale AS "intContractId", vvl.sale_line AS "intContractLineId", vvl.lot AS "intLotId", vvl.quantity AS "dblQuantity", initcap((vvl.state)::text) AS "strState", vvl.price AS "dblPrice", COALESCE(vvl.mtm_price, (0)::numeric) AS "dblMtmPrice", vvl.amount AS "dblAmount", vvl.base_amount AS "dblBaseAmount" FROM valuation_valuation_line vvl WHERE ((1 = 1) AND ((vvl.type)::text = 'sale priced'::text) AND (COALESCE(vvl.lot, 0) > 0) AND (COALESCE(vvl.sale, 0) > 0) AND (COALESCE(vvl.sale_line, 0) > 0));;