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. You can perform database queries across multiple forms-including view and vendor forms when needed.

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 memory that they consume.

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 need not issue multiple 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 to reduce the need for in-memory processing of large number of records, you can 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 AR System and external sources.
    See Using aggregate functions, groupBy clauses, and having clauses.

Important

You cannot issue these queries from the Mid Tier because it does not support the ARGetListEntryWithMultiSchemaFields function. However, you can create API programs, 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:

Action

Reference

Learn about the Java and C diagrams of the ARGetListEntryWithMultiSchemaFields function. 

Learn to use aliases in dynamic joins.

Learn to use access control fields in dynamic joins.

Learn to use Full text search (FTS) with dynamic joins.

Understanding how the format of the ARGetListEntryWithMultiSchemaFields results differs from the format of the ARGetListEntryWithFields results

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*