Sap cds что это

Русские Блоги

Основы View SAP CDS (создайте свой первый вид CDS)

Многие студенты считают, что нет возможности для CDS View, этот блог введет основной синтаксис представления CDS и прикрепите пример.

1. Определите представление CDS

использовать:

Грамматика:

Объяснение:

Результат работает:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

2. Select Distinct

использовать:

Если результатом является повторная запись, отчетливый может исключить запись повторения в наборе результатов.

Грамматика:

Объяснение:

Результат работает:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

3. Где выписка

использовать:

Ограниченные условия скрининга

Грамматика:

Результат работы:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

4. Ключевой полевой декларацией

использовать:

Укажите, какие поля в представлении CDS являются ключевым полем

Грамматика:

Объяснение:

Результат работы:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

5. Функция встроения

использовать:

Некоторые операционные функции от компакт-дисков

Грамматика:

Объяснение:

Результат работы:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

6. Выражение дела

использовать:

Реализовать операцию филиала

Грамматика:

Объяснение:

Результат работы:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

7. Литое выражение

использовать:

Обязательный тип преобразования

Грамматика:

Объяснение:

Результат работает:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

8. Coalesce функция

использовать:

Обычно управляемый нулевой статус, настройка значений по умолчанию для NULL

Грамматика:

Объяснение:

резюме:

В этой статье мы представим наиболее базовый вычислительный синтаксис вида SAP CDS. Для проблем, возникающих во время операции, мы можем еще больше просмотреть соответствующее использование в соответствии с справочной документацией в Abap.

Способ эксплуатации высокого уровня для компакт-дисков будет обновлен в последующих блогах.

Добро пожаловать, чтобы обратить внимание на ️️, просто хвала, вперед!

Источник

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что этоIlya Kaznacheev Cloud Architect | Community Leader | Public Speaker

При этом CDS является достаточно мощным механизмом, позволяющим опустить многие вычисления и выборки данных в трехуровневой архитектуре SAP с уровня приложений на уровень БД (подход, называемый “code push-down”). Вместе с использованием SAP HANA, которая умеет быстро обрабатывать такие запросы, эта технология предоставляет разработчику достаточно мощный инструмент по описанию моделей данных, которые можно затем удобно использовать в ABAP.

Однако с большой силой приходит и большая ответственность, о которой мы сегодня и поговорим. Но сперва в двух словах о том, что же такое ABAP CDS View.

##Описание моделей с использованием ABAP CDS View

Вот пример простого CDS View и сгенерированного для него запроса:

Стандартный CDS View I_MRPSalesOrder

Сгенерированный для него SQL запрос

А вот иерархическая структура, показывающая последовательность выборки данных по дереву CDS вплоть до реальных таблиц БД:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Сам инструмент достаточно удобен, если речь идет именно о выборке данных, и позволят качественно отделить модель от бизнес-логики при разработке приложения. При этом многие новые технологии SAP построены именно на CDS View, например новый подход к моделированию приложений для Fiori, полностью основанной на BOPF и CDS, которая уже применяется в новых модулях для S/4, например в EHS.

Однако благодаря широким возможностям CDS View по обработке данных (а возможность применения AMDP делает их практически безграничными) появляется возможность использования технологии для решения крайне широкого спектра задач. Однако не для всего они хорошо подходят, и неправильное применение этого инструмента превращает разработку и поддержку в настоящее мучение. В этой заметке я рассмотрю основные случаи, когда стоит и не стоит использовать CDS View и некоторые особенности текущего состояния этой технологии, которые стоит знать перед тем, как начинать серьезное использование ее в проекте.

##Когда стоит использовать CDS View

###При описании моделей данных

Как следует из документации, технология была разработана для описания моделей данных, используемых в ABAP. Например, работая в SD с заказом на поставку, можно написать набор CDS View, которые будут выбирать всю необходимую информацию по заказу (при этом информация для различных статусов заказа может считываться из различных таблиц при необходимости), и формировать на ее основе единую структуру заказа со всеми необходимыми полями в виде одной готовой таблицы (или нескольких связанных таблиц, если имеют место какие-то множественные данные), которую можно просто считать в ABAP и сразу же использовать для какой-то бизнес логики, без каких-то дополнительных преобразований и считываний дополнительных данных из БД.

