Der Import der Kontendefintion ist nicht möglich, da immer folgender Fehler auftritt
ClassCastException: Integer cannot be cast to java.math.BigDecimal Integer cannot be cast to java.math.BigDecimal
ClassCastException: Integer cannot be cast to java.math.BigDecimal
at org.compiere.process.ImportAccount.prepare(ImportAccount.java:70)
at de.metas.process.JavaProcess.prepareProcess(JavaProcess.java:423)
at de.metas.process.JavaProcess.startProcess(JavaProcess.java:157)
at de.metas.process.ProcessExecutor.startJavaProcess(ProcessExecutor.java:559)
at de.metas.process.ProcessExecutor.startJavaOrScriptProcess(ProcessExecutor.java:457)
at de.metas.process.ProcessExecutor.access$700(ProcessExecutor.java:50)
at de.metas.process.ProcessExecutor$1.run(ProcessExecutor.java:220)
at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:145)
at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:135)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:764)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:676)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:577)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:508)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:501)
at de.metas.process.ProcessExecutor.executeNow(ProcessExecutor.java:280)
at de.metas.process.ProcessExecutor.executeSync(ProcessExecutor.java:168)
at de.metas.process.ProcessExecutor.lambda$executeAsync$0(ProcessExecutor.java:116)
at Thread.run(Unknown Source)
public class ImportAccount extends JavaProcess
{
/** Client to be imported to /
private int m_AD_Client_ID = 0;
/* Default Element /
private int m_C_Element_ID = 0;
/* Update Default Accounts /
private boolean m_updateDefaultAccounts = false;
/* Create New Combination */
private boolean m_createNewCombination = true;
/** Delete old Imported */
private boolean m_deleteOldImported = false;
/** Effective */
private Timestamp m_DateValue = null;
/**
* Prepare - e.g., get Parameters.
*/
protected void prepare()
{
ProcessInfoParameter[] para = getParametersAsArray();
for (int i = 0; i < para.length; i++)
{
String name = para[i].getParameterName();
if (para[i].getParameter() == null)
;
else if (name.equals("AD_Client_ID"))
**m_AD_Client_ID = ((BigDecimal)para[i].getParameter()).intValue();**
else if (name.equals("C_Element_ID"))
m_C_Element_ID = ((BigDecimal)para[i].getParameter()).intValue();
else if (name.equals("UpdateDefaultAccounts"))
m_updateDefaultAccounts = "Y".equals(para[i].getParameter());
else if (name.equals("CreateNewCombination"))
m_createNewCombination = "Y".equals(para[i].getParameter());
else if (name.equals("DeleteOldImported"))
m_deleteOldImported = "Y".equals(para[i].getParameter());
else
log.error("Unknown Parameter: " + name);
}
if (m_DateValue == null)
m_DateValue = new Timestamp (System.currentTimeMillis());
} // prepare
Irgendwie ist der parameter “AD_Client_ID” Integer und dieser kann nicht in BigDecimal gecastet werden.
Gibt es eine Lösung für diese Situation.