В SAP ABAP CDS оператор define view
используется для создания представления CDS. Этот объект имеет имя объекта CDS, которое отображается в редакторе и пакетах, но также содержит аннотацию AbapCatalog.sqlViewName
, которая должна быть другой. The documentation of the define view
syntax имеет некоторую информацию:Выбор из объекта CDS в сравнении с представлением базы данных CDS
Для объекта CDS (ABAP CDS), который определяется с помощью DEFINE VIEW, создаются два объекта. Имя должно быть указано для каждого из двух объектов:
Имени CDS_DB_VIEW в представлении базы данных CDS должен быть указан в кавычках после аннотации @ AbapCatalog.sqlViewName. Обычные правила для представлений словаря ABAP применяются к этому имени, и он не учитывает регистр (он трансформируется внутри заглавных букв). Соответствующее представление SQL создается под этим именем в базе данных.
Название cds_entity объекта CDS определяется после ключевых слов DEFINE VIEW (DEFINE не является обязательным). Никаких кавычек не нужно указывать. Это имя следует правилам представления базы данных CDS, но может иметь длину 30 мест.
Оба названия находятся в пространстве имен типов данных в ABAP Dictionary и должны быть уникальными. Эти два имени могут использоваться в других операциях DDL или в программах ABAP для доступа к представлению CDS.
Он упоминает некоторые другие различия, такие, как компания не доступна в словаре данных инструментов компании SAP (SE11, SE16) и тот факт, что выбирает из сущности всегда работает в strict mode но кикер:
В DDL CDS и в ABAP, вид CDS можно рассматривать как представление базы данных CDS CDS_DB_VIEW и как объект CDS cds_entity. Настоятельно рекомендуется, однако , что используется только объект CDS.
Когда я бегу как в простом запросе, я заметил, что при выборе из сущности нет столбца Мандт, но этот столбец является присутствует при выборе с точки зрения базы данных CDS.
Итак, каковы реальные различия между представлением базы данных и объектом CDS, которые разработчики должны учитывать при работе с представлениями CDS?
«Надеюсь, что это помогает». «Это христианин, спасибо за ваш вклад и ссылки. Я скопировал отредактированный ответ и добавил соответствующий раздел документа, чтобы избежать гниения ссылки. Добро пожаловать на сайт, кстати. – Lilienthal