{"ref":"capability:abap-code-review","page":"/capabilities/abap-code-review","json":"/capabilities/abap-code-review.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap-code-review","name":"Code review","domain":"developer-experience","ecosystems":["abap"],"universal":false,"description":"Reading a change before it moves on: which files or objects a change contains, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision.","short":"Reading what a change contains and deciding on each part","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-13","what_core_does":"ADT compares source code over time and across ABAP systems: local changes, transported versions from the revision history, and non-code repository objects, in a compare editor that can merge.","sources":[{"url":"https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/4e/c3903f6e391014adc9fffe4e204223/content.htm","title":"ABAP Development Tools — Comparing Source Code","checked":"2026-09-13","quote":"You can see how code has changed over time. You can also compare code versions across ABAP projects (ABAP systems)."},{"url":"https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/69/129bee3372457cbc6a78e5494f9d2a/content.htm","title":"ABAP Development Tools — Comparing Transported Code Versions","checked":"2026-09-13","quote":"you can compare changes from one transport of source code to another"}],"relationship":"unassessed","note":"SAP's pages describe comparing and merging versions and no record of a review; how the community tools relate to the compare editor has not been assessed.","community_adds":"Community tools add what the compare editor has no place for: a saved review of a transport request with a decision on each block, such as [AVE](artifact:ysichov-ave) and [abapOpenReview](artifact:larshp-abapopenreview), which can also require an approved review before release; and a view of an object at a past version with per-line authorship, such as [abapTimeMachine](artifact:abapinho-abaptimemachine)."},"coverage_by_flavor":{"abap-cloud":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"ABAP Cloud develops in ADT, the same tool the core's compare and revision-history editor runs in. A change reaches another system there through gCTS, SAP's git-based evolution of the classical transport system and its recommended way to move objects between ABAP systems in a global account.","where_it_stops":"What there is to compare is narrower than in Standard ABAP: development is limited to released APIs, and SAP's Custom Code Migration App flags an unreleased API as a non-compliant element to adapt before moving to ABAP Cloud.","sources":[{"url":"https://github.com/SAP-docs/btp-developer-guide/blob/main/docs/developing-with-abap-cloud-in-the-sap-btp-abap-environment-9aaaf65.md","title":"Developing with ABAP Cloud in the SAP BTP ABAP Environment","checked":"2026-09-14","quote":"ABAP Development Tools for Eclipse as the development environment"},{"url":"https://github.com/SAP-docs/btp-cloud-platform/blob/main/docs/30-development/transport-mechanisms-aa7f169.md","title":"Transport Mechanisms","checked":"2026-09-14","quote":"Git-based CTS (gCTS) is the evolution of the classical Change and Transport Management System (CTS). It is the recommended approach for transporting objects between ABAP systems in your global account."},{"url":"https://github.com/SAP-docs/btp-developer-guide/blob/main/docs/sap-btp-abap-environment-with-abap-cloud-174b229.md","title":"SAP BTP ABAP Environment with ABAP Cloud","checked":"2026-09-14","quote":"The Custom Code Migration App analyzes legacy code, identifies non-compliant elements such as unreleased APIs or obsolete statements, and helps prioritize necessary adaptations."}]}},"history":[{"date":"2026-09-14","field":"coverage_by_flavor.abap-cloud","from":null,"to":"core-only","reason":"ADT is confirmed as ABAP Cloud's own development environment and gCTS as its transport mechanism, and no ABAP-ecosystem provider of this capability states the abap-cloud flavor, so the flavor reads core-only rather than derived."},{"date":"2026-10-17","field":"description","from":"Reading a change before it moves on: which objects a transport request carries, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision.","to":"Reading a change before it moves on: which files or objects a change contains, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision.","reason":"Keep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit."},{"date":"2026-10-26","field":"core_coverage.community_adds","from":null,"to":"Community tools add a saved review with a decision on each block, a release check, and a view of an object at a past version with per-line authorship.","reason":"Reassessed against the graph (check:capabilities): providers that arrived after the 2026-09-13 assessment (abapTimeMachine, abapOpenReview, a transport review app) shape the answer; state unchanged, core-and-community."}],"drafted_with_ai":true,"framing_by_ecosystem":{"abap":{"description":"Reading a change before it moves on: which objects a transport request carries, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision."}}},"sap_delivery":{"door":"abap","all":null,"by_flavor":{"standard-abap":null,"abap-cloud":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:catafeidi-abap-transport-review","name":"abap-transport-review","json":"/artifacts/catafeidi-abap-transport-review.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:larshp-abapopenreview","name":"abapOpenReview","json":"/artifacts/larshp-abapopenreview.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abapinho-abaptimemachine","name":"abapTimeMachine","json":"/artifacts/abapinho-abaptimemachine.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:ysichov-ave","name":"AVE","json":"/artifacts/ysichov-ave.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:ysichov-vertex","name":"VERTEX","json":"/artifacts/ysichov-vertex.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[],"explained_by":[{"ref":"content:abap-development-automation-with-arc-1-and-github-workflows","name":"ABAP Development Automation with ARC-1 and GitHub Workflows","json":"/content/abap-development-automation-with-arc-1-and-github-workflows.json"},{"ref":"content:patterns-for-using-llms-in-abap-development","name":"Patterns for using LLMs in ABAP development","json":"/content/patterns-for-using-llms-in-abap-development.json"}],"normative_context":[]}}