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 6 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 builds
- 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 repositories
- 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 KBAs
- 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 package
- 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 it
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