Skip to main content
Glama
dnic-dev

bw-modeling-mcp

by dnic-dev

bw_create_decision_variant

Create and activate a decision variant with a condition formula and two branches (THEN/ELSE) for branching a Process Chain step.

Instructions

Create a DECISION process variant (a standalone TLOGO object) for use as a branch/decision step in a Process Chain, via the BW/4HANA Cockpit REST API. The variant holds two branches indexed by position: THEN/first (EVENTNO "01" by default, label "JA") and ELSE/second (EVENTNO "02", label "NEIN"). The formula is the branch condition (e.g. "GET_SEGMENT( ) = ' 3'"); it is evaluated for the THEN branch, the ELSE branch is its complement. The variant is created AND activated (activation is mandatory — an inactive variant is not selectable in the chain variant picker). After creation, reference the variant from a DECISION step in bw_create_process_chain / bw_update_process_chain (variant=), and branch its out-edges with sub_status "01"/"02". Package/transport: $TMP is fine for visibility and picker selection; pass a transportable package (NOT $TMP) only if you need to transport the variant. For a transportable package a transport_request is used (auto-selected when exactly one changeable request is available; pass it to disambiguate).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDecision variant technical name, uppercase (e.g. "VARIANT_NAME"). This is the name a chain DECISION step references.
formulaYesBranch condition formula (BW decision formula syntax), e.g. "GET_SEGMENT( ) = ' 3'".
packageNoTarget package. Defaults to $TMP, which is fine for visibility/picker selection. Pass a transportable package only if the variant must be transportable.
else_labelNoLabel of the ELSE/second branch. Default "NEIN".
then_labelNoLabel of the THEN/first branch. Default "JA".
descriptionYesVariant description / label.
else_event_noNoEVENTNO of the ELSE branch. Default "02".
then_event_noNoEVENTNO of the THEN branch (referenced by chain branch edges via sub_status). Default "01".
transport_requestNoTransport request to record the new variant into. Used only for a transportable package (auto-selected when exactly one changeable request is available; pass to disambiguate).
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the variant is created and activated (mandatory), explains the branch structure (THEN/ELSE with default labels and event numbers), and describes transport behavior. It does not mention potential side effects (e.g., overwriting) or error conditions, but the key behaviors are covered.

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 description is relatively long but well-structured with a clear first sentence stating purpose, followed by details on branches, activation, and transport. Every sentence adds value, though a slight trim could improve conciseness without losing essential information.

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

Completeness3/5

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

Given 9 parameters (3 required) and no output schema, the description is fairly complete but lacks information about the return value or possible errors. It also does not mention prerequisites or authentication requirements. This leaves gaps for an agent to fully understand the tool's behavior.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds significant context beyond the schema. It explains the purpose of each parameter: name is referenced by chains, formula is the branch condition, and defaults for optional parameters. It integrates parameter meaning with the tool's workflow (e.g., event numbers map to sub_status edges).

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?

The description clearly states the tool creates a DECISION process variant as a standalone TLOGO object for use in a Process Chain. It specifies the action (create), the resource (decision variant), and the purpose (branch/decision step). It distinguishes from siblings by explaining how to use the variant afterward with specific chain creation tools.

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 provides clear context on when to use this tool (to create a decision variant) and offers guidance on package/transport choices, including default $TMP vs. transportable packages. It references related tools (bw_create_process_chain, bw_update_process_chain) for subsequent steps. However, it does not explicitly state when NOT to use it, leaving some ambiguity.

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