{"ref":"artifact:murattahtaciii-abap-architect","page":"/artifacts/murattahtaciii-abap-architect","json":"/artifacts/murattahtaciii-abap-architect.json","generated":"2026-10-29","drafted_with_ai":true,"entity":{"id":"murattahtaciii-abap-architect","name":"ABAP Architect","artifact_type":"ide-extension","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Requirements","checked":"2026-10-01","quote":"SAP backend: **S/4HANA (on-premise) or NetWeaver 7.50+ (SAP_BASIS 750+)** with ADT enabled. DDIC creation is **not supported on SAP BTP ABAP Environment (ABAP Cloud)** because classic DDIC object creation via REST is not available there."}}],"domain":"developer-experience","secondary_domains":["protocols-and-apis","data-and-persistence"],"origin_ring":"independent","description":{"one_line":"An Eclipse plug-in that generates ABAP type definitions and parsing code from a pasted JSON or XML sample and creates the matching DDIC objects in a connected system over ADT.","short":"Eclipse plug-in turning JSON or XML into ABAP types and DDIC objects","what_it_solves":"Reading someone else's JSON or XML payload into ABAP starts with writing the types by hand from a sample of it. Paste the payload into the plug-in's view and it writes `TYPES: BEGIN OF ... END OF ...` structures and table types for the objects and arrays it finds, a `/ui2/cl_json=>name_mappings` table where the JSON names differ from the ABAP ones, `cl_ixml` parsing code and `tt:transform` source for XML, and serialise, deserialise and SM59 HTTP client templates. Create DDIC takes the same plan into the connected system over [ADT resources](artifact:sap-adt): structures, table types, a transparent table, data elements and domains, created in dependency order, saved and activated, with the package and transport asked on every run and the `Z`/`Y` naming rule checked before the button enables. It reads a sample rather than a schema, so what it writes is the shape of the data it was shown, and it stops at the generated code and the created objects: nothing in it calls the service the payload came from, or keeps the objects in step with it afterwards.","when_not_to_use":"On an [SAP BTP ABAP environment](artifact:btp-abap-environment) system only the generated code is left: DDIC creation is not supported on ABAP Cloud, because classic DDIC object creation over REST is not available there. Create DDIC is also disabled where ADT is not installed in the same Eclipse, and Insert into Editor then works with any editor implementing `ITextEditor` instead of the ABAP one."},"links":{"repo":"https://github.com/murattahtaciii/abap-architect","homepage":"https://murattahtaciii.github.io/abap-architect/"},"identity":{"license":"EPL-2.0"},"compat":{"runtimes":["java"]},"type_properties":{"installs_into":{"value":["eclipse"],"sources":[{"url":"https://github.com/murattahtaciii/abap-architect","title":"ABAP Architect — README","checked":"2026-10-18","quote":"Eclipse plug-in that generates ABAP type definitions from JSON/XML data and creates real DDIC objects (structure, table type, transparent table, data element, domain)"}]},"distribution":{"value":["eclipse-update-site"],"sources":[{"url":"https://github.com/murattahtaciii/abap-architect","title":"ABAP Architect — README","checked":"2026-10-18","quote":"`Help > Install New Software... > Add...`"}]}},"source_available":true,"provides":[{"capability":"capability:serialisation","what_it_does":"Writes the ABAP side of reading a JSON or XML payload from a pasted sample of it: `TYPES` structures and table types, a `/ui2/cl_json=>name_mappings` table for the names that differ, `cl_ixml` parsing code and `tt:transform` source for XML.","sources":[{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**ABAP Types**: generates `TS_*` structures and `TT_*` table types for JSON objects/arrays and XML element/attribute analysis (`TYPES: BEGIN OF ... END OF ...`)."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**Mapping**: generates `/ui2/cl_json=>name_mappings` for JSON/ABAP name differences (SNAKE_CASE conversion, suffix support)."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**iXML Code**: generates `cl_ixml`-based parsing code for XML (attributes, arrays, nested nodes)."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**Simple Transformation**: generates `tt:transform` source for XML."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**Templates**: `/ui2/cl_json` serialize/deserialize and HTTP client (SM59) code templates."}]}],"connects":[{"ref":"artifact:sap-adt","kind":"data","protocols":["http"],"direction":"outbound","style":"sync","for":"Sends the planned DDIC objects to the connected system to be created and activated, and reads back its packages and the user's modifiable transports to fill the dialog.","sources":[{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**Create DDIC**: creates the planned types as **real DDIC objects** in the connected SAP system and activates them: Structure (TABL/DS), Table Type (TTYP), Transparent Table (TABL/DT), Data Element (DTEL), Domain (DOMA)."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**List packages / transports**: lists packages (RIS search) and the user's modifiable transports from the connected system and fills the fields by selection."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Creating DDIC objects","checked":"2026-10-01","quote":"**List transports** loads the user's modifiable transports (official ADT `IAdtTransportService.findTransports` first, CTS REST as fallback)."}]}],"requires":[{"ref":"external:eclipse","for":"The IDE the plug-in is installed into from its p2 update site, named with the release and the Java version it is built against.","requirement":"required","role":"host-ide","sources":[{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Requirements","checked":"2026-10-01","quote":"Eclipse IDE 2026-03 (4.39) or similar; Java 21+."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Build","checked":"2026-10-01","quote":"Output: `releng/io.github.murattahtaciii.abaparchitect.site/target/repository/` (p2 update site)."}]},{"ref":"artifact:sap-adt-eclipse","for":"Create DDIC runs through ADT's own Eclipse services, reached by reflection rather than a compile-time dependency, and inserting into the ABAP editor goes through its `IAbapSourcePage` adapter.","requirement":"conditional","condition":"Create DDIC, and inserting generated code into the ADT ABAP editor","role":"adt-client","sources":[{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Requirements","checked":"2026-10-01","quote":"ADT (ABAP Development Tools) is optional; without it \"Insert into Editor\" works with editors implementing `ITextEditor`, but \"Create DDIC\" is disabled (the plug-in has no compile-time dependency on ADT; reflection is used)."},{"url":"https://raw.githubusercontent.com/murattahtaciii/abap-architect/master/README.md","title":"murattahtaciii/abap-architect — README, Features","checked":"2026-10-01","quote":"**Insert into Editor**: inserts the generated code at the cursor position in the active editor. ADT ABAP editor is supported (via the `IAbapSourcePage` adapter)."}]}],"maintainers":["actor:murattahtaciii"],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-10-01"},"drafted_with_ai":true,"contributors":["actor:murattahtaciii"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-09, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs/ with 1 page, README 14 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-29","npm":"not published under this name","stars":2,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-09-22","license_spdx":null,"org_owned":false,"default_branch":"master","created_at":"2026-09-22T09:14:23Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":13899,"docs_files":1,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-09-22","last_commit":"2026-09-22","commits":6,"contributors":1,"readme_path":"README.md","readme_sha":"2a3ae1d0aff964cfcb881da0d6b2dedb714c3fee","repo_read":"2026-10-29"},"release_notes":{"license":"EPL-2.0","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/murattahtaciii/abap-architect/releases"},"format":"github-releases","releases":[{"version":"1.0.0","date":"2026-09-22","date_source":"github","heading":"ABAP Architect v1.0.0","url":"https://github.com/murattahtaciii/abap-architect/releases/tag/v1.0.0","sections":[],"hash":"c30fc718e39f91d8"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:murattahtaciii","name":"Murat Tahtacı","json":"/actors/murattahtaciii.json"}],"contributors":[{"ref":"actor:murattahtaciii","name":"Murat Tahtacı","json":"/actors/murattahtaciii.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}