Концепция CDS предполагает, что все выборки, расчеты и преобразования данных, релевантных для модели, будут происходить “не выходя” из БД, а на сервер приложений будут переданы только необходимые данные и ничего лишнего. Это полностью противоречит существовавшему раньше подходу к работе с БД в SAP, в рамках которого предполагалось минимально нагружать базу, а все расчеты выполнять на сервере приложений.

Это все позволяет один раз описать модель данных с указанием всех связей между таблицами, логикой поиска и выборки данных, каких-то преобразований и агрегаций, и потом только обращаться к ней за данными, не вдаваясь в особенности реализации, и не повторяя раз за разом один и тот же код по выборке и анализу данных соответствующей сущности.

##Когда не стоит использовать CDS View

###Реализация бизнес-логики в модели

###Формирование слишком сложных моделей

Модель данных как, впрочем, и любая другая сущность не должна быть чересчур сложной и комплексной. Если вы видите, что модель получилась слишком большой, тянет данные из кучи мало связанных таблиц и имеет сложную логику, стоит остановиться и постараться разбить все это на несколько более связных моделей, которыми потом можно будет удобно оперировать в ABAP.

К тому же в БД (в частности HANA) есть ограничение по глубине селекта, и запросы начинают бодро падать в дамп на особенно крупных моделях данных. Не знаю, достиг ли я дна, или это распространенная ситуация, но нужно держать это в голове при разработке особенно всеобъемлющих CDS View.

###Формирование моделей с большим количеством условий

Как в предыдущем пункте, речь здесь идет о сложности модели, но теперь с точки зрения логики. CDS View не поддерживают каких-либо списков значений, а добавить данные из таблицы БД в качестве списка достаточно накладно, поэтому такие вещи, которые в ABAP решались при помощи RANGE, в CDS View приходится реализовывать вручную. Иногда в результате получаются достаточно монструозные конструкции, в процессе написания которых клавиши Ctrl и C изрядно нагреваются. Поддерживать такое достаточно трудоемко, особенно когда подобные условия приходится накладывать на несколько CDS одновременно. Если есть возможность реализовать подобные ограничения силами ABAP, в большинстве случаев лучше так и сделать.

###Реализация логики, не относящейся к моделированию данных

##Особенности работы с CDS View

При работе с CDS в любом случае нужно иметь в виду определенные особенности, которые могут вылиться в длительную незапланированную работу или сложную поддержку, если на них не обратить внимание заранее.

Как уже было сказано, CDS View достаточно утомительно покрывать тестами. Несмотря на то, что ADT позволяет сгенерировать необходимый boilerplate код, при минимальных изменениях все это придется редактировать вручную. А практика показывает, что минимальные изменения в логике построения модели зачастую приводят к кардинальным изменениям в составляющих модель View. Просто обратите внимание на то, что изменения в таких юнит-тестах потребуют от вас много усилий, и либо пишите тесты в самом конце разработки, либо дробите модели на какие-то более атомарные части, которые будут изменяться с меньшей вероятностью, и покрывайте тестами их.

##Что получаем в итоге

С другой стороны не стоит забывать, что технология предназначена именно для описания моделей, поэтому она крайне негативно отзывается на включение в них чужеродной логики, что приводит к болезненной и истощающей поддержке такого кода.

Используйте технологию с умом, ведь день ото дня она будет становиться только более распространенной в продуктах SAP.

Источник

ABAP Blog

Все о разработке в решениях от SAP

ABAP Blog

Все о разработке в решениях от SAP

Ссылки

Цитаты

Вы работаете с чистым кодом, если каждая функция делает примерно то, что вы ожидали. Код можно назвать красивым, если у вас также создается впечатление, что язык был создан специально для этой задачи.

