[Pljava-dev] Problem [SELECT - 0 row(s), 0.019 secs] [Error Code: 0, SQL State: 42601] ERROR: Default type java.math.BigDecimal cannot be replaced by int

From: victor(dot)perez at e-evolution(dot)com(dot)mx (Victor)
To:
Subject: [Pljava-dev] Problem [SELECT - 0 row(s), 0.019 secs] [Error Code: 0, SQL State: 42601] ERROR: Default type java.math.BigDecimal cannot be replaced by int
Date: 2005-02-21 17:54:12
Message-ID: 1109008453.8649.7.camel@vpj.eevolution
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

Hi all!

I have following case:

my Function:
/** Currency **/
CREATE OR REPLACE FUNCTION currencyBase (Amount DECIMAL,
C_CurrencyFrom_ID NUMERIC, ConversionDate Timestamp, AD_Client_ID
NUMERIC, AD_Org_ID NUMERIC)
RETURNS DECIMAL
AS
'org.compiere.sqlj.Currency.base(java.math.BigDecimal,int,java.sql.Timestamp,int,int)'
LANGUAGE java;

my CLASS FILE:

public static BigDecimal base (BigDecimal p_Amount,int
p_C_CurrencyFrom_ID, Timestamp p_ConversionDate,int p_AD_Client_ID,int
p_AD_Org_ID) throws SQLException
{
// Return NULL
if (p_Amount == null || p_C_CurrencyFrom_ID == 0)
return null;
// Return Amount
if (p_Amount.signum() == 0)
return p_Amount;

// Base Currency
String sql = "SELECT ac.C_Currency_ID "
+ "FROM AD_ClientInfo ci"
+ " INNER JOIN C_AcctSchema ac ON
(ci.C_AcctSchema1_ID=ac.C_AcctSchema_ID) "
+ "WHERE ci.AD_Client_ID=?";
int C_CurrencyTo_ID = Compiere.getSQLValue(sql, p_AD_Client_ID);
// Return Amount
if (p_C_CurrencyFrom_ID == C_CurrencyTo_ID)
return p_Amount;
//
return convert(p_Amount, p_C_CurrencyFrom_ID, C_CurrencyTo_ID,
p_ConversionDate, 0, p_AD_Client_ID, p_AD_Org_ID);
} // base

I execute my function:

SELECT currencyBase(o.GrandTotal,o.C_Currency_ID,o.DateAcct,
o.AD_Client_ID,o.AD_Org_ID) AS ConvAmt FROM C_Order o ;

but recieved this error: (Default type java.math.BigDecimal cannot be
replaced by int)

I think the problem is my o.C_Currency_ID is a type NUMERIC, but my
method as for int. I do not want to change all my methods.

Can You tell me How can I change to Default type or make some type of
mapping using pljava?

Victor P?rez Ju?rez

Responses

Browse pljava-dev by date

  From Date Subject
Next Message Thomas Hallgren 2005-02-21 19:04:50 [Pljava-dev] Re: Problem [SELECT - 0 row(s), 0.019 secs] [Error Code: 0, SQL State: 42601] ERROR: Default type java.math.BigDecimal cannot be replaced by int
Previous Message Thomas Hallgren 2005-02-19 12:12:51 [Pljava-dev] Re: