Summary
GetTypeInfo targets the correct ADT endpoint for a data element, but the request is rejected with HTTP 406 (ExceptionResourceNotAcceptable). Combined with GetSource not supporting DTEL at all, there is currently no tool-based way to read a data element.
This looks like the same class of bug as the closed #9 ("Transport API returns 406 - Wrong Accept header for CTS endpoints"), just on a different endpoint family.
Environment
Reproduction
GetTypeInfo { "type_name": "SAEOBJECT" }
Result:
Failed to get type info: getting type info: ADT API error: status 406
at /sap/bc/adt/ddic/dataelements/SAEOBJECT:
<exc:exception xmlns:exc="http://www.sap.com/abapxml/types/communicationframework">
<namespace id="com.sap.adt"/>
<type id="ExceptionResourceNotAcceptable"/>
<message lang="EN">The message content is not acceptable</message>
<properties>
<entry key="T100KEY-ID">SADT_RESOURCE</entry>
<entry key="T100KEY-NO">037</entry>
</properties>
</exc:exception>
SAEOBJECT is a standard SAP data element and definitely exists.
Why this looks like a client-side bug
The URL /sap/bc/adt/ddic/dataelements/SAEOBJECT is correct and the object exists. SAP answers ExceptionResourceNotAcceptable (SADT_RESOURCE/037) — that is content negotiation failing, i.e. the Accept header sent does not match what the endpoint offers. This is exactly the failure mode diagnosed and fixed in #9 for the CTS endpoints.
GetFunctionGroup fails the same way on namespaced groups (filed separately).
Expected
Return the data element definition — data type, length, decimals, domain and description.
Verification that the data is reachable
The same information is available through RunQuery without any problem, which confirms it is an ADT-request issue rather than missing authorization or a missing object:
SELECT a~rollname, a~domname, a~datatype, a~leng, a~decimals, b~ddtext
FROM dd04l AS a INNER JOIN dd04t AS b
ON b~rollname = a~rollname AND b~ddlanguage = 'D'
WHERE a~rollname = 'SAEOBJECT'
→ CHAR, length 10, domain SADC10, "SAP ArchiveLink: Objekttyp".
Additional note
GetSource rejects DTEL outright:
GetSource failed: unsupported object type: DTEL
(supported: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, VIEW, BDEF, SRVD, SRVB, MSAG)
So neither tool can currently read a data element. Supporting DTEL in GetSource would be a reasonable alternative fix.
Summary
GetTypeInfotargets the correct ADT endpoint for a data element, but the request is rejected with HTTP 406 (ExceptionResourceNotAcceptable). Combined withGetSourcenot supportingDTELat all, there is currently no tool-based way to read a data element.This looks like the same class of bug as the closed #9 ("Transport API returns 406 - Wrong Accept header for CTS endpoints"), just on a different endpoint family.
Environment
a75fbfd9edf742507671dcc0334544c2c39a68d5, built 2026-04-07)--mode expert, with--enable-transports --allow-transportable-editshana: false)Reproduction
Result:
SAEOBJECTis a standard SAP data element and definitely exists.Why this looks like a client-side bug
The URL
/sap/bc/adt/ddic/dataelements/SAEOBJECTis correct and the object exists. SAP answersExceptionResourceNotAcceptable(SADT_RESOURCE/037) — that is content negotiation failing, i.e. theAcceptheader sent does not match what the endpoint offers. This is exactly the failure mode diagnosed and fixed in #9 for the CTS endpoints.GetFunctionGroupfails the same way on namespaced groups (filed separately).Expected
Return the data element definition — data type, length, decimals, domain and description.
Verification that the data is reachable
The same information is available through
RunQuerywithout any problem, which confirms it is an ADT-request issue rather than missing authorization or a missing object:→
CHAR, length 10, domainSADC10, "SAP ArchiveLink: Objekttyp".Additional note
GetSourcerejectsDTELoutright:So neither tool can currently read a data element. Supporting
DTELinGetSourcewould be a reasonable alternative fix.