У. Каннингем

Новое

Последние комментарии

ABAP CDS (Core Data Services)

Начиная с версии ABAP 7.4. нам стала доступна новая технология описания моделей данных в словаре – ABAP CDS (CDS – Core Data Services). Данная технология позволяет описывать модели данных на более продвинутом уровне, нежели это можно было делать стандартными словарными вьюшками. Она так же позволяет оптимизировать работу с данными за счёт вынесения вычислений на уровень СУБД (Code-to-Data), что актуально для HANA.

Кроме ABAP CDS, есть так же отдельная реализация для HANA – HANA CDS. Как понятно из названия, одна реализация используется в ABAP разработке, другая в HANA Native разработке. Horst Keller в своём блоге более подробно рассматривает разницу в обоих реализациях.

ABAP CDS поддерживается сервером приложений ABAP вне зависимости от того, какая СУБД будет им использована, однако некоторые специфические вещи могут и не поддерживаться (В ABAP 7.4. нет поддержки параметров у CDS для всех СУБД, она появилась только с ABAP 7.5. Кроме того, скорость работы CDS на HANA и Oracle может быть различной).

В статье будет рассмотрена версия ABAP CDS для ABAP 7.4, с некоторыми комментариями относительно ABAP 7.5.

Прежде чем приступать к примерам, рассмотрим основные понятия в контексте ABAP CDS:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Упомянутые выше аннотации это своего рода мета-информация об объекте CDS, которая может в себя включать как настройки (буферизация, ссылочные поля для валюты и т.п.), так и только описательные данные (текстовое описание поля, описание DB View и прочее).

Подробная информация о существующих аннотациях есть в документации (для ABAP 7.5).

В ABAP 7.5 с помощью аннотаций можно даже опубликовать OData сервис на базе CDS View, при этом используя описательные аннотации можно задавать свойства UI элементов в UI5 (Fiori) приложениях (ABAP 7.5 SP01 и выше). Блог, в котором рассматриваются эти и другие возможности аннотаций (ABAP 7.5).

Работа с CDS View

Создание

