Skip to main content
Glama

GetFunctionModule

Read ABAP function modules, including BAPI and RFC-enabled ones, to retrieve source code and parameter signatures from active or inactive versions.

Instructions

Read an ABAP function module, BAPI or RFC-enabled ones included: its source code, which declares the parameter signature. Active or inactive version.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
versionNoVersion to read: "active" (default) for deployed version, "inactive" for modified but not activated version.active
function_group_nameYesFunctionGroup name containing the function module.
function_module_nameYesFunctionModule name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv16.0.0
    • changedInput schema / properties / function_group_name / description
      Previous value: -"FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP)."New value: +"FunctionGroup name containing the function module."
    • changedInput schema / properties / function_module_name / description
      Previous value: -"FunctionModule name (e.g., Z_MY_FUNCTIONMODULE)."New value: +"FunctionModule name."
  2. Changed2 schema fields changed
    • addedInput schema / properties / function_group_name
      Added value: +{
      +  "description": "FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "function_module_name"
      -]New value: +[
      +  "function_module_name",
      +  "function_group_name"
      +]
  3. First observed

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden, but it does disclose useful behavior: it is a read operation, returns source code with parameter signature, and can target active or inactive versions. It omits permissions, error behavior, and output format details, which are significant gaps without annotations.

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 short and front-loads the core purpose immediately. The final fragment about active/inactive versions is slightly abrupt but still concise and informative.

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 read-only source retrieval tool with no output schema, the description adequately explains what is returned: the source code and its parameter signature. It could mention output format or error cases, but given the low-complexity read operation, it is largely complete.

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 the schema already documents all three parameters. The description reinforces that the function module source declares the parameter signature and that active/inactive versions are selectable, but it adds no parameter semantics beyond the schema.

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

Purpose4/5

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

States a specific read operation and resource: ABAP function module, including BAPI and RFC-enabled ones, and specifies that the source code is returned. It is clear, but it does not explicitly distinguish this tool from sibling versioning tools such as GetFunctionModuleVersionSource or GetFunctionModuleVersions.

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

Usage Guidelines2/5

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

The description implies usage by saying it reads source code and offers active/inactive versions, but it gives no explicit when-to-use guidance, prerequisites, or alternatives. An agent must infer that this is the tool for current or inactive source rather than historical version retrieval.

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