{"ref":"capability:model-visualisation","page":"/capabilities/model-visualisation","json":"/capabilities/model-visualisation.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"model-visualisation","name":"Model visualisation","domain":"developer-experience","ecosystems":["cap","abap"],"universal":true,"description":"Turning a data or code model into a readable picture of its entities, classes, fields and relationships, so a reader can understand the shape of a domain without opening every source file.","short":"Turning a data or code model into a readable picture","core_coverage":{"state":"core-and-community","assessed_at":"2026-08-31","what_core_does":"cds compile --to mermaid emits a Mermaid class diagram from a model, available since [@sap/cds-dk](artifact:sap-cds-dk) 8.0.0.","where_it_stops":"It stops at one renderer and one shape: a class diagram in Mermaid text. Crow's-foot ER notation, PlantUML output and rendering to an image are not compile targets.","sources":[{"url":"https://cap.cloud.sap/docs/tools/cds-cli#mermaid","title":"cds CLI — cds compile --to mermaid","checked":"2026-08-31","quote":"This produces text for a Mermaid class diagram: cds compile db/schema.cds --to mermaid"}],"relationship":"unassessed","note":"Both are present. How they came to coexist is not established — the community script and the compile target overlap in time, and this atlas has no evidence about which influenced which."},"changed_in":[{"version":"@sap/cds-dk 8.0.2","date":"2024-07-12","applies_to":{"ecosystems":["cap"]},"what_changed":"`cds compile --to mermaid` became a built-in compile target, emitting a Mermaid class diagram from a model. The 8.x line reached npm on 2024-07-12.","invalidates":"Advice that a diagram needs an external script or a paid tool. It needs neither, for a class diagram.","source":{"url":"https://cap.cloud.sap/docs/tools/cds-cli#mermaid","title":"cds CLI — cds compile --to mermaid","checked":"2026-09-01","quote":"This produces text for a Mermaid class diagram: cds compile db/schema.cds --to mermaid"}}],"coverage_by_ecosystem":{"abap":{"state":"core-and-community","assessed_at":"2026-09-14","what_core_does":"The ABAP Workbench generates UML class diagrams from classes, interfaces, data types and function groups, treating function groups and programs as classes. It starts from a package's context menu in the Object Navigator.","where_it_stops":"At code objects in SAP GUI: database tables are not among what the page says the tool analyses.","sources":[{"url":"https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-us/ef/d94b7bebf811d295b100a0c94260a5/content.htm","title":"SAP Help — Object Navigator","checked":"2026-09-14","quote":"There is a tool for generating UML class diagrams integrated in the ABAP Workbench."}],"community_adds":"Community tools extract a model for an external renderer, as [SAP2Moose](artifact:sap2moose-sap2moose) does for Moose2Model, or draw it themselves through PlantUML or Graphviz, as [ZUML_DIAGRAM](artifact:coreline-zuml-diagram) and [abapGraph](artifact:marcellourbani-abapgraph) do. An Eclipse plugin, [abap-search-tools-ui](artifact:devepos-abap-search-tools-ui), reads CDS views as a tree of the entities they build on.","relationship":"unassessed"}},"framing_by_ecosystem":{"abap":{"description":"In ABAP the model is spread across classes, function groups and tables, so a diagram is extracted from the repository: [SAP2Moose](https://github.com/SAP2Moose/SAP2Moose) writes a model file for Moose2Model, and [ZUML_DIAGRAM](https://github.com/coreline/ZUML_DIAGRAM) draws class diagrams through PlantUML."},"cap":{"description":"Turning a CDS model, or the classes and tables of ABAP code, into a picture you can read (entities, their elements and the associations between them) so a newcomer can see the shape of a domain without reading every source file."}},"drafted_with_ai":true,"history":[{"date":"2026-09-14","field":"ecosystems","from":"cap","to":"cap, abap","reason":"SAP2Moose extracts classes, methods, packages, Web Dynpro components and database tables into a model for Moose2Model, and ZUML_DIAGRAM draws UML class diagrams of ABAP programs with PlantUML."},{"date":"2026-09-14","field":"description","from":"Turning a CDS model into a picture you can read — entities, their elements and the associations between them — so a newcomer can see the shape of a domain without reading every .cds file.","to":"Turning a CDS model, or the classes and tables of ABAP code, into a picture you can read — entities, their elements and the associations between them — so a newcomer can see the shape of a domain without reading every source file.","reason":"The description named only a CDS model and .cds files, which is false on the ABAP door added the same day. The ABAP half and 'source file' are the only change."},{"date":"2026-10-17","field":"description","from":"Turning a CDS model, or the classes and tables of ABAP code, into a picture you can read (entities, their elements and the associations between them) so a newcomer can see the shape of a domain without reading every source file.","to":"Turning a data or code model into a readable picture of its entities, classes, fields and relationships, so a reader can understand the shape of a domain without opening every source file.","reason":"Keep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit."},{"date":"2026-10-26","field":"coverage_by_ecosystem.abap.community_adds","from":"(absent)","to":"Community tools extract a model for an external renderer (SAP2Moose), draw it through PlantUML or Graphviz (ZUML_DIAGRAM, abapGraph), or read CDS views as a tree (abap-search-tools-ui).","reason":"Reassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed."}]},"sap_delivery":{"door":"cap","all":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-cds-dk","name":"@sap/cds-dk","json":"/artifacts/sap-cds-dk.json"}]},"by_flavor":{"node":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-cds-dk","name":"@sap/cds-dk","json":"/artifacts/sap-cds-dk.json"}]},"java":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:sap-cds-dk","name":"@sap/cds-dk","json":"/artifacts/sap-cds-dk.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:devepos-abap-search-tools-ui","name":"ABAP Search and Analysis Tools","json":"/artifacts/devepos-abap-search-tools-ui.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:marcellourbani-abapgraph","name":"abapgraph","json":"/artifacts/marcellourbani-abapgraph.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:rabestro-sap-cds-erd","name":"sap-cds-erd","json":"/artifacts/rabestro-sap-cds-erd.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:sap2moose-sap2moose","name":"SAP2Moose","json":"/artifacts/sap2moose-sap2moose.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:coreline-zuml-diagram","name":"ZUML_DIAGRAM","json":"/artifacts/coreline-zuml-diagram.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[],"explained_by":[{"ref":"content:diagrams-related-to-odata-entities-cap-ecc","name":"Diagrams related to OData entities (CAP & ECC)","json":"/content/diagrams-related-to-odata-entities-cap-ecc.json"}],"normative_context":[]}}