Using the Invoke Service Method in a Calculated Field

InvokeServiceMethod allows you to retrieve the value of a Business Service Output Property and use it in a Calculated Field or with Siebel Personalization (see Siebel Personalization Guide for more information).

It is called as follows:

InvokeServiceMethod(BusSvc, Method, InputProperties, OutputProperty), where
  • BusSvc is the name of the Business Service to invoke

  • Method is the name of the method in the Business Service that should be invoked

  • InputProperties is a comma separated list of Input Properties to the Business Service in the format (prop1=val1, [prop2=val2], [prop3=val3]...)

  • OutputProperty is the name of the Property that will be retrieved.

Note: All four properties are required, even if the service requires no Input Properties. Use a dummy property and value pair, such as "a=1".

You may also use the function "eval([Field])" to include field values from the BusComp in the Input Properties, such as "eval([Id])", which would include the value of the Id field (ROW_ID) as an input argument.

Example:
InvokeServiceMethod("MyBusinessService", "MyMethod", "RowId=eval([Id]), 
Name=eval([Last Name])", "MyReturnProperty")

This would invoke a method named MyMethod on the service "MyBusinessService" and set the two business service Input Properties "RowId" and "Name" to the current record's Id and Last Name values respectively.

When the business service executes, it will need to set an Output Property named "MyReturnProperty", which will be what is displayed in the calculated field.

You must not display a calculation expression that calls a business service in a list applet. Doing so might result in poor performance because Siebel CRM repeatedly instantiates the business service each time it displays the field in the list.