Known solutions
Many failed messages fail for a reason someone has fixed before. With known solutions, the SAP Operation Monitoring Assistant first checks whether a proven fix exists for the error, before it analyses the message from scratch. A fix that already worked for the same error is answered at once; fixes of similar errors are offered with the analysis. What gets stored is your final decision: the steps that actually fixed the message.
Off until an administrator turns it on
Known solutions need the SAP operations platform 0.7.0 or later, the assistant 0.11.0 or later and the Joule capability 2.3.0, then the endpoint solutions and the setting Known solutions in the Agents app. See Set it up.
How it works
- You ask for a resolution, for example "Resolve message 005056BF1EE259D16707A4B848200E6D".
- The assistant reads the message in AIF: the error log, the payload and the interface's configuration.
- It searches the known solutions with the message's keys: the message class and number of the error (such as
VG/203), the interface (ZSD/ORDERS v1), the IDoc and message type (ORDERS05,ORDERS), the SAP system, the message ID, and the error text. - It answers by how well a solution matches:
| Match | When | What you get |
|---|---|---|
| Same error | A proven solution with the same message class and number, the same interface and the same error pattern, that has worked and has not missed more often than it worked | The known solution at once, without a new analysis |
| Similar | Any other solution the search finds | The full analysis, with up to three similar known solutions (may fit), each with the reason it may fit |
| None | No solution found | The full analysis, as before |
The error pattern is the error text without its numbers, IDs and quoted values, so "item 000010" and "item 000020" are the same error. Only the keys decide whether a solution is the same error; the text search only finds candidates.
The same error, answered at once
When a proven solution matches, the assistant answers with it in seconds and does not analyse the message again. A shortened, illustrative answer:
## Known solution for message 005056BF1EE259D16707A4B848200E6D
This error was solved before: these steps worked 4 of 4 times, so I did not analyse the message again.
- Message: 005056BF1EE259D16707A4B848200E6D
- Error: The material number for item 000010 could not be identified (VG/203)
- Interface: ZSD/ORDERS v1
- Track record: worked 4 of 4 times
- Proven by: the restart of job 6f1c2a9e-3b7d-4e0a-9c51-2d8f4a7b1e03 by Jan Kowalski on 2026-10-14 10:06
- Last used: 2026-10-20 08:15
### Root cause
- The customer material info record is missing.
### Steps
1. Create the customer-material info record in VD51 for the customer's part number.
2. Restart the message in /AIF/ERR.
When they fixed the message, say "this fixed it".
Next:
- Reply "restart" to restart this message (I ask for your approval first)
- Analyse the message anyway, e.g. "analyse message 005056BF1EE259D16707A4B848200E6D anyway"
- Tell me when it does not fit, e.g. "does not fit message 005056BF1EE259D16707A4B848200E6D"In Joule it is the Known solution card: the root cause in short as its title, the track record as its status ("Worked 4 of 4 times"), and the root cause, the steps, how it was proven, when it was last used, why it matches and your observation, if you gave one. Its buttons:
| Button | What it does |
|---|---|
| Restart | Restarts the message, after your approval as always. Shown only when restarts are on. |
| Analyse anyway | Runs the full analysis; the known solution becomes one of its hints. |
| Doesn't fit | Counts a miss for the known solution and runs the analysis without it. |
Similar errors, offered with the analysis
When the search finds solutions of similar errors, the analysis runs as usual. The language model compares up to ten of them with the current error, keeps up to three that may fit, and gives a reason for each. They are hints for the analysis, never facts. The proposal shows them as Similar known solutions (may fit), right after the resolution steps: what each one solved, why it may fit and how often it worked. "Show known solution 2" opens one as its own answer.
If the comparison fails or takes longer than 10 seconds, the three with the highest search score are shown as they are, marked Not ranked.
Your observation
Add what you already suspect to the request:
- "Resolve message 005056BF1EE259D16707A4B848200E6D - I think the material master is missing"
The assistant keeps your words, and only your words, as Your observation. The analysis treats it as a lead to check against the evidence, never as a fact, and the answer shows it with what the evidence says about it.
Your final decision
A solution is stored only once it is proven: the restart of the message succeeded, or you said it fixed the message. The assistant then asks "Did these steps fix it?"
| Your answer | What happens |
|---|---|
| Fixed with these steps | The steps are saved as proposed. |
| I changed the steps | The assistant asks "What did you do?". Type what you did, one step per line or separated by semicolons; your version is saved. |
| Not fixed by these | Nothing is saved. |
A save is confirmed in one line, such as "Saved as a known solution for VG/203 on ZSD/ORDERS v1." If saving fails, the assistant says so and offers to try again; it never says "saved" without the platform's confirmation. A solution for the same error on the same interface and system is updated, not duplicated.
The question comes:
- after a restart that succeeded, of a message the assistant resolved or answered with a known solution in the conversation, also when the result of the restart arrives later in the chat;
- when you say "this fixed it" or "that solved it", or choose the quick reply This fixed it.
Answer it right away, within 15 minutes. A new request closes the question, and nothing is saved.
Track record and trust
- A reused known solution counts as worked after a successful restart of the message, and on "Fixed with these steps".
- It counts as missed on "Doesn't fit" and on "Not fixed by these".
- A message counts once per solution, so a restart and your answer never count it twice.
- A solution that missed more often than it worked is no longer answered as the same error; it is only offered as similar.
- Nothing is deleted automatically. Administrators edit and retire solutions in the Known Solutions app.
What is stored
| Part | What it holds |
|---|---|
| Keys | The SAP system (S4H/100), the message class and number (VG/203), the interface (ZSD/ORDERS v1), the IDoc and message type (ORDERS05, ORDERS) |
| The error | Its text and its pattern |
| The solution | The root cause, the verdict, the steps as you confirmed them (1 to 10), notes, and your decision: as proposed or changed |
| Proof | How it was proven (the restart of a job, or your confirmation), who decided and when |
| Track record | How often it worked and missed, and when it was last used |
| Messages | The IDs of the messages it fixed |
Nothing else: no payload values and no business data of the message.
Find known solutions
Ask for them directly:
- "Known solutions for VG/203"
- "Known solutions for ZSD/ORDERS"
- "Known solutions for message 005056BF1EE259D16707A4B848200E6D"
- "Known solutions for ORDERS05"
- "Known solutions for this error"
- "Show known solution 2"
The answer is a list, one row per solution, each with a Show button in Joule.
When they cannot be checked
| Situation | What the assistant does |
|---|---|
| The known solutions are not reachable, or do not answer within 10 seconds | Runs the analysis as usual, with the limitation "Known solutions could not be checked". Never an error instead of an answer. |
| The setting Known solutions is off | Does not search, ask or save. A request for known solutions says they are switched off. |
The endpoint solutions is not assigned | A resolution has no known solutions; a request for them says they are not connected. |
Architecture
The known solutions are part of the SAP operations platform, shared by every agent that uses them.
Assistant ──MCP──▶ SAP operations MCP server ──OData──▶ Landscape service (lsx-srv)
destination endpoint /mcp/solutions SolutionService
SAP_OPS_MCP_ solution_search PostgreSQL
SOLUTIONS solution_save ▲
solution_feedback │
Known Solutions app (administrators)| Part | What it does |
|---|---|
SolutionService of the landscape service (lsx-srv, on the platform's PostgreSQL) | Stores the solutions, searches them, saves decisions and counts outcomes. The search looks up the keys first, then ranks the text with PostgreSQL full-text search: no vector extension, no embeddings. |
The endpoint /mcp/solutions of the SAP operations MCP server | Offers the three tools below, and calls the service with its own client credentials, on behalf of the user who decided. |
| The assistant | Reaches the endpoint through the SAP BTP destination SAP_OPS_MCP_SOLUTIONS and the path /mcp/solutions, with a token of its own XSUAA. |
| The Known Solutions app | For administrators: find, edit, retire and reactivate solutions. |
| Tool | What it does | Scope |
|---|---|---|
solution_search | The candidates for an error, each with its match level (same or similar), score and reasons | SolutionRead |
solution_save | Stores your final decision: a new solution, or the equal one updated | SolutionRead and SolutionWrite |
solution_feedback | Counts the outcome of a reused solution: worked or missed | SolutionRead and SolutionWrite |
With the setting Known solutions off, the assistant does not even allow itself solution_save and solution_feedback.
| Scope | Who holds it |
|---|---|
SolutionRead, SolutionWrite | The MCP server's client on the landscape service, and the assistant on the MCP server. The platform deploy grants them; no secret is configured. |
SolutionAdmin | The administrators of the Known Solutions app, through the role collection SAP Ops Known Solutions Admin. |
Every change of a solution, by a save, a feedback or the app, is written to the SAP Audit Log service; the texts of a solution are never logged.
Set it up
Versions
| Component | Version | What it brings |
|---|---|---|
| SAP operations platform | 0.7.0 | The SolutionService, the endpoint /mcp/solutions with its three tools, the scopes SolutionRead, SolutionWrite and SolutionAdmin, and the setting Known solutions |
| SAP operations platform | 0.7.1 | The Known Solutions app |
| The assistant | 0.11.0 or later (current: 0.11.2) | The search before the analysis, your observation, the final decision, the answers and the cards |
| Joule capability | 2.3.0 | Routes "known solutions for ...", "this fixed it", "analyse anyway", "does not fit" and the answers to the question to the assistant |
Steps
Deploy in this order: platform, assistant, Joule, then the settings.
- Deploy the platform 0.7.0 or later; 0.7.1 also brings the Known Solutions app.
- Deploy the assistant 0.11.0 or later, after the platform: it asks for the new scopes, which the platform must have created first.
- Deploy the Joule capability 2.3.0.
- In the Agents app, open the assistant:
- under Tools, choose Add and add the endpoint
solutions; - under Settings, set Known solutions to
truewith Change Value.
- under Tools, choose Add and add the endpoint
- Restart the assistant, so it connects the new endpoint and reads the setting.
- Set up the Known Solutions app for the administrators, as below.
The Known Solutions app
An SAP Fiori app in SAP Build Work Zone, next to the Agents and Connectors apps, for the administrators of the known solutions. Its tile is Known Solutions, Proven fixes of AIF errors.
The list
- Columns: Code (
VG/203), Interface (ZSD/ORDERS v1), IDoc / Message Type, Root Cause, Worked / Missed, Status (Proven or Retired), Decided By and Last Used. The newest decision comes first. - Filters: Message Class, Message Number, Interface Namespace, Interface Name, IDoc Type, Message Type, System and Status.
- Search: the error text, the root cause, the notes, the interface name and the message class. A message GUID on its own finds the solutions that fixed that message.
A solution's page
The header shows the code as the title and the interface below it, then the status, worked and missed, and the root cause. Below:
- Error: the error text and its pattern, the system, the IDoc type and the message type.
- Solution: the root cause, the verdict and the numbered steps.
- Decision: the decision, the notes, how it was proven and the proof, who decided and when; for a retired solution also Retired: why, by whom and when.
- Messages: the GUIDs of the messages it fixed, and when each was added.
Change a solution
| Action | What it does |
|---|---|
| Edit | Changes the root cause, the steps (one per line, 1 to 10 steps of up to 500 characters) and the notes. Who decided and the proof stay. |
| Retire | Asks for the reason. The assistant never finds the solution again, and a new save of the same error becomes a new solution. Nothing is deleted. |
| Reactivate | Makes a retired solution proven again, as it was. |
Of Retire and Reactivate, the one that would change nothing is greyed out. The app creates and deletes nothing. Every change is written to the SAP Audit Log service.
Give administrators access
- Role collection. In the SAP BTP cockpit, under Security > Role Collections, assign SAP Ops Known Solutions Admin to the administrators. It holds
SolutionAdmin, the only role the app needs; a user without it is refused. - SAP Build Work Zone, once after the deploy that brings the app:
- In the Site Manager, Channel Manager: refresh the content provider HTML5 Apps.
- In the Content Manager, Content Explorer > HTML5 Apps: add Known Solutions (
KnownSolution-manage) to My Content. - Put it into a group and a role, best ones of its own for the administrators of the known solutions, and assign the role to the site and to the users.
Work Zone decides which tiles a user sees; the role collection decides what the service answers. Every role collection of the platform is listed in Roles & access.
Related
- How error resolution works: where the search runs in the resolution.
- Agents app: assigning the endpoint
solutions. - Settings: the setting Known solutions.
- Skills & example prompts: the prompts to try.
