Skip to main content
Glama

CreateCDSView

Create or replace a local CDS DDL view in an SAP system, with automatic activation and support for local packages such as $TMP and $LOCAL.

Instructions

Create or replace a local CDS DDL view in the SAP system. Only supports local packages ($TMP, $LOCAL, $-prefixed). Auto-activates by default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packageNoPackage name (defaults to $TMP, must be a local package)
view_nameYesCDS view name (must start with Z or Y)
descriptionNoOptional description for the CDS view
source_codeYesComplete DDL source code for the CDS view
auto_activateNoOptional: Automatically activate the CDS view after creation (default: true)
preaudit_requestedNoOptional: Request pre-audit during activation (default: true, only used if auto_activate is true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose useful traits: it is a mutation tool that can replace an existing view, it is restricted to local packages, and it auto-activates by default. It stops short of stating authentication/prerequisite requirements (e.g. prior login) or the failure mode when the view already exists in a transportable package.

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?

Three short front-loaded sentences with no filler; the core purpose and constraints come first. The final sentence restates the schema's auto_activate default, which is slight redundancy but harmless.

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?

For a mutation tool with no annotations and no output schema, the description covers scope and activation behavior but omits prerequisites (session/login), whether activation results are returned, and what happens on syntax or package errors. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so defaults, the Z/Y naming rule, and the auto_activate/preaudit_requested relationship are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.

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 precise verb pair (create or replace) plus a specific resource (local CDS DDL view) and scope (local packages only). This clearly distinguishes it from siblings like CreateClass, CreateBehaviorDefinition, and CreateServiceDefinition, which target different artifacts.

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

Usage Guidelines3/5

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

"Only supports local packages ($TMP, $LOCAL, $-prefixed)" is a real precondition that tells the agent when the tool will work, but there is no guidance on alternatives (e.g. using GetCDSView to inspect an existing view first, or routing non-local packages elsewhere) and no explicit when-not statement.

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