Создать CDS View можно только из ABAP Development Tools (Eclipse plugin, скачать можно с сайта: https://tools.hana.ondemand.com). Для этого необходимо сначала создать ABAP проект в системе, а затем добавить к нему новый объект:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

В 7.5 путь в мастере несколько отличается, CDS вынесены в отдельную папку.

Далее указывается имя DDL объекта CDS:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

На следующем шаге необходимо указать настройки транспорта, а после него выбрать шаблон CDS который будет вставлен в DDL по умолчанию:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Eclipse позволяет самим определять шаблоны DDL через настройки:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

После выбора шаблона по умолчанию, нажимаем на кнопку finish и имеем следующий результат:

Источник

Практика освоения ABAP CDS для непрограммистов. Часть 3

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Васильев Виталий

Публикация предназначена для консультантов по различным модулям SAP ERP. Описываемая технология ABAP CDS наиболее актуальна для систем SAP S/4HANA, но может применяться и в любых системах, начиная с платформы SAP Netweaver 7.40 SPS05, независимо от используемой базы данных.

Продолжение статьи.

3. АННОТАЦИИ

3.1. Общие определения

Аннотации – это команды, имеющие специфический синтаксис и используемые в DDL-источниках для описания дополнительной семантической информации. Например, аннотации помогают организовать большую модель, выделить в ней различные уровни элементов: частные, повторно используемые, аналитические.

Совокупность доступных для использования аннотаций предопределена SAP. Она содержит ABAP-аннотации, используемые средой во время выполнения, определяющие семантику и поведение CDS-сущности. Также предусмотрены аннотации, необходимые для работы в других средах (таких как OData или UI5). Метаданные таких аннотаций доступны приложениям-потребителям через специальные API (см. Рис.58).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.58. Группы аннотаций (домены)

Аннотации разбиты на группы (домены) в соответствии с областями их использования. Метаданные из аннотаций определённого домена позволяют передать в него дополнительную информацию, не меняя модели данных. Каждый домен, обращаясь к CDS, анализирует только «свои» аннотации, игнорируя сведения из остальных, предназначенных другим доменам.

3.2. Примеры аннотаций

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Код любой аннотации всегда начинается со специального символа @

Приведём примеры наиболее распространённых аннотаций, которые используются в описании большинства CDS-ракурсов:

Например, аннотация @VDM.private: TRUE означает, что это частный ракурс, являющийся внутренним объектом, предназначенным для преодоления каких-то технических ограничений ABAP-модели данных. Использование этой аннотации в пользовательских разработках не допускается за исключением случаев, когда разработчик берёт создаваемый объект на поддержку.

@Analytics.dataCategory: #FACT – пример аннотации, определяющей категорию данных, описываемых в ракурсе, с точки зрения аналитических приложений. Возможные значения этой аннотации:

Таблица 1 кратко иллюстрирует различия между этими категориями данных:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Таблица 1. Аналитические категории данных

Некоторые другие аннотации будут описаны при построении демонстрационных примеров, так как там можно более наглядно пояснить предназначение этих аннотаций. Общее число аннотаций, доступных в синтаксисе CDS, очень велико. Полный их перечень может меняться в зависимости от версии используемой ABAP-системы. Однако большинство аннотаций доступны во всех версиях. Полный справочник доступных аннотаций на примере SAP Netweaver 7.5 SPS10 можно найти по ссылке.

4. ДЕМОНСТРАЦИОННАЯ МОДЕЛЬ. БАЗОВЫЕ РАКУРСЫ

4.1. Таблицы демонстрационной модели

Как уже говорилось в п. 2.4, основой для построения демо-примеров служит традиционная схема из нескольких таблиц, содержащих условную информацию о бронировании авиаперевозок. А именно, будут использованы следующие таблицы:

4.2. Создание базового ракурса

4.2.1 Создание DDL Source с помощью мастера

Простейшим примером для начала послужит создание базового ракурса, описывающего основные данные авиакомпаний. Он будет основан на таблице SCARR. Как можно видеть в транзакции SE12, таблица содержит двухсимвольные коды авиакомпаний, их текстовые названия, коды валют, используемых компаниями по умолчанию, и адреса их веб-сайтов (см. Рис.59).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.59. Содержимое таблицы SCARR

Чтобы создать CDS-ракурс, необходимо открыть ADT (в среде Eclipse или в SAP HANA Studio) и соединиться с BackEnd-системой, раскрыв папку ABAP-проекта (см. Рис.54).

Затем необходимо выбрать пакет разработки, в котором будет создан ракурс. Это может быть пакет, ранее внесённый в список избранных для удобства. Либо можно раскрыть полный список доступных пакетов System Library.

Правой кнопкой вызвать контекстное меню выбранного пакета. Выбрать команду New->Other ABAP Repository Object (см. Рис.60).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это1/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png» />Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.61. Выбор типа создаваемого объекта

Нажать кнопку «Next». В следующем окне можно выбрать пакет разработки, в котором будет создан ракурс (по умолчанию там указан пакет, на котором мы выше вызывали контекстное меню), указать техническое имя ракурса и его текстовое название (см. Рис.62).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.62. Мастер создания DDL Source: указание имени объекта

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

В рассматриваемой демонстрационной VDM соблюдается следующее соглашение о наименованиях:

Укажем значения как на Рис.63.

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.63. Техническое имя и название создаваемого ракурса

Затем снова нажимаем «Next». В следующем окне предлагаются опции, позволяющие включить создаваемый ракурс в ранее созданный транспортный запрос, либо создать новый запрос (см. Рис.64).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.64. Мастер создания DDL Source: выбор транспортного запроса

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.65. Мастер создания DDL Source:выбор шаблонного кода

Вверху слева указан список шаблонов. При выборе любого шаблона вверху справа появится его краткое описание. А в нижней части окна можно видеть тот код, который по умолчанию будет вписан из шаблона в создаваемый DDL Source. Для начального примера достаточно использовать простейший шаблон Define View и нажать «Finish». В результате будет создан ракурс с выбранным техническим именем, откроется окно для редактирования кода этого ракурса и в это окно будут вписаны строки из выбранного шаблона (см. Рис.66).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.66. Создание DDL Source: код, скопированный из шаблона

4.2.2 Доработка шаблонного кода: заголовок и аннотации

Слева от закрывающей фигурной скобки на Рис.66 видна пиктограмма (красный кружок с белым крестом), говорящая о наличии синтаксических ошибок. На данном этапе это естественно, так как код из шаблона ещё нужно отредактировать под наши нужды.

После оператора define view следует имя ZI_AIRLINE. По терминологии, описанной в разделе 1.1, это техническое имя для CDS View, который будет создан при активации данного DDL Source. По умолчанию это имя совпадает с именем самого DDL Source.

Вместо текста data_source_name необходимо указать имя таблицы, из которой ракурс будет получать данные. Для этого можно воспользоваться такой удобной функцией редактора в ADT, как Code Completion. Выделяем текст data_source_name и нажимаем сочетание клавиш CTRL+SPACE. Система, анализируя код, сама «понимает», что в данном месте текста нужно указать имя таблицы. И предлагает выбор из списка доступных таблиц (см. Рис.67).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.67. Использование Code Completion для выбора исходной таблицы базового ракурса

Разумеется, весь список таблиц слишком велик. Чтобы сократить поиск, можно начать набор имени нужной таблицы. При каждом изменении набранного текста список в Code Completion будет обновляться, в нём останутся только те названия, которые содержат набранный нами набор символов. Например, если набрать «scar», то останутся только две таблицы (см. Рис.68).

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Рис.68. Результаты контекстного поиска в Code Completion

Теперь посмотрим на аннотации, которые были автоматически добавлены в начало DDL-кода из шаблона. В первую очередь необходимо вместо текста sql_view_name в аннотации @AbapCatalog.sqlViewName указать техническое имя ракурса, под которым он будет виден в ABAP-словаре. По терминологии, описанной в разделе 1.1, это техническое имя для SQL View, который будет создан при активации данного DDL Source. Длина имени в ABAP-словаре должна быть не более 16 символов. Поэтому, если возможно, будем использовать для SQL View то же имя, что и в DDL Source, но без символов подчёркивания. Результат показан на Рис.69.

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

Источник

ABAP CDS. Определение ракурсов и профилей в репозитарии. (S4D430)

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Ковальский Василий Львович

Начиная с версии 7.4 в SAP Net Weaver можно создавать в репозитарии новые категории объектов — описания Core Data Services (CDS).

Содержание

0. Зачем это нужно

Начиная с версии 7.4 в SAP Net Weaver можно создавать в репозитарии новые категории объектов — описания Core Data Services (CDS), позволяющие:

— элегантно описывать ракурсы (представления, CDS view) в том числе использующие в качестве источников другие ракурсы;

— расширять существующие CDS view, в том числе поставляемые SAP или другими поставщиками, описания ролей доступа;

— создавать роли доступа, фильтрация по которым будет происходить на уровне базы данных, а не на уровне ABAP-приложения.

Подавляющее большинство нововведений платформенно независимы и могут использоваться со всеми теми базами данных, с которыми может работать SAP Net Weaver. В настоящее время таких баз данных 9. Особый интерес представляет использование ABAP CDS с базой данных SAP HANA (High Performance Analytic Appliance), поскольку в таком случае можно использовать особенности, присущие этой базе данных.

Стандартный язык структурированных запросов SQL(structured query language) содержит в себе 4 важных подмножества: язык манипулирования данными (Data Manipulation Language, DML), язык определения данных (Data Definition Language, DDL), язык доступа к данным (Data Control Language, DCL), язык управления транзакциями (Transaction Control Language, TCL).

Вот эти недостатки и разрешаются с помощью нового средства Core Data Services (CDS), в CDS можно создать DDL- и DCL-описания. В итоге ABAP Open SQL и CDS ABAP покрывают основные возможности SQL.

1. Введение

CDS включает в себя описания в нотации, близкой к SQL и кроме того аннотации, содержащие особенные, SAP-специфические, возможности, например, тексты и семантические (смысловые) свойства полей, и различные свойства всего сервиса в целом. Выглядеть это может, например, так:

@AbapCatalog.sqlViewName: ‘ZQK1_A’
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: ‘2.05. Annotations’
@ClientDependent: true
@AbapCatalog.buffering.type: #GENERIC
@AbapCatalog.buffering.numberOfKeyFields: 1
@AbapCatalog.buffering.status: #ACTIVE
define view ZQK1_B as
select from spfli as a
inner join sflight as b
on a.carrid = b.carrid
and a.connid = b.connid
< key a.carrid
, key b.connid
, key b.fldate
, paymentsum @

CREATE VIEW «ZQK1_A» AS SELECT
«A».»MANDT» AS «MANDT»,
«A».»CARRID»,
«B».»CONNID»,
«B».»FLDATE»,
«B».»PAYMENTSUM»,
«B».»CURRENCY»,
«B».»PRICE»
FROM «SPFLI» «A» INNER JOIN «SFLIGHT» «B» ON (
«A».»CARRID» = «B».»CARRID» AND
«A».»CONNID» = «B».»CONNID» AND
«A».»MANDT» = «B».»MANDT»
)
WHERE «B».»CURRENCY» = N’JPY’

2. Основы CDS view

При активации вышеописанного CDS в репозитарии создаются три объекта.

(1) Описание самого сервиса как это описано во фразе define view ZQK1_B;

(3) Объект репозитария типа DDLS (Data Definition Language Source).

В транзакции SE80 выглядеть это будет примерно так:

Sap cds что это. Смотреть фото Sap cds что это. Смотреть картинку Sap cds что это. Картинка про Sap cds что это. Фото Sap cds что это

Обычно не существует резонов различать имена сервиса (самого CDS) и объект типа DDLS, а вот имя CDS view непременно должно от них отличаться.

3. Простые возможности: вычисление, соединения, объединения

Вычислимые поля и агрегатные функции позволяют перенести вычисления с уровня приложения на уровень базы данных, что может быть особенно выгодно для высокопроизводительных баз данных.

3.1. Вычислимые поля

Выражение приведение типа CAST позволяет изменить тип операнда.

select from spfli
< carrid
, connid
, distance
, distid
, case distid
when ‘KM’ then distance
when ‘MI’ then unit_conversion( quantity => distance
, source_unit => distid
, target_unit => cast( ‘KM’ as abap.unit ) )
end as dist_km
>

может соответствовать такой SQL-оператор:

CREATE VIEW «ZQK1_A» AS SELECT
«SPFLI».»MANDT» AS «MANDT»,
«SPFLI».»CARRID»,
«SPFLI».»CONNID»,
«SPFLI».»DISTANCE»,
«SPFLI».»DISTID»,
CASE «SPFLI».»DISTID» WHEN N’KM’ THEN «SPFLI».»DISTANCE» WHEN N’MI’ THEN (
CAST(
ROUND(
CAST(
CONVERT_UNIT(
«QUANTITY» => «SPFLI».»DISTANCE»,
«SOURCE_UNIT» => «SPFLI».»DISTID»,
«TARGET_UNIT» => CAST(
N’KM’ AS NVARCHAR(000003)
),
«CLIENT» => «SPFLI».»MANDT»,
«ERROR_HANDLING» => N’FAIL_ON_ERROR’,
«SCHEMA» => CURRENT_SCHEMA
) AS DECIMAL
),
000014
) AS DECIMAL(000031,000014)
)
)
END AS «DIST_KM»
FROM «SPFLI» «SPFLI»

В вычислимых полях возможны две формы CASE (факультативные синтаксические элементы даны в курсивом в квадратных скобках):

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *