Можно ли как-нибудь добавить два пула данных в один скрипт? Или, другими словами, как мы можем получить входные данные из двух разных пулов данных в один скрипт.
Заранее спасибо.
Можно ли как-нибудь добавить два пула данных в один скрипт? Или, другими словами, как мы можем получить входные данные из двух разных пулов данных в один скрипт.
Заранее спасибо.
Да, вы можете вручную загружать любое количество пулов данных и управлять ими.
/**
* Creates a IDatapoolIterator pointing the first record
* @param datastore default project path
* @param dataPoolPath relative path in the project
* @return IDatapoolIterator pointing the first record
*/
public static IDatapoolIterator getDataPoolIterator(String datastore, String dataPoolPath)
{
java.io.File dpFile = new java.io.File(datastore, dataPoolPath+".rftdp");
DatapoolScriptSupport dss = new DatapoolScriptSupport();
IDatapool dp = (IDatapool) dss.dpFactory().load(dpFile, true);
IDatapoolIterator dpIter = dss.dpFactory().open(dp, null);
dpIter.dpInitialize(dp);
dpIter.dpReset();
return dpIter;
}
то в вашем коде
myDatapool = getDataPoolIterator((String)getOption(IOptionName.DATASTORE), "relative/path/intheproject");
Вы можете получить доступ к любой переменной в пуле данных,
myDatapool.dpString("Variable");
Используйте правильный метод в зависимости от типа переменной, которая вам нужна. С использованием
myDatapool.dpNext();
вы перейдете к следующей записи в пуле данных. Надеюсь, это поможет. Дополнительная информация здесь: Справочная система IBM: пул данных