abapdocs-code-scanner
Reads the abapDoc comments of a class or interface's public methods and type definitions and returns their text at runtime.
zcl_acs_abapdocs_code_scanner takes a type description, from cl_abap_typedescr=>describe_by_data for a type or cl_abap_objectdescr=>describe_by_name for a class or interface, scans the definition for abapDocs, and returns the text of public methods and type definitions through get_abapdocs_for_child and get_description. For a constant structure the call needs the absolute_name as well, because the structure definition points at a dynamic type name and the scanner has to be told which code object holds the abapDocs. The README names two uses: filling fields such as description, enum, minimum, minItems and deprecated in an OpenAPI specification, and building a dynamic search help whose description fields come from the abapDocs. Example code for both is in the unit test class ltcl_example of the global class.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1@tf-Franz-Seidlmaintainerlukas-klausnerContributes to this
In the atlas: contributes to 2@lukas-klausner1 contributor
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 31 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- does not say
- Distributed through
- does not say
Connections
Finding answers in written documentation, and writing what is missing
Download
README
quoted from tf-Franz-Seidl/abapdocs-code-scanner under MIT, readabapdocs-code-scanner
scans class and interface definitions for abapDocs and offers the abapDocs text of public methods and type definitions
possible use-case
abapDocs can be used to fill fields like description, enum, minimum, minItems, and deprecated in an OpenAPI specification (https://spec.openapis.org/).
example
example code can be found in the unit test class ltcl_example of the global class zcl_acs_abapdocs_code_scanner
read abapDocs of a type definition
data person type zif_acs_abapdocs_example=>t_person.
data(abapdocs_for_person) = zcl_acs_abapdocs_code_scanner=>create_by_typedescr( cl_abap_typedescr=>describe_by_data( person ) ).
abapdocs_for_name->get_description( ).
read abapDocs of a method
data(abapdocs_for_interface) = zcl_acs_abapdocs_code_scanner=>create_by_typedescr( cl_abap_objectdescr=>describe_by_name( 'ZIF_ACS_ABAPDOCS_EXAMPLE' ) ).
data(abapdocs_for_method_list) = abapdocs_for_interface->get_abapdocs_for_child( 'list' ).
abapdocs_for_method_list->get_description( ).
read abapDocs of a constant structure
One use case is to create dynamic search help with description fields filled by abapDocs
definition of the logical enumeration (pre 7.52)
interface zif_example_types
public .
constants:
"! pre ABAP 7.52 enumeration
begin of msg_type,
"! error message
error type string value `error`,
"! warning message
warning type string value `warning`,
"! info message
info type string value `info`,
end of msg_type.
endinterface.
build itab
note: Method create_by_typedescr needs additionally the absolute_name, because the structure definition (desc) points to a dynamic type name (\TYPE=%_T000...). The abapdocs-code-scanner needs to know the code object where it can find the structure and its abapDocs.
types: begin of ty_line,
value type string,
description type string,
end of ty_line.
" itab that can be used for function F4UT_PARAMETER_RESULTS_PUT
data source_tab type standard table of ty_line with empty key.
field-symbols <value> type string.
data(desc) = cast cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( zif_example_types=>msg_type ) ).
data(acs) = zcl_acs_abapdocs_code_scanner=>create_by_typedescr(
typedescr = desc
absolute_name = '\INTERFACE=ZIF_EXAMPLE_TYPES\TYPE=MSG_TYPE' ).
loop at desc->get_components( ) assigning field-symbol(<comp>).
assign component <comp>-name of structure zif_example_types=>msg_type to <value>.
append value #( value = <value> description = acs->get_abapdocs_for_child( <comp>-name )->get_description( ) )
to source_tab.
endloop.
Others providing
Compare all 15 on the Documentation page →- abap2UI5 Playgroundabap2UI5 PlaygroundABAP in the editor on the left and the abap2UI5 app it builds on the right, both inside one browser tab: the framework is transpiled to JavaScript at build time and the class in the editor is compiled when Run is pressed.community org, abapIn-browser ABAP editor beside the abap2UI5 app it buildsfrom ABAP
- @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, capMCP server for CAP development: model and docs searchfrom CAP
- mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, capMCP server searching seventeen SAP documentation repositoriesfrom CAP
- sap-api-hub-mcpsap-api-hub-mcpA read-only MCP server over the SAP Business Accelerator Hub catalogue: categories, search, metadata, resources, specs and packages, reached as the caller's own SAP user.independent, btpRead-only MCP server over the SAP Business Accelerator Hubfrom BTP/BAIP
- sap-note-search-mcpsap-note-search-mcpAn MCP server over SAP Notes and Knowledge Base articles: search finds a note, fetch returns it whole, and a scripted browser does the S-user login the content sits behind.independent, btpMCP server searching and fetching SAP Notes and KBAsfrom BTP/BAIP
- sap-roadmap-mcpsap-roadmap-mcpAn MCP server over SAP Road Map Explorer, so an agent can read what SAP has announced as planned rather than inferring it from a release that has shipped.independent, btpMCP server over SAP Road Map Explorerfrom BTP/BAIP
- ui5-lib-diffui5-lib-diffA hosted app that lists what changed between two SAPUI5 or OpenUI5 versions from the UI5 API's change records, and publishes the same data as static JSON files at fixed paths for tools and agents.independent, ui5Hosted app listing changes between SAPUI5 or OpenUI5 versionsfrom UI5
- abap-docabap-docA Node.js command that reads an ABAP package and its sub-packages over ADT and writes one PDF documenting every object in it, with an LLM writing the prose.independent, abapNode.js command writing PDF documentation for an ABAP packagefrom ABAP
- sap-ai-docs-mcpsap-ai-docs-mcpAn MCP server with semantic search, category filtering and whole-page retrieval over SAP AI Core's documentation, from the SAP-docs/sap-artificial-intelligence repository.independent, btpMCP server with semantic search over SAP AI Core documentationfrom BTP/BAIP
- sap-btp-docs-mcpsap-btp-docs-mcpAn MCP server for semantic search over the SAP BTP documentation repository, filtered by area such as development, administration, integration or security, with full document retrieval.independent, btpMCP server with semantic search over SAP BTP documentationfrom BTP/BAIP
- @sap-ux/fiori-docs-embeddings@sap-ux/fiori-docs-embeddingsFiori documentation indexed as embeddings, which is what makes it searchable by something other than a person scrolling it.sap official, capFiori documentation indexed as embeddingsfrom CAP
- Clean-Core.ioClean-Core.ioA free hosted workspace that reads one piece of custom ABAP, redraws its business process as BPMN with a line anchor on every element, grades the SAP objects it uses Level A–D and ends in a keep, rebuild, move-to-standard or retire decision.independent, abapHosted workspace redrawing custom ABAP as BPMN and grading itfrom ABAP
- @ui5/webcomponents-mcp-server@ui5/webcomponents-mcp-serverFour tools that answer an agent's questions about UI5 Web Components from the framework's own documentation — component API, integration guides, and the docs themselves.sap official, ui5MCP server answering questions on UI5 Web Componentsfrom UI5
- vscode-ui5-api-referencevscode-ui5-api-referenceVS Code extension that shows the SAPUI5 and OpenUI5 API reference in a side bar view, with inherited members, member filters and a favourites list, for one framework version at a time.independent, ui5VS Code side bar view of the SAPUI5 and OpenUI5 API referencefrom UI5
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:tf-franz-seidl-abapdocs-code-scanner- JSON
- /artifacts/tf-franz-seidl-abapdocs-code-scanner.json
- MCP
- Connecting an agent