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

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

About ARGetListEntryWithMultiSchemaFields

Use the ARGetListEntryWithMultiSchemaFields function in C or Java programs to query multiple forms at runtime.

The main operation performed by this function is a dynamic join. Unlike AR System join forms, which are created at design time, dynamic joins are performed at run time. They enable you to perform database queries across multiple forms-including view and vendor forms on an ad hoc basis. Use dynamic joins instead of AR System join forms in situations such as these:

  • At design time, you cannot predict which forms need to be joined at run time. For example, use dynamic joins to enable users to create custom reports that pull data from multiple forms.
  • Some of the forms that you need to join are dynamically created.
  • You use a lot of join forms, and you want to reduce the time required to create them and the space that they take up in memory.


For information about creating AR System join forms at design time, see Creating join forms.

Depending on the structure of your data, this function might also perform the following suboperations to support the dynamic join:

  • Recursive queries — If a form contains hierarchical (parent-child) data, such as manager and employee relationships, this function can use one query to search the form recursively and retrieve the complete hierarchy and related attributes. Thus, to retrieve related records from such forms, you no longer need to issue hundreds of ARGetListEntry calls in recursive loops. See Recursive queries.
  • Value set queries — This function can perform IN and NOT IN operations on a fixed value set and on a value set returned by a subquery. See Value set queries.
  • Refine query results by using aggregation functions, groupBy clauses and having clauses — To refine the selection of data retrieved from the database and reduce the need for in-memory processing of large numbers of records, you can now apply aggregation functions along with groupBy and having clauses. (AR System releases prior to 7.6.02 do not support these options.)
  • Vendor form joins — Joining vendor forms with other types of forms enables a single query to access data in both BMC Remedy AR System and external sources. See Using aggregate functions, groupBy clauses, and having clauses.


Users cannot issue these queries from the mid tier because mid tier does not support the ARGetListEntryWithMultiSchemaFields function. You can create API programs, however, that use this function. The programs must be able to parse the user-specified query and provide appropriate parameters to the function.

Use the following information to know more about dynamic joins.

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