Epicor BAQ Report: Parameters, Running Manually, Scheduling and Triggering From Code
epicor baq report parameter
Also searched as
- epicor print baq report from code
- epicor schedule baq report
- running reports in epicor
- in epicor 10 how do i run a report manually
Short answer
To make a BAQ report prompt for values, mark the BAQ criteria as parameters, then build a BAQ report from that BAQ. Users run it from its menu item and click Submit; to schedule it, use the schedule options in the submit dialog so the System Agent runs it. Code can submit a report through the report service.
Applies to: Epicor Kinetic and 10.x. Menu wording differs a little between releases. Scheduling needs a running System Agent.
How to build, run and schedule a BAQ report
- 1In Query Builder, open the BAQ and in Table Criteria mark the filter as a parameter so users can enter the value at run time. Give it a clear prompt.
- 2Save and test the BAQ with a parameter value.
- 3Create a BAQ Report from it with the BAQ Report Designer (search the menu), and pick the report style layout.
- 4Add a menu item for the report in Menu Maintenance and set security.
- 5To run manually, open the menu item, fill in the parameters, then click Submit or Print Preview.
- 6To schedule, use the recurrence or schedule setting in the submit dialog, choose the System Agent and the repeat pattern, and save.
- 7Check the schedule in System Monitor and verify the output was produced.
Parameters in a BAQ report
A BAQ with parameters turns into a prompt screen for the report. Name each parameter plainly, set a default where it helps, and decide whether it is required. A date range with defaults of the start of this month and today saves users from filling it each time.
Test with an empty parameter. If you want blank to mean all, the query criteria must be written so it does; otherwise a blank value returns nothing. Keep parameters few, because every one is a way for the user to get an unexpected empty result.
Running and scheduling
Manual run: open the report menu, enter parameters, and submit. The report goes to the System Agent, which creates the output you view from the preview or the report monitor. Printing straight to a printer needs the printer set up for the agent's account.
To schedule, use the schedule section in the submit dialog and pick a recurrence such as every weekday at six in the morning. The System Agent must be running and connected to the right app server. If a scheduled job does not run, check System Monitor for the agent status and the scheduled task list.
Triggering from code or a function
Epicor report services follow a pattern: get a new parameter row from the report service, fill the parameters, and call a submit method to queue it on the System Agent. You can call this pattern from an Epicor Function, from a BPM, or from the REST v2 API on the report service endpoint. Check the available methods for your report in the REST help page for your server, because names are generated per report.
Do not run a long report inside a transaction-sensitive directive. Queue it to the agent and return, so the user is not left waiting. For regular delivery, schedule it to email the output where that is configured.
Try it here, free
Epicor BAQ Query Template Generator
Fill in company, days back and status filters to get a starter SQL for an open jobs BAQ, plus a design checklist for the Query Builder.
Common pitfalls
- !Scheduling when the System Agent is not running or points at the wrong server.
- !A blank parameter returning no rows because the criteria never treated blank as all.
- !Running the report as a developer and missing user permission problems.
- !Printing to a printer the agent account cannot reach.
- !Triggering long reports inline in a directive.
How an ERP-grounded AI assistant handles this
An assistant can check a BAQ report setup against what the user asked for: which parameter fields exist, which are required, and what a blank returns. It can also draft the function that queues the report. A developer still tests and approves it.
Frequently asked questions
How do I run a report manually in Epicor?
Open the report from its menu item, enter the parameters, and click Submit or Print Preview. Output is created by the System Agent and shown from the preview or the report monitor.
How do I schedule a BAQ report in Epicor?
Use the schedule or recurrence options in the report submit dialog, choose the System Agent and repeat pattern, and save. The System Agent must be running. Check System Monitor afterward.
Can I print a BAQ report from code?
Yes. Use the report service to get the parameter row, fill it, and call its submit method. This can be done in a function, a BPM or through REST. Method names vary by report.
Why does my scheduled report not run?
Usually the System Agent is stopped or points at a different server, the user account lacks rights, or the output printer is missing. Check System Monitor first.
Related
How to Create a BAQ in Epicor: Build, Run, Search, Export to Excel and Publish
A BAQ (Business Activity Query) is a saved SQL-style query built in Epicor's Query Builder. Open Query Builder, name the query, add tables and join them, choose display fields, add criteria, test it, then run it from the Execute or Analysis tabs, export to Excel, and publish it for use in a dashboard or report.
How-toEpicor Kinetic SSRS Reports vs Bold Reports: What Changed and How to Migrate
Epicor reports have historically been Crystal and SQL Server Reporting Services (SSRS) RDL files. Newer Kinetic releases moved new report work to Bold Reports, a different reporting engine that uses an RDL-like format. Standard reports are customized by copying a report style and editing the design; custom SSRS reports must be inventoried, tested and re-built or converted.
AdvancedHow to create and call an Epicor Function
Open Function Studio from the main menu (Customization > Function Studio) or from inside a BPM designer's Call Context widget, define a Library and Function with typed inputs/outputs, write the logic in the C# widget, then compile and test with the built-in test harness before calling it from a BPM directive, a dashboard, or another function.
How-toEpicor REST API v2: OData Filter, Select and Expand Examples
Epicor Kinetic REST v2 exposes business objects at /api/v2/odata/{Company}/{Service}/{Entity} and BAQs at /api/v2/odata/{Company}/BaqSvc/{BAQId}/Data. Send an API key in the x-api-key header plus credentials, and use standard OData options: $filter, $select, $top, $skip, $orderby and $expand.
Error fixFixing Epicor BusinessObjectException: BPM Directive Errors
A BusinessObjectException that says "A Business Process Management (BPM) directive has raised the following error" means a directive on that business object stopped the transaction, either deliberately via a Raise Exception widget or accidentally via an unhandled .NET error in Custom Code. Expand the InnerException on the error dialog to see the real message and the directive name, then open BPM Designer for that object and method to find the widget that fired.
How-toFixing a Slow Epicor BAQ (Business Activity Query)
A slow BAQ in Epicor is usually caused by unindexed join columns, a subquery or calculated field forcing a table scan, or the BAQ pulling far more rows than the dashboard actually displays before filtering client-side. Fix it by reading the SQL Server execution plan Epicor generates, moving filters into the BAQ criteria instead of the dashboard filter panel, and replacing subqueries with joins where possible.
AI for ERPAI for Epicor Kinetic, Beyond What Prism Covers
Add AI to Epicor Kinetic beyond Prism: private LLM over BAQs, BPM data, and REST v2, on-prem or private cloud, with honest guidance on when Prism already covers you.
Stuck on Epicor Kinetic?
Talk to engineers who work inside Epicor Kinetic every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- Epicor BAQ Query Template GeneratorFill in company, days back and status filters to get a starter SQL for an open jobs BAQ, plus a design checklist for the Query Builder.
- Epicor Task Agent Schedule Load CalculatorCalculate Task Agent utilization from recurring schedules, runtimes and slots, and find how many slots you need.
- Epicor BAQ Performance Tuning ChecklistWork through a practical list of checks when a BAQ, dashboard or BPM lookup runs slowly in Epicor Kinetic.
ERP fixes and how-tos
- Epicor Function: How to Call a BAQ from C# (Functions and BPM)How to call a BAQ from an Epicor Function or BPM using the DynamicQuery service in C#, pass parameters, read the results and avoid common errors.
- How to Create a BAQ in Epicor KineticCreate a BAQ in Epicor Kinetic Query Builder: pick tables, set joins, display fields, criteria, calculated fields, test, and use it in dashboards and reports.
- Shortage, Scrap, WIP, BOM, GL and Sales Reports in Epicor KineticWhere to find the Epicor Kinetic shortage, scrap, WIP, BOM, general ledger and sales reports, and how to build each one as a BAQ when the standard report falls short.
AI on your ERP
- AI for Epicor Kinetic Job Shops: Quote History, Job Variance and Schedule RiskPrivate AI for Epicor Kinetic job shops: quote-to-job history, JobHead and JobOper variance, subcontract delays and schedule risk, via REST and BAQs.
- Private AI for Epicor Kinetic Cloud, Outside the Multi-Tenant BoundaryRun a private LLM on Epicor Kinetic private cloud or Kinetic Cloud data via BAQs, REST v2 and Data Fabric, keeping sensitive manufacturing data off shared AI.
Integrations
- How to use Claude with Epicor KineticUse Claude with Epicor Kinetic through an MCP connector, the Anthropic API, AWS Bedrock or Google Vertex, plus the private on-prem alternative for sensitive data.
- How to build an MCP server for Epicor KineticDesign a Model Context Protocol server for Epicor Kinetic: which read tools to expose, BAQ and REST v2 mapping, auth, stdio vs HTTP transport and audit logging.
Software
- Epicor KineticEpicor Kinetic explained for manufacturers: modules, REST API, BAQs, deployment, strengths, limits and alternatives to compare before choosing or upgrading.
- Epicor CPQEpicor CPQ is a cloud configure-price-quote product with visual 3D configuration for manufacturers. Modules, ERP integrations and alternatives explained.