ABAP CDS. Коротко о главном (2)
В этой заметке я хочу коснуться варианта определения набора входных параметров в процессе создания ABAP CDS View, который может выполнять роль фильтра в получении результирующей выборки данных, а также может быть зависимым, скажем, от пользовательского ввода в ABAP программе(ах), либо другом сценарии, в зависимости от того, где этот CDS будет применяться.
См. заметку ABAP CDS. Коротко о главном
Определение CDS View с набором входящих параметров
См. ABAP CDS - parameter
Пример создания ABAP CDS с параметрами
Создать ABAP CDS View, про который идет речь в этой заметке, очень просто. Для этого, используя Eclipse IDE, необходимо выбрать соответствующий тип создаваемого ракурса.
Для демонстрации в этой заметке я воспользуюсь примером, который был приведен ранее, определив один входной параметр в уже знакомое условие запроса.
@AbapCatalog.sqlViewName: 'ZCDS_PRM'
@AbapCatalog.compiler.compareFilter: TRUE
@AbapCatalog.preserveKey: TRUE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'CDS with params'
define VIEW zcds_params
WITH parameters
p_country_origin : char2
AS SELECT FROM ztbl1 AS t1
INNER JOIN ztbl2 AS t2 ON t1.id = t2.id
{
KEY t1.id AS Id,
t1.name AS Name,
t1.lastname AS Lastname,
t2.birthdate AS Birthdate,
t2.cellphone AS Cellphone,
t2.email AS Email,
t2.countryorigin AS Countryorigin
}
WHERE
countryorigin = $parameters.p_country_origin;
Не забываю активировать новый CDS View.
Пример запуска CDS View с параметрами
На следующем видеофрагменте представлен пример запуска ABAP CDS View с определенным входным параметром.
Пример использования в ABAP программе
Хорошее описание использования ABAP CDS View с входными параметрами в ABAP программе представлено в справочном материале вендора.
См. ABAP SQL, Parameter Passing to a CDS View
В своем примере я воспользуюсь следующим вариантом реализации.
Проверяю, что получилось