Import Kontendefinition nicht möglich

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.

hi Peter,

ich versuche das Problem nachzustellen…

Viele Grüße
Norbert

hi Peter,

ich habe die Konten in die Importtabelle laden können, bekomme aber bei der weiteren Verarbeitung den gleichen Fehler wie Du.

Ich habe daher diesen Issue angelegt:

VG
Norbert

Hallo Norbert

Vielen Dank für die Antwort ich habe viel nachgeforscht was das sei könnte aber leider keinen Anhaltspunkt für die Ursache gefunden.

Peter

hi Peter,

ich danke Dir fürs Melden!
Ich glaube das ist einfach ein Bug den wir fixen müssen.
Daher habe ich den Issue angelegt.

Vg
Norbert