// get look item num only product master item number
public void lookup()
{
Query query = new Query();
QueryBuildDataSource queryBuildDataSource,queryBuildDataSource1;
QueryBuildRange queryBuildRange,queryBuildRange1;
QueryBuildLink queryBuildLink;
Range range;
EcoResProduct ecoResProduct;
InventTable inventTable;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(inventTable), this);
sysTableLookup.addLookupField(fieldNum(inventTable, ItemId));
queryBuildDataSource = query.addDataSource(tableNum(inventTable));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(inventTable,PurchesedItem ));
queryBuildRange.value(Global::queryValue(NoYes::Yes));
queryBuildDataSource1=queryBuildDataSource.addDataSource(tableNum(ecoResProduct));
//queryBuildDataSource1.joinMode(JoinMode::InnerJoin);
queryBuildLink =queryBuildDataSource1.addLink(fieldNum(inventTable,product),fieldNum(ecoResProduct,RecId));
range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResProductMaster)));
query.dataSourceName(queryDataSourceStr(EcoResProductListPage, EcoResProduct));
queryBuildRange1 = queryBuildDataSource1.addRange(fieldNum(EcoResProduct, InstanceRelationType));
queryBuildRange1.value(range);
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
//super();
}
0r
static void Job3(Args _args)
{
ProdParameters prodParameters;
Query query = new Query();
QueryBuildDataSource qbds1,qbds2;
QueryBuildRange queryBuildRange;
QueryBuildLink queryBuildLink;
Range range;
QueryRun queryrun;
EcoResProduct ecoResProduct;
InventTable inventTable;
//select firstOnly prodParameters;
qbds1 = query.addDataSource(tablenum(InventTable));
//queryBuildRange = qbds1.addRange(fieldnum(InventTable, Product));
//queryBuildRange.value(prodParameters.Product);
// Add the second datasource to the first data source
qbds2 = qbds1.addDataSource(tablenum(EcoResProduct));
queryBuildLink = qbds2.addLink(fieldnum(InventTable, product),fieldnum(EcoResProduct, RecId));
// Get only ProductMaster details
range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResProductMaster)));
// Get only Product details
// range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResDistinctProduct)));
// Get both Product and ProductMaster details
//range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResProductMaster)));
//range = queryRangeConcat(range, DictTable::getRelationTypeFromTableName(tableStr(EcoResDistinctProduct)));
query.dataSourceName(queryDataSourceStr(EcoResProductListPage, EcoResProduct));
queryBuildRange = qbds2.addRange(fieldNum(EcoResProduct, InstanceRelationType));
queryBuildRange.value(range);
queryrun = new queryrun(query);
while(queryrun.next())
{
inventTable = queryrun.get(tablenum(InventTable));
ecoResProduct = queryrun.get(tablenum(EcoResProduct));
info(strfmt("%1 - %2 ",inventTable.ItemId,ecoResProduct.productSubtype())); // to check your result
}
}
No comments:
Post a Comment