widana

f_get_catalog_price_by_partner

Aug 1st, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. * modify: Widana 01 Agt 2017
  3. * 1. Get Area Sales, insert into vAreaSales
  4. * 2. Get Price by selection (IF)
  5. * 3. support mengembalikan value catalog price dari Zone 0 - Zone 9
  6. */
  7.  
  8. CREATE OR REPLACE FUNCTION f_get_catalog_price_by_partner(bigint, bigint)
  9.   RETURNS numeric AS
  10. $BODY$
  11. DECLARE
  12.     pPartnerId          ALIAS FOR $1;
  13.     pProductCatalogId       ALIAS FOR $2;
  14.     vResult             numeric(15,2);
  15.     vAreaSales          character varying(10);
  16.  
  17.     vArea0              character varying(10) := 'Zone 0';
  18.     vArea1              character varying(10) := 'Zone 1';
  19.     vArea2              character varying(10) := 'Zone 2';
  20.     vArea3              character varying(10) := 'Zone 3';
  21.     vArea4              character varying(10) := 'Zone 4';
  22.     vArea5              character varying(10) := 'Zone 5';
  23.     vArea6              character varying(10) := 'Zone 6';
  24.     vArea7              character varying(10) := 'Zone 7';
  25.     vArea8              character varying(10) := 'Zone 8';
  26.     vArea9              character varying(10) := 'Zone 9';
  27. BEGIN
  28.    
  29.     SELECT B.area_sales_code INTO vAreaSales
  30.     FROM mlm_ds A
  31.     JOIN m_area_sales B ON A.area_sales_id = B.area_sales_id
  32.     WHERE A.partner_id = pPartnerId;
  33.    
  34.     IF vAreaSales = vArea0 THEN
  35.         SELECT catalog_price0 INTO vResult
  36.         FROM product_catalog
  37.         WHERE id = pProductCatalogId;
  38.     END IF;
  39.  
  40.     IF vAreaSales = vArea1 THEN
  41.         SELECT current_price INTO vResult
  42.         FROM product_catalog
  43.         WHERE id = pProductCatalogId;
  44.     END IF;
  45.  
  46.     IF vAreaSales = vArea2 THEN
  47.         SELECT catalog_price2 INTO vResult
  48.         FROM product_catalog
  49.         WHERE id = pProductCatalogId;
  50.     END IF;
  51.  
  52.     IF vAreaSales = vArea3 THEN
  53.         SELECT catalog_price3 INTO vResult
  54.         FROM product_catalog
  55.         WHERE id = pProductCatalogId;
  56.     END IF;
  57.  
  58.     IF vAreaSales = vArea4 THEN
  59.         SELECT catalog_price4 INTO vResult
  60.         FROM product_catalog
  61.         WHERE id = pProductCatalogId;
  62.     END IF;
  63.  
  64.     IF vAreaSales = vArea5 THEN
  65.         SELECT catalog_price5 INTO vResult
  66.         FROM product_catalog
  67.         WHERE id = pProductCatalogId;
  68.     END IF;
  69.  
  70.     IF vAreaSales = vArea6 THEN
  71.         SELECT catalog_price6 INTO vResult
  72.         FROM product_catalog
  73.         WHERE id = pProductCatalogId;
  74.     END IF;
  75.  
  76.     IF vAreaSales = vArea7 THEN
  77.         SELECT catalog_price7 INTO vResult
  78.         FROM product_catalog
  79.         WHERE id = pProductCatalogId;
  80.     END IF;
  81.  
  82.     IF vAreaSales = vArea8 THEN
  83.         SELECT catalog_price8 INTO vResult
  84.         FROM product_catalog
  85.         WHERE id = pProductCatalogId;
  86.     END IF;
  87.  
  88.     IF vAreaSales = vArea9 THEN
  89.         SELECT catalog_price9 INTO vResult
  90.         FROM product_catalog
  91.         WHERE id = pProductCatalogId;
  92.     END IF;
  93.  
  94.     RETURN vResult;
  95. END;
  96. $BODY$
  97.   LANGUAGE plpgsql VOLATILE
  98.   COST 100;
Advertisement
Add Comment
Please, Sign In to add comment