Quick search for generic inquiries

What is quick search?

Quick search is a feature of generic inquiries (GIs) that provides a user with an easy way to search multiple GI fields that are configured for quick search. Quick search shouldn't be used in place of column filters. Instead, it provides a faster way to support the most common search scenarios for a GI screen.

For example, take AR invoices and memos. Quick search lets a user easily find an invoice by searching for Invoice number, customer code, customer name or customer order number.


Configuring quick search fields

On the Generic Inquiry maintenance screen (SM208000), you can choose which fields appear in quick search results.

To make fields appear in quick search results:

  1. Go to the Generic Inquiry maintenance screen (SM208000).
  2. In the Inquiry Title field, select the generic inquiry you want to configure quick search fields for.
  3. In the Results Grid tab, click the Column Configuration icon (column_configuration).
  4. In the Column Configuration window, select Use in Quick Search and click the right-arrow icon (right_arrow_icon).
  5. Click OK.
  6. On the Results Grid tab, select the Use in Quick Search checkbox for the fields you want to appear in quick search results.
  7. On the form toolbar, click the Save icon (save_3).

How does quick search work?

When a user enters text into the quick search field, the underlying query engine applies a "contains” search using that text against all fields configured for quick search.

For example, a user types "concrete" in the quick search, which results in SQL below where the GI has only 2 fields set with quick search active:

WHERE [FieldName1] LIKE '%concrete%' OR
[FieldName2] LIKE '%concrete%'

Quick search performance tips

By default, quick search uses the SQL LIKE statement with a "contains" search. SQL contains searches that can't be supported by table indexes, so they are slower than queries that can.

So, the more fields that are enabled for quick search, the slower the search will run, making for a worse user experience.

To ensure a good user experience, we recommend the following:

  • Don't enable quick search on all fields, which would cause quick search to perform very slowly.
  • Only select Use in Quick Search for fields if they are absolutely needed to support the user in finding most commonly needed information. In all other cases, the user should leverage filters.
  • Quick search is most useful for text-based fields where the data values are largely unique and there's a low number of duplicate values. This ensures the search is faster and that the returned data set is relatively small, which helps the the user find the information they're looking for.

    For example: Invoice number, Order description, Email address, Stock code, Stock description vs Country, Tax code, state, quantity, amount.
  • Avoid setting quick search on numeric values or calculated values. Only do so if it's unlikely a user will commonly search on a quantity or amount for an invoice. If they want to, they can use the column filter.
  • Test thoroughly:
    • After selecting a field to appear in quick search results, test it. View the GI screen and perform a quick search. You can run the request profiler to see where performance issues occur.
    • If the search is slow due to the change you made, you need to balance this with the users needs. If a user is looking up orders or stock availability while a customer waits for them, the user will want speed over the ability to quick search over many fields. A warehouse operator might be willing to have a slower search if it means the quick search has flexibility across more fields.
      • In the example above, you could replicate the GI and configure each GI for specific use cases. For example, have a counter stock listing GI as default, but also have a warehouse stock listing.