QueryName querySource;
OLAPDatasourceRange DSRange;
OLAPDatasourceRelation DSRelation;
OLAPDatasource datasource;
OLAPDatasourceField DSField;
Query query;
QueryBuildDataSource buildDatasource, parentBuildDataSource;
int i,dim, parentIndex;
int dsCount;
boolean newDim;
DictTable dictTable;
QueryBuildDataSource ds;
QueryBuildRange br;
Range _rangeStr;
DictTable dictTable1;
DictField dictField;
;
querySource = 'Bbde';
query = new Query (querySource);
dsCount = query.dataSourceCount();
buildDatasource = query.dataSourceNo(1);
dictTable = new DictTable(buildDatasource.table());
print dictTable.name();
pause;
br = buildDatasource.range(1);
dictTable1 = new DictTable(br.table());
dictField = new DictField(br.table(),br.field());
// br.value(strfmt('%1',mkdate(6,6,2008)));
_rangeStr = br.toString();
print br;
print br.field();
print _rangeStr;
pause;
This is simple Code to get Invoice settlement amount data for customer payment in ax 2012. This data is after posting of data. select sum(SettleAmountCur) from custSettlement where custSettlement.TransRecId == custtrans.RecId If you want get settlement amount before posting than you can refer spectrans table.The table SpecTrans contains all the transactions marked for settlement for payment journal. while select spectrans join custtransopen join custtrans where spectrans.SpecCompany == ledgerjournaltrans.DataAreaId && spectrans.SpecTableId == ledgerjournaltrans.TableId && spectrans.SpecRecId == ledgerjournaltrans.RecId && spectrans.RefCompany == custtranssopen.DataAreaId && spectrans.RefTableId == custtranssopen.TableId && spectrans.RefRecId == custtranssopen.RecId && custtransopen.RefRecId == custtrans.RecId && custtransopen.AccountNum == custtrans.AccountNum { info...