Skip to main content
Glama
dnic-dev

bw-modeling-mcp

by dnic-dev

bw_save_afo_workbook

Saves an Analysis for Office workbook back to SAP BW under a new name and optionally adds it to a role menu, with overwrite protection for existing workbooks.

Instructions

Save an Analysis for Office workbook to BW, as Analysis for Office does, and optionally place it in a role menu. Typical use: fetch a workbook with bw_get_afo_workbook, change it, save it back under a new name. If a workbook of that name exists, nothing is saved unless overwrite is true — confirm with the user before passing it. The where-used list is built from the workbook itself (queries, planning functions and sequences, BPC model); a data source of another kind stops the save. With role (and folder) the workbook is added to that role menu, once. BW checks the caller's authorization and locks. Needs the SOAP RFC service (/sap/bc/soap/rfc).

Input Schema

NameRequiredDescriptionDefault
nameYesTechnical name to save under (e.g. "WORKBOOK_NAME").
roleNoRole whose menu the workbook is added to (e.g. "ROLE_NAME").
folderNoFolder path inside the role menu, separated by "/" (e.g. "Planning/Prices"); default the top level.
file_pathNoLocal .xlsx/.xlsm file to save. Local server only.
overwriteNoReplace an existing workbook of the same name (default false). Only after the user confirmed it.
descriptionNoWorkbook text, at most 60 characters. Required for a new workbook; an existing one keeps its text when omitted.
content_base64NoThe workbook as base64, instead of file_path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.9.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden, and it does: silent no-op on name collision, user-confirmation requirement for overwrite, one-time role menu insertion, where-used derivation from queries/planning functions/sequences/BPC models, server-side authorization and lock checks, and the SOAP RFC service dependency. These are exactly the preconditions and side effects an agent cannot infer from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and the fetch-modify-save pattern are front-loaded, followed by guards and prerequisites in a sensible order. It is dense and every sentence carries operational information, though the paragraph is long enough that a bulleted guard/effect split would scan faster.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation with no annotations and no output schema, the description covers prerequisites, side effects, collision behavior, and authorization. The only meaningful gap is what the call returns on success (e.g., confirmation of save and role assignment), which an agent may want for verification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics beyond the schema: overwrite acts as a no-op guard rather than a mere flag, role plus folder triggers a menu insertion that happens only once, and the workbook's own where-used list constrains what content can be saved. It does not explain the file_path vs content_base64 precedence explicitly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Save an Analysis for Office workbook to BW") plus the secondary effect (optionally placing it in a role menu). This clearly separates it from bw_get_afo_workbook and bw_list_afo_workbooks without requiring the sibling schemas to be opened.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the companion tool and workflow ("fetch a workbook with bw_get_afo_workbook, change it, save it back under a new name") and gives a concrete decision rule: nothing is saved if the name exists unless overwrite is true, and the user must confirm first. It also states a when-not condition — a non-workbook data source stops the save.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools