src-db/database/model/functions/M_GET_OFFER_PRICE.xml
author Juan Pablo Aroztegi <juanpablo.aroztegi@openbravo.com>
Wed, 03 Sep 2008 17:55:37 +0000
changeset 1605 8a0fe0193bef
parent 756 ae11e4610537
child 5373 9ada1ee67481
permissions -rw-r--r--
Merge r2.5x intro trunk
<?xml version="1.0"?>
  <database name="FUNCTION M_GET_OFFER_PRICE">
    <function name="M_GET_OFFER_PRICE" type="NUMERIC">
      <parameter name="p_offer_id" type="VARCHAR" mode="in">
        <default/>
      </parameter>
      <parameter name="p_pricestd" type="NUMERIC" mode="in">
        <default/>
      </parameter>
      <body><![CDATA[/*************************************************************************
* The contents of this file are subject to the Openbravo  Public  License
* Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
* Version 1.1  with a permitted attribution clause; you may not  use this
* file except in compliance with the License. You  may  obtain  a copy of
* the License at http://www.openbravo.com/legal/license.html
* Software distributed under the License  is  distributed  on  an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific  language  governing  rights  and  limitations
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SL
* All portions are Copyright (C) 2001-2006 Openbravo SL
* All Rights Reserved.
* Contributor(s):  ______________________________________.
************************************************************************/
/*
DEPRECATED!
This function should not be used. Use instead M_Get_Offers_Price.
*/
  v_Price    NUMBER;
  v_Fixed    NUMBER;
  v_AddAmt   NUMBER;
  v_Discount NUMBER;
BEGIN
  v_Price := p_PriceStd;
  IF v_Price IS NULL THEN
    v_Price := 0;
  END IF;
  IF p_Offer_ID IS NOT NULL THEN
    SELECT FIXED,
      COALESCE(ADDAMT, 0),
      COALESCE(DISCOUNT, 0)
    INTO  v_Fixed,
      v_AddAmt,
      v_Discount
    FROM M_OFFER
    WHERE M_OFFER_ID = p_Offer_ID;
    IF v_Fixed IS NOT NULL THEN
      v_Price := v_Fixed;
    ELSE
      v_Price :=(p_PriceStd - v_AddAmt) *(1 - v_Discount/100) ;
    END IF;
  END IF;
  RETURN v_Price;
EXCEPTION
WHEN OTHERS THEN
  RETURN NULL;
END M_GET_OFFER_PRICE
]]></body>
    </function>
  </database>