During one of my presentations at Acumatica Summit 2017, entitled Business Intelligence for Business Leaders, I mentioned that you can build cool things on top of Generic Inquiries.
Click here for the slides and other information from that presentation.
But, what did I mean by “You can build Cool Things on top of Generic Inquiries”?
Generic Inquiry is like the hub of a wheel. There are spokes around that wheel, but Generic Inquiry is the center, holding everything together. Many of the cool reporting features in Acumatica are actually built on top of Generic Inquiry. First you build the Generic Inquiry, then you build the things on top of it.
This is actually going to be a really short post because it’s easier to show with a picture than to explain. So here you go:
A few notes about the picture above:
- Dashboards are listed twice, once as Dashboards and once as Dashboards (Acumatica 6), because although Dashboards have changed significantly in Acumatica 6, they are still available in Acumatica 5.3.
- OData is just a communication protocol, like HTTPS. It’s simply a delivery mechanism, like a pizza delivery car. Nothing fancy about it, it just allows you to securely deliver your Acumatica data to Microsoft Excel, Power BI, and other applications that support OData. For more on OData:
- Notice the box called Data Access Classes that sits in between Acumatica Database and Generic Inquiry. Actually, Generic Inquiry does not communicate with the database directly. This is a good thing for a few reasons:
- The database is agnostic and can be Microsoft SQL Server, MySQL, etc.
- The Generic Inquiry will pickup security, including row-level security, so it will know whether or not you have access to a particular warehouse or customer for example. Two users can run the same inquiry, but see only the data that they have access to (their respective sets of customers for example).
- This makes the Inspect Element feature a possibility (click here for more on Inspect Element).
- Data Access Classes do some work for you. They are like SQL Views in that they automatically join multiple underlying tables together for you.
- They can be slow. Actually, this is not a good thing, but I wasn’t sure where else to put it. Because Generic Inquiry doesn’t access the Acumatica Database directly, they typically run a little slower than regular SQL statements. And it makes sense because they have to do more work in order to pass through the Data Access Classes layer.