[quote user="Sangram"
Hi,
Can you tell us what are you actually trying to do, where do you need them. there can be the other feasible way to do it.
Regards,
Sangram
[/quote
I'm trying to get values from DimensionAttributeValueCombination like the CostCenter etc. Used join on BudgetSourceTracking and BudgetSourceTrackingDetail in order for me to access DimensionAttributeValueCombination extra fields.
Query query = new Query();
QueryRun qr;
BudgetSourceTracking budgetSourceTracking;
BudgetSourceTrackingDetail budgetSourceTrackingDetail;
DimensionAttributeValueCombination dimensionAttributeValueCombination;
QueryBuildDataSource budgetSourceTrackingDs = query.addDataSource(tableNum(BudgetSourceTracking));
QueryBuildDataSource budgetSourceTrackingDetailDs = budgetSourceTrackingDs.addDataSource(tableNum(BudgetSourceTrackingDetail));
budgetSourceTrackingDetailDs.addLink(fieldNum(BudgetSourceTracking, RecId), fieldNum(BudgetSourceTrackingDetail, BudgetSourceTracking));
budgetSourceTrackingDetailDs.addSelectionField(fieldNum(BudgetSourceTrackingDetail,ACCOUNTINGCURRENCYAMOUNT),SelectionField::Sum);
budgetSourceTrackingDetailDs.relations(false);
budgetSourceTrackingDetailDs.joinMode(joinmode::InnerJoin);
QueryBuildDataSource dimensionAttributeValueCombinationDs = budgetSourceTrackingDetailDs.addDataSource(tableNum(DimensionAttributeValueCombination));
dimensionAttributeValueCombinationDs.addLink(fieldNum(BudgetSourceTrackingDetail, BudgetControlLedgerDimension), fieldNum(DimensionAttributeValueCombination, RecId));
dimensionAttributeValueCombinationDs.addSelectionField(fieldNum(DimensionAttributeValueCombination,DisplayValue));
dimensionAttributeValueCombinationDs.relations(true);
dimensionAttributeValueCombinationDs.joinMode(JoinMode::InnerJoin);
budgetSourceTrackingDs.addGroupByField(fieldNum(BudgetSourceTracking, TrackingDate));
dimensionAttributeValueCombinationDs.addGroupByField(fieldNum(DimensionAttributeValueCombination, DisplayValue));
budgetSourceTrackingDs.addRange(FieldNum(BudgetSourceTracking, BudgetModelid)).value(queryValue("FY2016"));
budgetSourceTrackingDs.addRange(FieldNum(BudgetSourceTracking, Category)).value(queryValue(1));
qr = new queryrun(query);
while(qr.next())
{
budgetSourceTracking = qr.get(tablenum(BudgetSourceTracking));
budgetSourceTrackingDetail = qr.get(tablenum(BudgetSourceTrackingDetail));
dimensionAttributeValueCombination = qr.get(tableNum(DimensionAttributeValueCombination));
info(strfmt("TrackingDate[%1] - AccountingCurrencyAmount[%2] - DisplayValue[%3]- CostCenter[%4]-Department[%5]",budgetSourceTracking.TrackingDate, budgetSourceTrackingDetail.ACCOUNTINGCURRENCYAMOUNT, dimensionAttributeValueCombination.DisplayValue,dimensionAttributeValueCombination.CostCenter));
}Thanks