Most questions about a statement are answered by four things the product already shows. In the order they are worth reaching for:
## The Message Code
Every message carries a code such as `itgenqtl181` or `itgengpr015`. The code says which component raised it and is what this documentation and the [forums](https://forums.invantive.com) are indexed by; the translated text is not. Quote the code first.
## The Trace Panel
[[Invantive Query Tool/Trace|Trace]] shows the messages of the application as a table, with their level, their code and what they were working on. It has to be switched on before the statement runs. It answers "what did it actually do" where the failure message says only what went wrong at the end.
## The Progress Panel
[[Invantive Query Tool/Progress|Progress]] draws the statement while it runs: which step is busy, how many rows have passed and where the time is going. A statement which is slower than expected is diagnosed here rather than by guessing at the SQL.
## The Connection Monitor
[[Invantive Query Tool/Connection Monitor|Connection Monitor]] lists the calls to the platform: how many, how long each took, how much was sent and received, and which of them failed. A statement which makes hundreds of calls where ten were expected shows it here, and "Group by Request" says which request the hundreds belong to.
## Common Situations
- A table which is "unknown" although it is in the list: the name is qualified differently than the statement writes it. [[Invantive Query Tool/Describe Object|Describe Object]] states the catalog, the schema and the exact name.
- An empty answer where rows were expected: the partitions. A statement runs against what is ticked in the ribbon; see [[Invantive Query Tool/Partitions|Partitions]].
- A statement which fails only sometimes: the platform. The message code and the "Remote Correlation IDs" in the trace are what the platform's own support desk asks for.
- The product which comes up with statements of another day: the documents are reopened at the next start. `/nodocuments` starts without them; see [[Invantive Query Tool/Command Line Options|Command Line Options]].
- A statement which cannot be run at all: the licence. "Execute All" needs another licensed function than "Execute"; see [[Invantive Query Tool/Executing Statements|Executing Statements]] and [[Licensing]].
## Asking a Question
A question is answerable when it holds the message code, the statement, the driver and the release. "Copy as JSON" in the error window puts all of them in one document, with personal data masked, ready to paste into a question or into an AI; see [[Invantive Query Tool/Error as JSON|Error as JSON]]. The release is on "About" in the [[Invantive Query Tool/File Menu|File menu]], and "Diagnostics..." in the [[Invantive Query Tool/Help Menu|Help menu]] collects the rest in a form which can be copied. A statement which reproduces the question over the [[Invantive Query Tool/Sample Database|sample database]] is better still: everybody can run it.