i don't where exactly write the Code..
Please find the Below code I am write in the first if Condition.
/// <summary>
/// Sums the temporary table data.
/// </summary>
/// <returns>
/// The budget amounts in a <c>BudgetTmpBalance</c> temporary table.
/// </returns>
public BudgetTmpBalance sumBudgetTmpBalance()
{
BudgetTmpBalance budgetTmpBalanceLocal;
BudgetControlConfiguration budgetControlConfiguration;
// Temp table could contain multiple records for each dimension focus \ budget model combination; sum up all the common combinations.
if (isConfigurationkeyEnabled(configurationKeyNum(PublicSector)))
{
budgetControlConfiguration = BudgetControlConfiguration::findActiveByPrimaryLedger(Ledger::current());
while select sum(OriginalAmount), sum(RevisedAmount), sum(LedgerAmount), sum(Variance), sum(PreliminaryAmount), sum (ApportionmentAmount)
from budgetTmpBalance
group by BudgetModelId, DimensionFocus, Period
{
budgetTmpBalance.UseOnlyApportionment = budgetControlConfiguration.UseApportionedAmount;
budgetTmpBalance.SumPreliminaryBudget = budgetControlConfiguration.SumPreliminaryBudget && !budgetTmpBalance.UseOnlyApportionment;
select mainAccount
where mainAccount.MainAccountId == budgetTmpBalance.DimensionFocus;
budgetTmpBalance.SG_Name = mainAccount.localizedName();
buf2Buf(budgetTmpBalance, budgetTmpBalanceLocal);
if (contract.parmBudgetType() == BudgetType::Revenue)
{
// Invert Revenue amounts. This will only occur for the chart because the BudgetType parameter isn't exposed elsewhere.
budgetTmpBalanceLocal.RevisedAmount = budgetTmpBalanceLocal.RevisedAmount * -1;
budgetTmpBalanceLocal.LedgerAmount = budgetTmpBalanceLocal.LedgerAmount * -1;
}
if (budgetTmpBalanceLocal.UseOnlyApportionment)
{
budgetTmpBalanceLocal.PercentOfBudget = (budgetTmpBalanceLocal.ApportionmentAmount == 0 || budgetTmpBalanceLocal.Variance == 0)?0: budgetTmpBalanceLocal.Variance / budgetTmpBalanceLocal.ApportionmentAmount;
budgetTmpBalanceLocal.VariancePercent = (budgetTmpBalanceLocal.ApportionmentAmount == 0 || budgetTmpBalanceLocal.LedgerAmount == 0)?0: budgetTmpBalanceLocal.LedgerAmount / budgetTmpBalanceLocal.ApportionmentAmount;
}
else
{
budgetTmpBalanceLocal.PercentOfBudget = (budgetTmpBalanceLocal.RevisedAmount == 0 || budgetTmpBalanceLocal.Variance == 0)?0: budgetTmpBalanceLocal.Variance / budgetTmpBalanceLocal.RevisedAmount;
budgetTmpBalanceLocal.VariancePercent = (budgetTmpBalanceLocal.RevisedAmount == 0 || budgetTmpBalanceLocal.LedgerAmount == 0)?0: budgetTmpBalanceLocal.LedgerAmount / budgetTmpBalanceLocal.RevisedAmount;
}
budgetTmpBalanceLocal.insert();
}
}
else
{
while select sum(OriginalAmount), sum(RevisedAmount), sum(LedgerAmount), sum(Variance) from budgetTmpBalance
group by BudgetModelId, DimensionFocus, Period
{
buf2Buf(budgetTmpBalance, budgetTmpBalanceLocal);
if (contract.parmBudgetType() == BudgetType::Revenue)
{
// Invert Revenue amounts. This will only occur for the chart because the BudgetType parameter isn't exposed elsewhere.
budgetTmpBalanceLocal.RevisedAmount = budgetTmpBalanceLocal.RevisedAmount * -1;
budgetTmpBalanceLocal.LedgerAmount = budgetTmpBalanceLocal.LedgerAmount * -1;
}
budgetTmpBalanceLocal.PercentOfBudget = (budgetTmpBalanceLocal.RevisedAmount == 0 || budgetTmpBalanceLocal.Variance == 0)?0: budgetTmpBalanceLocal.Variance / budgetTmpBalanceLocal.RevisedAmount;
budgetTmpBalanceLocal.VariancePercent = (budgetTmpBalanceLocal.RevisedAmount == 0 || budgetTmpBalanceLocal.LedgerAmount == 0)?0: budgetTmpBalanceLocal.LedgerAmount / budgetTmpBalanceLocal.RevisedAmount;
budgetTmpBalanceLocal.insert();
}
}
return budgetTmpBalanceLocal;
}