PackagePackagetypeA library you install and call yourself.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

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

Last pushLicenceMIT

Where it sits

Lives in
Provides
DocumentationABAPDocumentationcapabilityFinding the answer in what has already been written, and writing it where it has not — first-party documentation made searchable by something other than a person scrolling it, including by an agent, and a document of custom code produced from the code itself.

Who is behind it

tf-Franz-Seidltf-Franz-SeidlPersonMaintains this
In the atlas: maintains 1
@tf-Franz-Seidl
maintainerlukas-klausnerPersonContributes to this
In the atlas: contributes to 2
@lukas-klausner
1 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

Connections1

README

quoted from tf-Franz-Seidl/abapdocs-code-scanner under MIT, read
tf-Franz-Seidl/abapdocs-code-scanner/README.mdOn GitHub

abapdocs-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.
MIT, read
Documentation
  1. abap2UI5 PlaygroundIn-browser ABAP editor beside the abap2UI5 app it buildsfrom ABAP
  2. @cap-js/mcp-serverMCP server for CAP development: model and docs searchfrom CAP
  3. mcp-sap-docsMCP server searching seventeen SAP documentation repositoriesfrom CAP
  4. sap-api-hub-mcpRead-only MCP server over the SAP Business Accelerator Hubfrom BTP/BAIP
  5. sap-note-search-mcpMCP server searching and fetching SAP Notes and KBAsfrom BTP/BAIP
  6. sap-roadmap-mcpMCP server over SAP Road Map Explorerfrom BTP/BAIP
  7. ui5-lib-diffHosted app listing changes between SAPUI5 or OpenUI5 versionsfrom UI5
  8. abap-docNode.js command writing PDF documentation for an ABAP packagefrom ABAP
  9. sap-ai-docs-mcpMCP server with semantic search over SAP AI Core documentationfrom BTP/BAIP
  10. sap-btp-docs-mcpMCP server with semantic search over SAP BTP documentationfrom BTP/BAIP
  11. @sap-ux/fiori-docs-embeddingsFiori documentation indexed as embeddingsfrom CAP
  12. Clean-Core.ioHosted workspace redrawing custom ABAP as BPMN and grading itfrom ABAP
  13. @ui5/webcomponents-mcp-serverMCP server answering questions on UI5 Web Componentsfrom UI5
  14. vscode-ui5-api-referenceVS Code side bar view of the SAPUI5 and OpenUI5 API referencefrom UI5

Details

Sources3
Added by handdiscovered herechecked
github.com/tf-Franz-Seidl/abapdocs-code-scannertree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, learning-and-reference
abaplint
issues under its own abaplint configuration670
lines1,841
statements995
objects6
files14
analysed, main
abaplint version2.120.84
Contributors1

From the repository’s contributor list, .

History in the atlas1
  1. 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