This documentation supports the 9.0 version of Remedy Action Request System.

To view the latest version, select the version from the Product version menu.

Analyzer rules and messages

Analyzer finds potential performance issues and errors by checking the server objects that you select against the rules that you specify. The following table lists the rules that you can use to analyze your objects.

Analyzer rules

Start adding filters for your table either in the macro settings or on the filtration pane.

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...
CategoryRuleDescription
Structural





     




              







                  





                      

 

Inefficient QueriesIdentifies inefficient queries, such as queries that do not use an index.
Unused WorkflowIdentifies workflow objects that have no Execute On options enabled and are not included in any guide.
Server Referenced by NameIdentifies workflow object that include references to servers by name and might not be portable.
Unreachable Else ActionsIdentifies workflow objects with Else actions that have no Run If qualification.
Process ValidityIdentifies workflow objects that contain Run Process actions or Set Fields actions with a $PROCESS$ value that have invalid server references.
Invalid Access PointIdentifies forms or call guides that are referenced as part of another application and that are not declared as an access point in the current application.
Duplicate Message Number in Message ActionIdentifies duplicate numbers used in more than one Message action.
Run Macro Action Used in Active LinkIdentifies active links where the Run Macro action is used
Set Fields Order Is Not PredictableIdentifies workflow objects where the Set Fields action source and target values are interdependent.
Field References in SQL CommandIdentifies SQL commands that use field references.
Unused menuIdentifies menus that are not attached to any fields or are not used in any workflow.
Invalid Declaration of Global Fields

Identifies global fields with either of the following characteristics:

  • The field is a Character field whose input length is greater than 255.
  • The field is a Diary or Attachments field.
Form Is Not a Part of Any Deployable ApplicationIdentifies forms that are not part of a deployable application, which means that its associated workflow are also not included.
Irrelevant Field IndexingIdentifies fields that are indexed but do not exist or should not be indexed.
Trim Fields Are Not Visible in Any ViewIdentifies trim fields that are defined on the form but are not present in any view.
Number of Aliases for Selection Fields Is Inconsistent on Views.Identifies selection fields that have an inconsistent number of aliases of different views (An example of this might occur in localized views.)
Unused GuideIdentifies guides that are not used in any workflow.
Guide's Workflow Forms Belong to Different ApplicationIdentifies guides that have multiple workflows, and the forms associated to the workflow belong to different deployable applications.
Unreferenced Views Not Set as Default ViewIdentified unreferenced views that are not used in any workflow or are not set as the default view.
Bounding Box Is Too SmallIdentifies fields that are cut off because they do not fit in their bounding box.
Display-Only Fields Not Used In Any WorkflowIdentifies display-only fields that are not used in any workflow.
Display-Only Fields Not Used In Any WorkflowIdentifies display-only fields that are not used in any workflow.
Unused Control FieldsIdentifies unused control fields (buttons.)
Referenced Fields Do Not ExistIdentifies fields that are referenced but do not exist.

Incomplete Association

Identifies associations that have references to invalid forms, invalid qualifications, and invalid fields and checks whether archiving is disabled on forms.
Unfollowed Strong AssociationsIdentifies all the enabled strong associations that are not getting followed during archiving.
PerformanceActive Link Execute On

Identifies workflow objects that have two or more of the following Execute On conditions enabled:

  • Window Open
  • Window Loaded
  • Display
Performance



  
Large imageIdentifies large background images and large images on buttons.
QBE MatchIdentifies character fields where the query-by-example (QBE) property is set to Anywhere.
$PROCESS$ as Assignment ValueIdentifies workflow where $PROCESS$ is used as an assignment value in a Set Fields action (This excludes special Run Process commands.)
Field Length Greater Than 255 CharactersIdentifies fields with a length that is greater than 255 characters.
Unindexed Field Mapping In Association

Identifies the fields used to define a field mapping in an association that are not a part of form indexes.

Security

 
Run Process

