diff --git a/Modules/mip_bulk_load.pck b/Modules/mip_bulk_load.pck index 5b10543..ad1fd61 100644 --- a/Modules/mip_bulk_load.pck +++ b/Modules/mip_bulk_load.pck @@ -1185,11 +1185,15 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS ,cost_price ,delivery_cost ,CASE - WHEN valid_from IS NULL THEN - trunc(SYSDATE) - ELSE - to_date(valid_from - ,'dd/mm/yyyy') + WHEN valid_from IS NULL AND valid_to IS NULL THEN + trunc(SYSDATE) + WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN + least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy')) + WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN + to_date(valid_from + ,'dd/mm/yyyy') + ELSE + least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy')) END AS valid_from ,CASE WHEN valid_to IS NULL THEN @@ -1238,11 +1242,15 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS ,cost_price ,delivery_cost ,CASE - WHEN valid_from IS NULL THEN - trunc(SYSDATE) - ELSE - to_date(valid_from - ,'dd/mm/yyyy') + WHEN valid_from IS NULL AND valid_to IS NULL THEN + trunc(SYSDATE) + WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN + least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy')) + WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN + to_date(valid_from + ,'dd/mm/yyyy') + ELSE + least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy')) END AS valid_from ,CASE WHEN valid_to IS NULL THEN @@ -1291,11 +1299,15 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS ,cost_price ,delivery_cost ,CASE - WHEN valid_from IS NULL THEN - trunc(SYSDATE) - ELSE - to_date(valid_from - ,'dd/mm/yyyy') + WHEN valid_from IS NULL AND valid_to IS NULL THEN + trunc(SYSDATE) + WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN + least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy')) + WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN + to_date(valid_from + ,'dd/mm/yyyy') + ELSE + least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy')) END AS valid_from ,CASE WHEN valid_to IS NULL THEN @@ -1344,11 +1356,15 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS ,cost_price ,delivery_cost ,CASE - WHEN valid_from IS NULL THEN - trunc(SYSDATE) - ELSE - to_date(valid_from - ,'dd/mm/yyyy') + WHEN valid_from IS NULL AND valid_to IS NULL THEN + trunc(SYSDATE) + WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN + least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy')) + WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN + to_date(valid_from + ,'dd/mm/yyyy') + ELSE + least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy')) END AS valid_from ,CASE WHEN valid_to IS NULL THEN @@ -1452,11 +1468,15 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS END AS selling_price ,'NETW0' || l_network AS regi_code ,CASE - WHEN valid_from IS NULL THEN - trunc(SYSDATE) - ELSE - to_date(valid_from - ,'dd/mm/yyyy') + WHEN valid_from IS NULL AND valid_to IS NULL THEN + trunc(SYSDATE) + WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN + least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy')) + WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN + to_date(valid_from + ,'dd/mm/yyyy') + ELSE + least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy')) END AS valid_from ,CASE WHEN valid_to IS NULL THEN