External methods in a formula

Use the Workflow Manager or the Formula Editor to call a method in an external assembly.

In the Workflow Manager, an external method can be linked to a business object's event handler. The external method then executes when the event occurs, such as when a record is loaded.

The Formula Editor provides a method called CallExternalMethod. It is under the Server Application > Methods node in the Methods and Properties tree.

ServerApplication.CallExternalMethod (System.String assembly, System.String cls, System.String method, System.Object[] args)

Use this method to call external methods from your Infor Public Sector formulas. It takes these parameters:

  • assembly: Directory path to the assembly containing the method.
  • cls: Class of the method.
  • method: Name of the method.
  • args: Optional parameter that sends a list of arguments to the external method.

This example shows an asset inspection index rating formula that calls a method called PMSCalculateAverageIndex in an external class called InforPMSUtilities. The external method is sent one argument, the inspection, and the IndexRating is then set to the value returned by the external method.

dim res as result
dim ExtDLL as string = ServerApplication.Path +
   "Enhancement\bin\InforAgencyPavementUtilities.dll"
dim ExtClass as string = "InforClient.AgencyPMS.InforPMSUtilities"
dim ExtMethod as string = "PMSCalculateAverageIndex"

IndexRating = ServerApplication.CallExternalMethod(ExtDLL, ExtClass,
   ExtMethod, CInt(InspKey))
Note: The ServerApplication.Path property is used to get the first part of the path to the external assembly. Otherwise, you would need to hard code the full path to the Infor Public Sector application directory. Also, unlike most other methods, CallExternalMethod does not return a result. This means that all errors must be handled by the external method.