CREATE OR REPLACE VIEW V_LACO AS SELECT enty_code ,mety_code ,svcpt_code ,mesc_code ,selling_price ,cost_price ,delivery_cost ,regi_code ,valid_from AS effective_from ,least(nvl(valid_to ,to_date('2099' ,'yyyy')) ,nvl(next_valid_from ,to_date('2099' ,'yyyy'))) AS effective_to FROM (SELECT enty_code ,mety_code ,svcpt_code ,mesc_code ,selling_price ,cost_price ,delivery_cost ,regi_code ,valid_from ,valid_to ,lead(valid_from) over(PARTITION BY enty_code, mety_code, svcpt_code, mesc_code, regi_code ORDER BY valid_from) AS next_valid_from FROM costs cost WHERE cost_type = 'LACO');