Active link debugging example
Chris Code works for a county maintenance department. Chris built two applications: one designed to track road maintenance and repairs in the district, and one to report bugs in the application.
Chris designed a form called Road Defect, which can be displayed in different ways, depending on the contents of various fields. The user clicks on an action button to change the view.
When Terry Test clicked on the action button, the form did not change as expected, so Terry reported a bug. The bug report tells Chris that the issue is with the specific button on the Road Defect form.
Chris looks at each active link in BMC Remedy Developer Studio to determine which active links are associated with the button. The links are all simple code, without macros, and the code is correct.
Chris then uses active link logging to record the link actions while reproducing the issue. The log file shows that one of the active links is not running, so Chris looks at the active link definition in BMC Remedy Developer Studio and discovers that the link is disabled. Chris enables the active link and retries the operation.
The active link still does not work, so Chris looks at the workflow log again, and sees that the qualification is failing. The Run If qualification shows that the qualification depends on the contents of a display-only field, normally hidden on the form. Using BMC Remedy Developer Studio, Chris makes the field visible and tests the issue again. The contents of the field are not correct.
Chris learns that another programmer disabled the display-only field because it appeared not to be affecting the application. Knowing that most display-only fields have values pushed from other forms, Chris inspects the workflow for the display-only field. The value is set by a single active link, so Chris looks at the active link definition and sees that the source of the Set Fields action is a concatenation of a field the user fills in using a menu, and a string constant. The constant is not correct. Chris corrects the constant, which solves the issue.