ABAP Language Model Tools (AI Assistant Features)¶
Language Model Tools are the built-in capabilities that GitHub Copilot uses automatically when you ask it questions in chat. You don't call these tools yourself — Copilot selects and runs the right tool based on what you ask.
How to open Copilot Chat: Ctrl+Shift+I (new chat) or Ctrl+L (inline chat)
Make sure you are in Agent mode (not Ask or Edit) for full tool access.
How it works¶
When you type a question, Copilot picks the appropriate tool behind the scenes:
| What you ask | Tool Copilot uses |
|---|---|
| "Where is BAPI_USER_GET_DETAIL used?" | find_where_used |
| "Show me the code for ZCL_MY_CLASS" | get_abap_object_lines |
| "Find all classes with 'pricing' in the name" | search_abap_objects |
| "Create a new class ZCL_TEST" | create_object_programmatically |
| "Run ATC on ZTEST_PROG" | run_atc_analysis |
Available Tools¶
Search & Navigation¶
- search_abap_objects — Search for objects by name pattern using wildcards (e.g.
Z*PRICING*,BAPI_USER*) - get_abap_object_lines — Read source code from any ABAP object. Use
methodNameto extract a single method (e.g. "Show me the FACTORY method from CL_SALV_TABLE") - search_abap_object_lines — Search for text within source code; supports regex and can list all methods in a class
- get_abap_object_info — Get metadata about an object (type, line count, cache status)
- get_batch_lines — Read source code from multiple objects in one call
- get_object_by_uri — Access an object directly using its ADT URI path
- find_where_used — Find all places where an object, method, or symbol is referenced
- get_connected_systems — List the SAP system connection IDs currently active in VS Code
Object Management¶
- create_object_programmatically — Create new ABAP objects (classes, reports, function groups, etc.). Note: transport dialogs still appear during creation.
- get_abap_object_url — Generate a SAP GUI WebGUI URL for an object (useful for browser automation)
- get_abap_object_workspace_uri — Get the VS Code
adt://URI for an object (needed before editing it) - open_object — Open an object in the VS Code editor
- abap_activate — Activate ABAP objects after editing (similar to pressing the Activate button in SE80)
Code Quality & Testing¶
- run_unit_tests — Run ABAP unit tests and show results in the Testing panel
- create_test_include — Create a unit test class include for an existing class
- run_atc_analysis — Run ATC (ABAP Test Cockpit) code quality checks on an object
- get_atc_decorations — Read the current ATC warning/error highlights visible in the editor
Transport & Text¶
- manage_transport_requests — Get transport details, list user transports, compare transports. Falls back to direct SQL on older systems.
- manage_text_elements — Read, create, or update text elements in programs, classes, or function groups. READ works on all systems; CREATE/UPDATE requires a newer system.
Data & SQL¶
- execute_data_query — Run ABAP SQL queries and display results in an interactive table view
- get_abap_sql_syntax — Get ABAP SQL syntax rules (Copilot calls this before writing queries to avoid syntax errors)
Diagrams¶
- create_mermaid_diagram — Generate and display flowcharts, sequence diagrams, ER diagrams, and more
- validate_mermaid_syntax — Check Mermaid diagram code for syntax errors
- get_mermaid_documentation — Retrieve Mermaid syntax reference for a specific diagram type
- detect_mermaid_diagram_type — Auto-detect the type of a Mermaid diagram from its code
Runtime Analysis¶
- analyze_abap_dumps — List and analyze ST22 runtime errors
- analyze_abap_traces — Analyze performance traces; detects bottlenecks automatically
- get_version_history — View version history, retrieve source code at a past version, or compare two versions of an object
Debugging¶
- abap_debug_session — Start or stop an ABAP debugging session
- abap_debug_breakpoint — Set or remove breakpoints (supports conditions)
- abap_debug_step — Step over, step into, step return, or continue execution
- abap_debug_variable — Inspect variable values and internal table contents during a debug session
- abap_debug_stack — View the current call stack
- abap_debug_status — Check whether a debug session is active
System & Extension¶
- get_sap_system_info — Get SAP system details: client, release, system type (S/4HANA vs ECC), timezone. Results are cached for 24 hours. Use the Refresh SAP System Info Cache command to clear the cache.
- abap_fs_documentation — Search the ABAP FS extension documentation and settings reference
- adt_discovery_export — Export the full ADT discovery tree from a connected SAP system to markdown files for API investigation
- manage_subagents — Configure AI subagents that delegate tasks to cheaper/faster models to reduce API costs
- manage_heartbeat — Control the background heartbeat monitoring service (add monitoring tasks, set reminders, check status)
Documentation¶
- create_test_documentation — Generate a Word document from Playwright test screenshots, organized by scenario