if(!contract.parmlocation())
{
while select forupdate VendAgingReportTmp
notexists join rolelocation
where rolelocation.LocationId == VendAgingReportTmp.PMELocation
&& rolelocation.UserId == curUserId()
{
ttsbegin;
VendAgingReportTmp.delete();
ttscommit;
}
}
Lookup method:
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
DimensionAttribute dimAttr;
container conUsers;
int userCount = 1;
dimAttr = DimensionAttribute::findByName("Location");
str locations;
Query query = new Query();
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(DimensionAttributeValue), _formControl);
SecurityRole role;
SecurityUserRole userRole;
PMERoleLocation roleLocation;
while select roleLocation
where roleLocation.UserId == curUserId()
{
conUsers = conIns(conUsers,userCount,roleLocation.LocationId);
userCount++;
}
locations = con2Str(conUsers,",");
query.addDataSource(tablenum(DimensionAttributeValue)).addRange(fieldNum(DimensionAttributeValue,DimensionAttribute)).value(queryValue(dimAttr.RecId));
sysTableLookup.addLookupfield(fieldNum(DimensionAttributeValue, DisplayValue), true);
query.dataSourceTable(tableNum(DimensionAttributeValue)).addRange(fieldnum(DimensionAttributeValue, DisplayValue)).value(locations);
//this code is to add the ranges for filtering
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
No comments:
Post a Comment