Hi All,
I have created a new EDT(MyEcoResCategoryHierarchyId) and attached it to a field in a table MY_EcoResCategoryHierarchy(this table is created by me).I want to perform run time lookup in a dialog on the field which is using my new EDT MyEcoResCategoryHierarchyId .I have written the below code to perform this functionality:
class LookupDialog extends RunBase
{
DialogRunbase dialog;
DialogField dialogField;
}
public Object dialog()
{
dialog = super();
dialogField = dialog.addFieldValue(extendedTypeStr(MyEcoResCategoryHierarchyId),"Category Hierarchy");
return dialog;
}
public void dialogPostRun(DialogRunbase _dialogloc)
{
super(_dialogloc);
_dialogloc.dialogForm();
_dialogloc.dialogForm().formRun().controlMethodOverload(true);
_dialogloc.dialogForm().formRun().controlMethodOverloadObject(this);
_dialogloc.formRun().controlMethodOverload(true);
_dialogloc.formRun().controlMethodOverloadObject(this);
}
public void Fld1_1_lookup()
{
Query query = new Query();
QueryBuildDataSource qbds;
SysReferenceTableLookup sysTableLookup;
FormControl frmStr = dialogField.dialog().formRun().controlCallingMethod();
sysTableLookup = SysReferenceTableLookup::newParameters(tableNum(MY_EcoResCategoryHierarchy),frmStr);
sysTableLookup.addLookupfield(fieldNum(MY_EcoResCategoryHierarchy, Code));
query = new query();
qbds = query.addDataSource(tableNum(MY_EcoResCategoryHierarchy));
qbds.fields().addField(fieldNum(MY_EcoResCategoryHierarchy,Code));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
static void main(Args _args)
{
LookupDialog lookupDialog = new LookupDialog();
if (lookupDialog.prompt())
{
lookupDialog.run();
}
}
If I run the above code, control is not added to the dialog,hence unable to perform lookup on the same.The dialog is opened empty.
Note: The same code is working fine if I am using a standard EDT(For example: EcoResCategoryHierarchyId in place of my new EDT).
Please help me in resolving this issue.
Regards,
Padmaja