Hi Nikolaos,
Below is the code snippet.
class enableCountingSetup extends RunBase
***************************************************
public static enableCountingSetup construct()
{
return new enableCountingSetup ();
}
****************************************************
public static void main(Args _args)
{
enableCountingSetup countingSetup = enableCountingSetup ();
if (countingSetup.prompt())
{
countingSetup.run();
}
}
****************************************************
public boolean unpack(container packedClass)
{
Version version = RunBase::getVersion(packedClass);
switch (version)
{
case #CurrentVersion:
[version, #CurrentList] = packedClass;
break;
default:
return false;
}
return true;
}
****************************************************
protected Object dialog()
{
dialog = super();
dialog.alwaysOnTop(true);
dialog.windowType(FormWindowType::ListPage);
dialog.allowUpdateOnSelectCtrl(true);
dgStoreNum = dialog.addGroup();
formBuildControl = dialog.formBuildDesign().control(dgStoreNum.name());
formBuildStringControl = formBuildControl.addControl(FormControlType::String, identifierStr(RetailStoreId));
formBuildStringControl.label('Store number');
return dialog;
}
****************************************************
client server static ClassDescription description()
{
return 'Manadatory counting setup at store';
}
****************************************************
public void dialogPostRun(DialogRunbase _dialog)
{
;
query = new Query();
qbdsRetailStore = query.addDataSource(tableNum(RetailStoreTable));
qbdsRetailStore.addSelectionField(fieldNum(RetailStoreTable, StoreNumber));
super(_dialog);
formRun = _dialog.dialogForm().formRun();
if (formRun)
{
formStringControl = formRun.design().control(formBuildStringControl.id());
multiSelectCtrl = SysLookupMultiSelectCtrl::constructWithQuery(formRun, formStringControl, query);
multiSelectCtrl.set([this.storeRecIdsToIDs(storeNumCon), storeNumCon]);
}
}
****************************************************
public container storeRecIdsToIDs(container _storeRecIds)
{
int i;
storeIds = conNull();
for (i = 1; i <= conLen(_storeRecIds); i++)
{
storeRecIds = conPeek(_storeRecIds, i);
if (storeRecIds)
{
select firstOnly StoreNumber from retailStoreTable
order by retailStoreTable.StoreNumber asc
where retailStoreTable.RecId == storeRecIds;
storeIds += [retailStoreTable.StoreNumber];
}
}
return storeIds;
}
****************************************************
public boolean getfromdialog()
{
boolean ret;
ret = super();
storeNumCon = this.storeRecIdsToIDs(multiSelectCtrl.get());
return ret;
}
****************************************************
public void run()
{
this.setup();
}
****************************************************
public void setup()
{
int i;
;
delete_from mandateCountingTableDel;
for (i = 1; i <= conLen(storeNumCon); i++)
{
storeNum = conPeek(storeNumCon, i);
if (storeNum)
{
select firstOnly mandateCountingTable
order by mandateCountingTable.StoreNumber asc
where mandateCountingTable.StoreNumber == storeNum;
if (!mandateCountingTable)
{
mandateCountingTable.StoreNumber = storeNum;
mandateCountingTable.insert();
}
}
}
}
Thanks in advance!!!