/** * Create Balancing Entry * * @param asDefaultAccts acct schema default accounts * @param journal journal * @param drTotal dr * @param crTotal cr * @param AD_Org_ID org * @param lineNo base line no */ private void createBalancing( MAcctSchemaDefault asDefaultAccts, MJournal journal, BigDecimal drTotal, BigDecimal crTotal, int AD_Org_ID, int lineNo) { if (journal == null) throw new IllegalArgumentException("Jornal is null"); // CR Entry = Gain if (drTotal.signum() != 0) { MJournalLine line = new MJournalLine(journal); line.setLine(lineNo + 1); MAccount base = MAccount.get(getCtx(), asDefaultAccts.getUnrealizedGain_Acct()); MAccount acct = MAccount.get( getCtx(), asDefaultAccts.getAD_Client_ID(), AD_Org_ID, asDefaultAccts.getC_AcctSchema_ID(), base.getAccount_ID(), base.getC_SubAcct_ID(), base.getM_Product_ID(), base.getC_BPartner_ID(), base.getAD_OrgTrx_ID(), base.getC_LocFrom_ID(), base.getC_LocTo_ID(), base.getC_SalesRegion_ID(), base.getC_Project_ID(), base.getC_Campaign_ID(), base.getC_Activity_ID(), base.getUser1_ID(), base.getUser2_ID(), base.getUserElement1_ID(), base.getUserElement2_ID()); line.setDescription(Msg.getElement(getCtx(), "UnrealizedGain_Acct")); // TODO: C_ValidCombination_ID is no longer a column because we have DR/CR accounts // line.setC_ValidCombination_ID(acct.getC_ValidCombination_ID()); line.setAmtSourceCr(drTotal); line.setAmtAcctCr(drTotal); line.save(); } // DR Entry = Loss if (crTotal.signum() != 0) { MJournalLine line = new MJournalLine(journal); line.setLine(lineNo + 2); MAccount base = MAccount.get(getCtx(), asDefaultAccts.getUnrealizedLoss_Acct()); MAccount acct = MAccount.get( getCtx(), asDefaultAccts.getAD_Client_ID(), AD_Org_ID, asDefaultAccts.getC_AcctSchema_ID(), base.getAccount_ID(), base.getC_SubAcct_ID(), base.getM_Product_ID(), base.getC_BPartner_ID(), base.getAD_OrgTrx_ID(), base.getC_LocFrom_ID(), base.getC_LocTo_ID(), base.getC_SalesRegion_ID(), base.getC_Project_ID(), base.getC_Campaign_ID(), base.getC_Activity_ID(), base.getUser1_ID(), base.getUser2_ID(), base.getUserElement1_ID(), base.getUserElement2_ID()); line.setDescription(Msg.getElement(getCtx(), "UnrealizedLoss_Acct")); // TODO: C_ValidCombination_ID is no longer a column because we have DR/CR accounts // line.setC_ValidCombination_ID(acct.getC_ValidCombination_ID()); line.setAmtSourceDr(crTotal); line.setAmtAcctDr(crTotal); line.save(); } } // createBalancing