public static dimensionAttribute getDimensionByNumber(int _dimensionNumber)
{
RecId companyLedger = Ledger::findByLegalEntity(CompanyInfo::findDataArea(curext()).RecId).RecId;
DimensionAttribute dimensionAttribute;
Query query = new Query();
QueryBuildDataSource qbd;
QueryRun qr;
;
if (! _dimensionNumber)
{
return dimensionAttribute;
}
qbd = query.addDataSource(tableNum(dimensionAttribute));
qbd.fields().dynamic(false);
qbd.fields().addField(fieldNum(dimensionAttribute, Name));
qbd.addOrderByField(fieldNum(dimensionAttribute, Name));
qbd.addGroupByField(fieldNum(dimensionAttribute, Name));
qbd.addRange(fieldNum(dimensionAttribute, RecId)).value(queryNotValue(DimensionAttribute::getMainAccountDimensionAttribute()));
qbd = qbd.addDataSource(tableNum(dimensionHierarchyLevel));
qbd.fields().dynamic(true);
qbd.relations(true);
qbd = qbd.addDataSource(tableNum(ledgerStructure));
qbd.relations(false);
qbd.addLink(fieldNum(dimensionHierarchyLevel, DimensionHierarchy), fieldNum(ledgerStructure, DimensionHierarchy));
qbd.addRange(fieldNum(ledgerStructure, Ledger)).value(queryvalue(companyLedger));
qr = new QueryRun(query);
qr.enablePositionPaging(true);
qr.addPageRange(_dimensionNumber,1);
if (qr.next())
{
dimensionAttribute = qr.getNo(1);
}
return dimensionAttribute;
}
No comments:
Post a Comment
Thanks for visiting my blog,
I will reply for your comment within 48 hours.
Thanks,
krishna.