Роль CDS view entities в семантической модели SAP, границы слоёв, associations и проверки агрегирования для финансовой аналитики.
3 мин чтения·База знаний
Ревизия 2Общие понятияЧастичное покрытиеКонтекст: CTX-GENERALдокументальная опора: недостаточно данных
Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.
CDS view entities: семантика и слои модели данных#
CDS view entity задаёт модель поверх одного или нескольких источников данных. Помимо списка полей, она может описывать связи через associations, вычисляемые выражения, параметры и семантические аннотации. Поэтому CDS полезна как переиспользуемый контракт бизнес-данных для приложений и аналитики, а не только как короткая форма SQL-запроса.
В модели обычно разделяют базовый слой сущностей и специализированные проекции для конкретного сценария. Базовая сущность должна выражать устойчивую бизнес-семантику и ключи; верхний слой задаёт отбор, отображение или аналитическую роль для конкретного потребителя. Не стоит превращать один универсальный view в хранилище всех исключений: это скрывает кардинальность и делает изменение одного сценария неожиданным для других.
CDS key обозначает ключевые элементы представления, но сам по себе не исправляет дубликаты в источнике и не гарантирует уникальность результата после join. До публикации модели установите уровень детализации каждой сущности, кратность association и ожидаемое поведение при отсутствии связанной записи. Для финансовых данных проверьте, не умножает ли связь проводки на несколько текстов, статусов, назначений или периодов действия.
Associations помогают объявить навигационные отношения и могут быть развёрнуты в запросе потребителя. Это не означает, что стоимость и результат любого пути навигации очевидны без анализа сформированного запроса. Проверяйте фактическую выборку, число строк и суммы на репрезентативном наборе, прежде чем использовать модель для сверки.
Сумма должна быть связана с валютой, количество - с единицей измерения, а дата - с её деловым смыслом. Аннотации помогают потребителям интерпретировать эти поля, но не заменяют корректную модель исходных данных. Разделяйте ledger, компанию, фискальный период, валютный тип и статус позиции там, где они меняют смысл результата.
Аналитическая проекция должна явно задавать допустимое агрегирование и уровень детализации результата. Не суммируйте несовместимые валюты, единицы, ledger или повторно показанные уровни иерархии. Проверяйте пустые и начальные значения, знаки сторно и правила включения незавершённых записей на фиксированных примерах.
CDS-функции, доступные аннотации, ограничения модификации и поведение потребителя зависят от версии ABAP Platform и продукта. Проверьте целевой release и документацию его модели данных. Для разработки в ограниченном языке ABAP дополнительно проверьте, что используемый CDS-объект доступен как released API.
Порядок проверки: определить потребителя и grain; описать ключи и кардинальности; добавить семантику суммы, валюты и даты; проверить выборку на тестовых данных; затем проверить доступность объектов и аннотаций в целевой версии. Этот материал не описывает конкретную конфигурацию Universal Journal и не подтверждает запуск CDS в SAP runtime.
CDS view entities: semantics and data model layers#
A CDS view entity models one or more data sources. In addition to a field list, it can describe relationships through associations, calculated expressions, parameters, and semantic annotations. CDS is therefore useful as a reusable business-data contract for applications and analytics, not just shorthand for a SQL query.
A model commonly separates a base layer of entities from specialized projections for particular scenarios. The base entity should express stable business semantics and keys; a higher layer can define filters, presentation, or analytical roles for a consumer. Avoid turning one universal view into a store for every exception: that hides cardinality and makes changes to one scenario surprising for others.
A CDS key marks key elements of a view, but does not repair duplicate source data or guarantee uniqueness after a join. Establish each entity's grain, association cardinality, and expected behavior when a related row is absent. For financial data, check whether a relationship multiplies journal items through multiple texts, statuses, assignments, or validity periods.
Associations declare navigational relationships and can be expanded in a consumer query. This does not make the cost or result of every navigation path obvious without examining the generated query. Check actual rows, counts, and totals on representative data before using the model for reconciliation.
An amount should be related to a currency, a quantity to a unit, and a date to its business meaning. Annotations help consumers interpret these fields but cannot replace a correct source model. Keep ledger, company, fiscal period, currency type, and item status distinct where they affect the result.
An analytical projection should make allowed aggregation and result grain explicit. Do not sum incompatible currencies, units, ledgers, or repeated hierarchy levels. Check empty and initial values, reversal signs, and rules for including incomplete records on fixed examples.
Available CDS features, annotations, modification limits, and consumer behavior depend on ABAP Platform and product version. Check the target release and its data model documentation. For development in a restricted ABAP language version, also verify that the CDS object is available as a released API.
Review order: identify the consumer and grain; describe keys and cardinality; add amount, currency, and date semantics; validate a query on test data; then check object and annotation availability in the target version. This article does not describe a particular Universal Journal configuration and does not claim CDS execution in SAP runtime.