Skip to main content
Glama

CreateMessageClass

Creates an ABAP message class (T100) shell with a description in a specified package so messages can be added afterward.

Instructions

Creates the ABAP message class (T100) named by message_class_name, with its description, in the package named by package_name: a shell whose messages are added afterwards. A message class is in effect once saved. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "message_class_name": "<message_class_name>",
      "package_name": "<package_name>"
    },
    "name": "CreateMessageClass"
  }
}

Input Schema

NameRequiredDescriptionDefault
detailNoHow much of the answer to return: "terse" (default, the fields you need to act), "full" (the whole parse), "raw" (the document as ADT sent it).terse
descriptionNo(optional) Short description. If not provided, message_class_name is used.
package_nameYesPackage name.
master_languageNo(optional) Master/original language (e.g. "EN", "DE"). Defaults to the session language (SAP_LANGUAGE) or EN.
transport_requestNo(optional) Transport request number, not a task. Required for transportable packages.
message_class_nameYesMessage class name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv16.0.0
    • addedInput schema / properties / detail
      Added value: +{
      +  "default": "terse",
      +  "description": "How much of the answer to return: \"terse\" (default, the fields you need to act), \"full\" (the whole parse), \"raw\" (the document as ADT sent it).",
      +  "enum": [
      +    "terse",
      +    "full",
      +    "raw"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / message_class_name / description
      Previous value: -"Message class name (e.g., ZMY_MSGS). Must follow SAP naming conventions."New value: +"Message class name."
    • changedInput schema / properties / package_name / description
      Previous value: -"Package name (e.g., ZMY_PKG, $TMP for local objects)."New value: +"Package name."
    • changedInput schema / properties / transport_request / description
      Previous value: -"(optional) Transport request number (e.g., E19K905635). Required for transportable packages."New value: +"(optional) Transport request number, not a task. Required for transportable packages."
  2. Addedv8.6.1

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does substantial work: it discloses that the class takes effect only once saved and that in batch mode the call is recorded rather than executed, returning empty content read back by number. Missing only permission/error behavior and transport handling, which the schema partially covers.

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?

Front-loads what is created and in what package, then adds the shell semantics and the batch caveat. Slightly dense jargon ('Recordable', 'read by number') but every sentence carries non-obvious information.

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 six-parameter mutation with no output schema, the description covers what is created, when it becomes effective, and how the batch variant returns data. The one gap is what the normal (non-batch) response contains, though 'terse/full/raw' in the schema partly compensates.

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 coverage is 100%, so all six parameters including the description fallback, master language default and transport request requirement are already documented in the schema. The description only restates which parameters name the object and package, adding nothing new about them.

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 (creates the ABAP message class, T100) and pins it to the two named inputs. The clause 'a shell whose messages are added afterwards' separates it cleanly from CreateMessageClassMessage, which an agent might otherwise confuse it with.

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?

Explains that the class is created empty and messages come afterwards, which implicitly routes the agent to CreateMessageClassMessage as the follow-up. It also flags the batch path (BatchBegin/BatchAnswers). No explicit 'do not use for X' exclusion, but the context is clear.

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