Identifies when a process command uses a field variable as a part of a process argument or as the entire command; also identifies whether the server setting to use a directory for Run Process active link actions is enabled Additionally, for UNIX servers, this rule identifies whether the following server settings are enabled:

  • Using shell control for Run Process actions
  • Using back quote characters (') in Run Process actions
System PasswordIdentifies system passwords that have not been set (such as the BMC Remedy Distributed Server Option User password.)
User PasswordIdentifies user passwords that have not been set; notifies you if the server setting for saved logins is enabled for all users.

In the Analyzer View tab, Analyzer reports all of the inconsistencies it finds. Most messages in the Analyzer View tab have a severity of informational, warning, or error, as described in the following table.

Analyzer messages

Start adding filters for your table either in the macro settings or on the filtration pane.

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...
MessageSeverityDescriptionSolution
Filter or escalation cannot run this process commandErrorThis Run Process command is not valid in a filter or an escalation.Remove the invalid Run Process command.
Filter or escalation cannot run this process commandErrorThis $PROCESS$ command is not valid in a filter or an escalation.Remove the invalid$PROCESS$command.
Invalid $PROCESS$ commandErrorThis $PROCESS$ command must be run on a server, so a server reference is required.Add a @@ or@serverNamereference to the$PROCESS$command.
Invalid Run Process commandErrorThis Run Process command must be run on a server, so a server reference is required.Add a @@ or@serverNamereference to the Run Process command.
Invalid Run Process commandErrorThis Run Process command must be run on a server, so a server reference is required.Add a @@ or@serverNamereference to the Run Process command.
Invalid server referenceErrorThe reference to a server is not valid in an active link or escalation Run Process or $PROCESS$ command.Remove the @@or @serverNamereference from the Run Process or$PROCESS$command.
This $PROCESS$ command must be run on the clientErrorThis $PROCESS$ command cannot be run on a server, so the server reference is invalid.Remove the @@or @serverNamereference from the$PROCESS$command.
This Run Process command must be run on the clientErrorThis Run Process command cannot be run on a server, so the server reference is invalid.Remove the @@or @serverNamereference from the Run Process command.
Field references found in direct SQL commandsError InformationalThis is a level 1 result if the entire SQL command is created from one field such as $Short Description$. Any command can be run from the field value, and this can be exploited. This is a level 3 result if a field reference is used as part of a command, for example: Select $Short Description$ From $Character Field$ The SQL statement might be malformed. The BMC Remedy AR System server does not validate SQL commands used in Direct SQL actions.Validate the SQL command manually.
No password set for a <license type> licensed user: <user name>Error WarningFor user Demo, this is a level 1 result. For all other users, this is a level 2 result. Applies only if External Authentication is not used. For more information about external authentication, see Integrating. Indicates that the user named in the message has an empty password.For security reasons, you should enforce passwords.
$PROCESS$ is used as an assignment value in a Set Fields actionInformationalWhen $PROCESS$ is used in Set Fields actions, the system must wait for the process to complete and return a value. Depending on the process, this could impair performance.Evaluate the need for using$PROCESS$results to assign field values.
A control field is not used in any workflowInformationalA form contains a control field (such as a button) that is not connected to any workflow, so it is not being used.Delete the unused control field, or attach it to the appropriate workflow. Select Form > Add/Remove Fields In View.
A display-only field is not used in any workflowInformationalDisplay-only fields do not store data. If they are not referenced by workflow, they usually do not serve a purpose. This might occur with fields that were created for a purpose at one time, but the application changed, and they are no longer useful.Verify whether the display-only field is used. If it is not used, delete it.
A form is not part of any deployable applicationInformationalThe form is not a part any deployable application, so its associated workflow is also not included in an application. If the application is deployed into a production environment, the workflow will not serve any useful purpose.Add the form to a deployable application.
A global field has a length greater than 255Informational

Global fields are display-only fields of the following types:

  • Regular global fields share data across multiple windows or forms. The field ID range for these global fields is 1000000 through 1999999.
  • Window-scoped global fields share the data across multiple records in the same window. The field ID range for these global fields is 3000000 through 3999999. Global fields cannot be any of the following field types:
  • Character whose input length is greater than 255
  • Diary
  • Attachment

Change the global field to a type other than the following types:

  • Character whose input length is greater than 255
  • Diary
  • Attachment
A guide is not used in any workflowInformationalA guide was found that is not connected to any workflow, so it is not being used.Delete the unused guide, or attach it to the appropriate workflow.
A menu is not being used in any fields or workflowInformationalA menu was found that is not attached to any fields or is not being used in any workflow (such as a Change Field action.)Delete the unused menu, or attach it to the appropriate workflow.
A trim field is not used in any viewInformational

A trim field (such as a line) is defined on the form but is not present in any view.
Note: BMC Remedy Developer Studio does not usually allow this, but a legacy form from a definition file could contain this issue.

Delete the unused field. Select Form > Add/Remove Fields In View.
A view is not used in any workflow or is not the default viewInformationalA view is not being used in any workflow (such as an Open Window action), or a view is not set as the default view.Make sure that the view is being used efficiently.
Back quotes allowed in Run Process commandInformationalApplies only to UNIX servers. Back quotes should not be permitted in a Run Process command.

Set the following option in thear.conf file:

Allow-Backquote-In-Process-String:F

Duplicate message numbers in Message actionInformationalIf the same message number is used in more than one Message action, it is difficult to determine which piece of workflow triggered the message. Different messages might be associated with the same number.Evaluate all of the Message actions, and change the message numbers as needed.
EXTERNAL used in the queryInformationalThe field contents are not explicit.EXTERNAL keywords can be used in queries in BMC Remedy AR System to dynamically retrieve qualifications from a field value. These are indeterminate, and the result indicates that such a qualification is used.It is possible that the query is malformed and incorrect. Try to avoid such queries, unless the field value is being well calculated.
Field has QBE match property set to "Anywhere"InformationalIf the QBE Match property on a character field is set to Anywhere, the database cannot optimize its search and will perform a table scan.Evaluate the requirement of this setting for the field. Avoid using this setting if possible.
Server setting for saved login enabled for all usersInformationalThis is a security concern if user desktops are shared.Set Users Prompted For Login option to Always in the Configuration tab of the BMC Remedy AR System Administration: Server Information form.
Set fields order is not predictableInformationalBecause the order for the setting of fields in active links at run time cannot be predicted, target fields should not be used as source fields in same Set Fields action.Split the Set Fields action into two or more Set Fields actions.
The number of aliases for a field is not the same on each form viewInformationalA selection field appears on several views of a form, but the number of aliases for the field is not the same on each form view. For example, consider a form with two views: one in English and one in Spanish. A selection field on these views has four options. A fifth is added to the field. An alias is added to the English view but not to the Spanish view, and the number of aliases is inconsistent. The English view now contains five options and five aliases. The Spanish view contains five options and four aliases. Consequently, the field on the Spanish view will display four Spanish words and one English word.Make sure that each view has the correct number of aliases for the selection field.
Workflow for a form connected to a guide belongs to a different applicationInformationalA guide can have multiple workflows, but the forms associated with the workflow can belong to different deployable applications. This can cause inconsistent results.Make sure that the guide is working properly.
- <name> Password has not been setWarning

An BMC Remedy AR System Service Password was not set, and BMC Remedy AR System uses the default password. The possibility of abuse is greater if these passwords are left as defaults. The following passwords are analyzed:

  • Application service
  • BMC Remedy Distributed Server Option user (if BMC Remedy Distributed Server Option is licensed)
  • BMC Remedy Distributed Server Option target (if BMC Remedy Distributed Server Option is licensed)
  • BMC Remedy Mid Tier (if the BMC Remedy Mid Tier is licensed)
  • Plug-in server
  • Plug-in target
Set these passwords using options on the Connection Settings tab of the BMC Remedy AR System Administration: Server Information form.
!= operatorWarningWhen a qualification uses the !=operator (for example, 'Status' != "Closed" ), the database is likely to perform a full table scan.Rewrite the qualification without the != operator. When possible, use the less than operator (<) or greater than operator (>) instead.
Active link will fire multiple times for same operationWarning

Active link is executed on more than one of the following:

  • Window Open
  • Window Loaded
  • Display
  • After Submit

The same active link might execute multiple times for the same operation. This can impair performance.

Evaluate all such active links and see if different active links can be created for each Execute On condition.
Bad field referencesWarningA display-only field has been used in a query. Display-only fields do not have any associated columns in the corresponding database table. Their data is not persistent. Use of these fields in queries will cause a run-time error.Avoid using display-only fields in queries to avoid failure during run time. Even without an error, using a display-only field in a query is not recommended because there is no corresponding persistent data for these fields.
Else actions cannot be runWarningThe workflow never runs these Else actions because it does not have a Run If qualification.Specify a Run If condition, or remove the Else actions.
Empty qualificationWarningNo qualification is specified for an operation that queries the database. Empty queries typically cause a scan of the entire table. The exception is when an empty qualification is used in a Push Fields action and the If No Records Match option is set to Create New Request. In this situation, the server does not look up the table.Avoid using empty qualifications. Try to use a query that would always evaluate to true.
Explicit server referenceWarningAn explicit reference to a server by its name might fail when the workflow is moved to another server.If the server referenced is the one running the workflow, use the form of the workflow that references it implicitly to make your application portable. If a different server is referenced, update the name if you move the workflow.
Field is not appropriate for indexingWarningFields defined in the index list do not exist or those fields are no longer to appropriate for indexing. For example, a character field's size is 50, and the field is indexed. Then, the field's size is changed to unlimited. Unlimited fields cannot be indexed.Remove the field from the index list.
Field used in arithmetic expressionWarningFor queries where the field is used in an arithmetic expression (for example, if A is an integer field, and the following query is used: 'A' * 3 < 20 ), indexes or queries cannot be optimized effectively because the expression must be evaluated for each row in the table and then evaluated against the other part of the query.Avoid queries that use fields in arithmetic expressions. To improve the query (used: 'A' * 3 < 20), the expression can be changed to'A' < (20/3). Then, an index and optimizations can be used because20/3 is evaluated separately and based on its value. The correct rows then can be fetched from the database table.
Field(s) not indexedWarningFields are not indexed. For example, you have a qualification such as 'A' = "John", and field A is not indexed.Review the index list and the fields in the query list to determine the number of times the field is used in queries. Determine if it makes sense to index field A.
Invalid access point referencesWarningThe form or call guide action is part of an application, and that form or action is not declared as an access point in that application.Declare the form or call guide action as an access point in the application to which the form belongs.
Large background image used for formWarningUsing large background images can significantly affect the performance of the application.Avoid using large images as background images for forms. Use smaller background images.
Large image used for fieldWarningUsing large images for field can significantly affect performance by slowing down the downloading process.Use smaller images for fields.
LIKE match string starts with a wildcardWarningWhen the match string of a LIKEoperator in a qualification starts with a wildcard character (for example, 'A' LIKE "%John"), the database cannot use any index or any optimizations and will perform a full table scan.Rewrite the qualification without the wildcard character at the beginning of the search string.
LIKE operator is followed by a wildcard characterWarningIf you use the LIKE operator and a wildcard at the beginning of the string, the database will not use an index, and the database will not be able to use optimizations. Additionally, the database might perform a complete table scan. Examples include 'A' LIKE "%John" and 'A' LIKE "_John".Avoid such queries where possible.
Long character field used in queryWarningIndexes cannot be created on long character fields (fields greater than 255 characters). For long character fields, BMC Remedy AR System uses a different table and maintains a link with the actual table for the form. Using these long fields can lead to considerable performance issues.Avoid using long character fields in queries.
No shell control specified for active link Run Process actionsWarningApplies to UNIX servers only. You can specify shell control for running active link processesSet this option in the Advanced tab on the BMC Remedy AR System Administration: Server Information form.
No specific directory specified for active link Run Process actionsWarningA potential security issue exists if the directory from which processes can be run from active links is not secure.Specify a value for Active Link Run Process Directory on the Advanced tab of BMC Remedy AR System Administration: Server Information form.
No subquery of an AND qualification uses an indexWarningIf the query involves an ANDoperator, at least one subquery must include an indexed field to make the query efficient. In the following example, neither subquery uses an index:'A' = "John" AND 'B' LIKE "%Smith" Field A is not indexed, and field B is indexed, but the wildcard character with the LIKE operator forces a table scan.Make sure that subqueries favor index usage.
NOT operatorWarningWhen a qualification uses the NOToperator (for example, NOT('Status' = "Closed") ), the database is likely to perform a full table scan.Rewrite the qualification without the NOT operator.
One of the subqueries of an OR qualification does not use any indexWarningIf the query includes an OR operator, all parts of the subqueries must have a field that is indexed to make the query efficient. For example:'A' = "John" OR 'B' LIKE "%Smith" Field A and field B are indexed. 'A' = "John" can use the index, but 'B' LIKE "%Smith" cannot use an index because of the wildcard character with the LIKE operator.Make sure that subqueries favor index usage.
Referenced fields do not existWarningReferenced fields do not exist.Remove the cross-reference.
Run Macro action used in active linkWarningWhen deployed in a browser, the Run Macro action does not function properly.Use an active link action that is compatible with browsers.
The bounding box is too small to fit the data box and label box. OR The [height|HTMLUATarsTroubleshooting:width] of the [data|HTMLUATarsTroubleshooting:label] box is too small to fit the field's [data|HTMLUATarsTroubleshooting:label].Warning

The bounding box does not allow the entire field to appear. For example, a selection field contains two radio buttons. If five radio buttons are added but the bounding box is not made larger, the bounding box is too small to display all of the radio buttons.
Note: BMC Remedy Developer Studio does not allow this, so the issue occurs only if a field is changed programmatically.

Resize the field so that the entire field appears.
Unused active linkWarningThe active link cannot be run.Add an execution option to the active link, or include it in a guide.
Unused filterWarningThe filter cannot be run.Add an execution option to the filter, or include it in a guide.
Usage of != operatorWarningThe != operator causes the database to perform a complete table scan. For example, 'Status' != "Closed".Avoid using != operator. Use > or < where possible. For example, replace the earlier example with'Status' < "Closed".
Usage of NOT operator.WarningUsing the NOT operator usually causes the database to perform a complete table scan. For example,NOT ('Status' = "Closed").Avoid using theNOT operator.
No field found in subqueryWarning (for Oracle databases) Informational (for all other databases)For example, you have a qualification such as 1 = 0. Depending on the database used, this could lead to a table scan. For Oracle databases, this is a level 2 result. The Oracle database does not evaluate queries that do not involve fields in memory, but performs a table scan instead. Apply the solution for an Empty Qualification result, if possible. For all other databases, this is a level 3 result for any other database. Other databases evaluate such expressions in memory instead of doing a table scan.Evaluate your query and see if a field can be used in the query and produce the same result.
Length of field is greater than 255Warning for all databases (except Oracle) Informational for Oracle databaseFor all databases, except Oracle, this is a level 2 result. The BMC Remedy AR System server handles fields with lengths greater than 255 differently, and this can impair performance. For Oracle databases (where the character field length limit is 4000), this is a level 3 result for character fields with lengths between 255 and 4000.Unless absolutely necessary, avoid using long character fields in queries.
$fieldID$ is used in a $PROCESS$ or Run Process commandWarning Information$PROCESS$ or Run Process command uses $fieldID$ as the entire command (for example, $fieldID$ ) A$PROCESS$ or Run Process command uses $fieldID$ as an argument (for example,ABCprocess.exe $fieldID$ )Make sure that the$PROCESS$ or Run Process command is valid.

A placeholder form should not be used as the primary form in an association.

Error

Associations that have a placeholder form as the primary form are ignored by the server during archiving.

Ensure that a primary form definition exists by creating or importing a definition for the form; or remove this association.

A placeholder form should not be used as a secondary form in an association.

Error

Associations that have a placeholder form as the secondary form are ignored by the server during archiving.

Ensure that a secondary form definition exists by creating or importing a definition for the form; or remove this association.

The primary form qualification is invalid.

Error

The primary form qualification string is invalid.

Verify if there is a syntax error or a reference to a field that does not exist on the primary form.

The secondary form qualification is invalid.

Error

The secondary form qualification string is invalid.

Verify if there is a syntax error or a reference to a field that does not exist on the secondary form.

The association form qualification is invalid.

Error

The association form qualification string is invalid.

Verify if there is a syntax error or a reference to a field that does not exist on the association form.

A field is missing from the primary form.

Error

A field used in the primary form key does not exist on the primary form.

Check the primary form definition for the existence of this field.

A field is missing from the secondary form.

Error

A field used in the secondary form key does not exist on the secondary form.

Check the secondary form definition for the existence of this field.

A field is missing from the association form.

Error

A field used in the association form key does not exist on the association form.

Check the association form definition for the existence of this field.

This form does not have an archive definition.

Warning

The form is used in an association and does not have archive defined. The server cannot archive data from this form.

Open the form and define an archive for it.

The specified association object does not exist.

Error

Association is to be followed in an archive of form. But it does not exist.

Create or import an association with this name or remove the association from the list to be followed by archive for this form.

A strong association is not being followed.

Warning

Though an association is a strong association, it is not in the list of associations to be followed by archive for that form which causes data loss during archive.

Add this association to the list of associations to follow during an archive of form.

A strong association may not be followed.

Warning

Though an association is a strong association, it is not explicitly added in the list of associations to follow in its primary form which causes data loss during archive.

Add this association to the associations to follow list of a form explicitly by selecting selection type as 'specific' or ensure that for all the archiving paths this association is getting followed.

A field or fields used in the field mapping are not included in any unique indexes defined for the form.

Warning

No fields used in the field mapping for list of fields are included in any unique indexes defined for the form.  At least a subset of these fields should be included in at least one unique index.

Define a unique index that contains a subset of the fields or all of the fields used in the field mapping.

Fields used in the field mapping are not included in any of the indexes defined for form.

Warning

No fields used in the field mapping for list of fields are included in any unique indexes defined for the form.  At least a subset of these fields should be included in at least one unique index.

Define an index that contains a subset of the fields or all of the fields used in the field mapping.

Was this page helpful? Yes No Submitting... Thank you

Comments