Description
CDS 10 includes behavioral fixes to resolveView, the internal API used by CAP to resolve projections and views to their underlying database-level representations. Projects that use resolveView directly — or that depend on how CAP resolves complex projections internally during query building — may see different resolution results after the upgrade. The fixes address incorrect resolution in edge cases involving nested associations, renamed elements, or multi-level view chains. Applications with simple projections are unlikely to be affected; those with complex view hierarchies should test carefully.
How to Check
- [ ] Search for direct calls to
cds.resolve(...),srv.resolveView(...), ormodel.resolveView(...)in service handlers or build scripts. - [ ] Run the full integration test suite against a CDS 10 environment, particularly tests that exercise complex projections, nested associations, or multi-entity views.
- [ ] Check query builder code that relies on element names or paths derived from
resolveViewoutput — verify that the resolved element names match expectations. - [ ] Review any custom query construction that traverses view hierarchies using internal CSN APIs.
Migration Steps
No automated detection is possible — run integration tests to identify regressions.
For any test failures related to projection resolution, compare the resolved output between CDS 9 and CDS 10 by calling
resolveViewin both versions and diffing the result:jsconst cds = require('@sap/cds'); const csn = await cds.load('srv/my-service.cds'); const resolved = cds.resolve('MyService.MyProjection', csn); console.log(JSON.stringify(resolved, null, 2));Update query construction code that depends on specific resolved element paths to use the corrected paths from the CDS 10 output.
If a regression in resolution affects production behavior, check whether a
cds envcompat flag is available to restore the previous behavior temporarily while investigating.
Notes
This entry covers multiple open sub-issues (2651, 2650, 2644 under the parent issue 2649) as of 2026-03-31. The full scope of behavioral changes is not finalized. Revisit this entry once all sub-issues are closed and cross-reference the final CDS 10 release notes for a precise description of what changed in each resolution scenario.