Interoperability

Service Manager has a built-in Interoperability feature that automatically populates related problem and incident records with updated information.

Interoperability enables two or more components to exchange information within Service Manager. Service Manager schedules transparent updates to a table or application to reflect changes in another table or application.

The automatic process begins when you update a record that has links to another record. For example, if a problem or known error record has associated incident and change records, an update to the change record should trigger automatic updates to the problem and incident records.

When the ioevents.schedule RAD application runs, it uses copies of the original record and the changed record, then selects the ioevents record with a matching table name. If the condition in the actions array is true, the application creates a schedule record with a list of actions to occur. When the ioevents.process RAD application runs, it processes the schedule record and the associated ioaction record with the update information.

These record updates are transparent in normal processing. Background schedulers make the changes without affecting the current client/server session performance. There is no intervention required by the user to ensure all updates post correctly.

The Interoperability feature uses these tables and applications.

Component Description Table field Content
ioevents table Contains schedule records to trigger events listed in the ioactions table. name Action name.
description A brief description.
javascript The name of the JavaScript that runs when the action occurs.
ioactions table Contains action or event records processed by the ioevents.schedule RAD routine. Each action record contains a JavaScript to complete the action. filename The table name that the event references.
actions An array of structures with information about interoperability actions and conditions.
name A field in the actions array of structures that contains the name of the interoperability action.
condition A field in the actions array of structures containing the condition that triggers the action.
ioevents.schedule RAD routine Processes the ioevents table at regular intervals to locate records with pending actions. If the event condition is true, ioevents.process processes the actions record in the ioactions table.    
ioevents.process RAD routine Processes the actions records in the ioactions table.    
Interoperability Helpers
(ScriptLibrary record)
Contains JavaScript functions to create schedule records manually.    

Creating schedule records manually

There is a ScriptLibrary record named interoperabilityHelpers. This record contains JavaScript functions that enable you to create schedule records manually. When Service Manager calls these functions, they generate the same records that ioevents.schedule creates automatically. Administrators may find it necessary to schedule updates at another time if a record to be processed is locked and processing is delayed. You can use the scheduleAction(record,action) JavaScript function to create these schedule records manually.

Advanced Interoperability tailoring

Application developers can add scripts for new actions or tailor out-of-box scripts to run differently. In all custom applications, ensure that you refer to the ioaction table record as vars.$L_file.

Related topics

Error resolution
When does a known error close?