Skip to main content
Glama
dnic-dev

bw-modeling-mcp

by dnic-dev

bw_create_variable

Create reusable BW variables on characteristics to serve as query filter parameters, supporting user entry, customer exit, authorization, replacement path, hierarchy, and hierarchy nodes.

Instructions

Create a reusable BW Variable on a characteristic, for use as a filter parameter in queries. The variable is created active and consistent. Covers processing types UserEntry (manual entry, the default), CustomerExit, Authorization and the current-member flavour of ReplacementPath, and stands for a characteristic value, a hierarchy or hierarchy nodes. Text and formula variables are not supported. To keep a variable out of the user's variable screen, set ready_for_input false.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packageNoAlias for development_class (for consistency with other tools).
reusableNoWhether the variable can be reused in multiple queries. Defaults to true.
iobj_nameYesTechnical name of the InfoObject (characteristic) this variable is based on (e.g. "0CALMONTH"). Must exist in the system.
transportNoTransport request number (e.g. "DEVK900123"). Only needed when the target package is transportable.
input_typeNoWhether a value is required: Optional (default), MandatoryWithInitial (entry required, initial value allowed) or MandatoryWithoutInitial (entry required, initial value rejected).
representsNoSelection type. Interval is a from/to range, SelectionOption allows the full set of comparison operators. Defaults to Interval.
descriptionYesVariable description (displayed in query parameter screens).
variable_nameYesTechnical name of the variable to create (e.g. "VAR_NAME").
variable_typeNoWhat the variable stands for: a characteristic value (default), a whole hierarchy, or hierarchy nodes. Hierarchy variables still reference a characteristic via iobj_name.
master_languageNoLanguage code for the descriptions (e.g. "EN", "DE"). Defaults to the BW_LANGUAGE of the connection, otherwise "EN".
processing_typeNoHow the variable is filled: UserEntry (manual entry by the user, the default), CustomerExit (filled by the exit), Authorization, or ReplacementPath. Replacement path is limited to the current-member variant, which needs no donor object; replacement from a query result is not supported.
ready_for_inputNoWhether the variable is shown on the variable screen for user input. Defaults to true. Set false for a variable that only the customer exit fills.
development_classNoPackage name (e.g. "ZPKG"). Defaults to $TMP if omitted.
Behavior4/5

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

With no annotations, the description carries the disclosure burden. It states observable behaviors: 'The variable is created active and consistent', and explains that setting ready_for_input false keeps a variable out of the variable screen. It also states scope limits on replacement path and unsupported variable types. Missing detail such as overwrite behavior or permissions is a minor gap.

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

Conciseness5/5

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

Four dense sentences with no filler. The core purpose and resource are front-loaded, then the caveats and exclusions are listed efficiently. Every sentence carries information necessary for invocation.

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 13-parameter tool with no output schema and no annotations, the descption provides enough context to understand supported types, representation, and key value (ready_for_input). The schema already covers all parameters, so the description does not need to restate them. It only omits details like whether an existing variable is overwritten, but that is a reasonable and not total gap.

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 complete at 100%, so the baseline is 3.0. The description adds value beyond the schema by clarifying the enum semantics, such as what 'UserEntry' means, the current-member-only restriction on ReplacementPath, and what 'ready_for_input' controls. This helps the agent choose valid parameter combinations.

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: 'Create a reusable BW Variable on a characteristic' and connects it to a concrete purpose ('use as a filter parameter in queries'). This distinguishes it from sibling create tools like bw_create_infoobject or bw_create_adso without needing to inspect the schema.

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

Usage Guidelines4/5

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

The description lists exactly which processing types are covered and explicitly excludes unsupported types: 'Text and formula variables are not supported' and 'replacement path is limited to the current-member variant'. While it does not name an alternative tool, there is enough context to decide whether this tool applies, and clear when-not-to-use signals are present.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dnic-dev/bw-modeling-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server