我创建了这样的查询:
现在,我想在我的runBaseBatch
类中调用此查询:
class Exercise_RunbaseBatch extends RunBaseBatch
{
private void customerLookup(FormStringControl _control)
{
SysTableLookup sysTableLookUp;
QueryBuildDataSource qbds;
Query query = new Query();
qbds = query.addDataSource(tableNum(CustTable));
sysTableLookUp = SysTableLookup::newParameters(tableNum(CustTable), _control, true);
sysTableLookUp.addLookupfield(fieldNum(CustTable, AccountNum));
sysTableLookUp.parmQuery(query);
sysTableLookUp.performFormLookup();
}
public Object dialog()
{
DialogRunbase dialog = super();
DialogRunBase dialogLookUP = super();
FormBuildStringControl control;
DialogField dialogField = new DialogField(dialog);
DialogField dialogFieldLookUp = new DialogField(dialog);
dialogFieldLookUp = dialog.addField(extendedTypeStr(AccountNum));
control = dialogFieldLookUp.control();
dialogField = dialog.addField(extendedTypeStr(LogisticsAddressCountryRegionId));
control.registerOverrideMethod(methodStr(FormStringControl, lookUp),methodstr(Exercise_RunbaseBatch, customerLookup),this);
return dialog;
}
public boolean runsImpersonated()
{
return true;
}
public boolean showQueryValues()
{
return true;
}
public static Exercise_RunbaseBatch construct()
{
return new Exercise_RunbaseBatch();
}
public boolean canGoBatch()
{
return true;
}
public static void main(Args args)
{
Exercise_RunbaseBatch runBaseDemo = Exercise_RunbaseBatch::construct();
runBaseDemo.getLast();
if(runBaseDemo.prompt())
runBaseDemo.run();
}
public void run()
{
super();
}
}
我该怎么办?
要在x ++中使用/调用AOT查询,只需使用QueryRun类的构造函数。
public void run()
{
QueryRun queryRun = new QueryRun(queryStr(AssetBalances));
while (queryRun.next())
{
AssetGroup assetGroup = queryRun.get(tableNum(AssetGroup));
//table(s) assetGroup and others as a single record result set
}
}
关于如何在派生的RunBaseBatch类中使用它,这将取决于您的特定要求,并且需要更多信息来回答。