Hi Friends,
Simple Example of how create X++ Query
static void XPPQuery(Args _args)
{
Query query;
QueryRun queryRun;
QueryBuildDataSource queryBuildDataSource;
QueryBuildDataSource queryBuildDataSource1;
QueryBuildDataSource queryBuildDataSource2;
QueryBuildRange queryBuildRange;
CustomerTable customerTable;
CardTable cardTable;
TransactionTable transactionTable;
query = new query();
queryBuildDataSource = query.addDataSource(tableNum(customerTable)); //Add Query
queryBuildDataSource.addSortField(fieldNum(customerTable,AccountNumber),SortOrder::Descending);
queryBuildRange = queryBuildDataSource.addRange(fieldNum(customerTable,AccountNumber));
//queryBuildRange.value(queryValue('11')+('*'));
queryBuildDataSource1 = queryBuildDataSource.addDataSource(tableNum(cardTable));
queryBuildDataSource1.relations(true); // define Relations
queryBuildDataSource1.joinMode(JoinMode::InnerJoin); //define Join Mode
queryBuildDataSource2 = queryBuildDataSource1.addDataSource(tableNum(transactionTable));
queryBuildDataSource2.relations(true);
queryBuildDataSource2.joinMode(JoinMode::ExistsJoin); // only shows trasancton customers no dublicate;
queryBuildDataSource2.joinMode(JoinMode::NoExistsJoin);// no did transactions
queryBuildDataSource2.joinMode(JoinMode::InnerJoin);// all trasaction details with multple times
queryBuildDataSource2.joinMode(JoinMode::OuterJoin);
queryRun = new QueryRun(query); //Passsing Query to Queryrun
while(queryRun.next())
{
customerTable = queryRun.get(tableNum(CustomerTable));
cardTable = queryRun.get(tableNum(cardTable));
transactionTable =queryRun.get(tableNum(transactionTable));
info(strFmt("%1,%2,%3,%4", customerTable.AccountNumber, customerTable.AddressCity,cardTable.Amount,transactionTable.TransID));//customerTable.Name));
}
}
Keep Daxing....!
No comments:
Post a Comment