In my post about find method template I described how to add a new template to the editor.
When we take a look at the existing ones, we can see the
parm template. I am sure many of you use this (like me) because it's useful to create parm methods very fast.
Sometimes I struggle with this dialog because I need a parm method returning
Common or any other system table or system class.
I used to enter
SalesId or something similar in the dialog and then replaced the
SalesId type via CTRL+H with the needed return type.
But today I took the time to find out how this can be extended.
Where does the Dialog come from?
The dialog can be found in
\Classes\EditorScripts\template_method_parm and uses the EDT
SysXppType for the type field. This EDT controls the lookup and validation.
The EDT SysXppType
Taking a closer look on this EDT, we can see it has some restrictions via the relations:
Find the needed IDs
So first we need to know which IDs the system classes and tables have.
To take an easy example I used the class
XmlDocument and the following code in a job:
static void Job9(Args _args)
while select el
order by Name
group by Name, ElementType
where el.Name like 'XmlDocument'
info(strFmt("%1 => %2", el.Name, el.ElementType));
Now we know system classes have the ID 42.
Extend the EDT Relations on SysXppType
Extending the relations on the EDT SysXppType with the ID 42 enables us to select system classes in the parm dialog from now on: