I have the following CDS:
@AbapCatalog.sqlViewName: 'ZAMPAYERINFO'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Read payer information'
define view zam_payer_info
with parameters p_payer: abap.char(10)
as select distinct from knvp
join kna1 on
knvp.kunnr = kna1.kunnr
{
key knvp.kunnr as Payer,
kna1.name1 as Name
} where knvp.kunnr like $parameters.p_payer
that the compiler complains:
Comparison value of LIKE condition must be a character-type literalZAM_PAYER_INFO (Data Definition)
As you can see on the CDS code, I am using character-type.
I understand, what LIKE statement do, for example:
@AbapCatalog.sqlViewName: 'ZAMPAYERINFO'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Read payer information'
define view zam_payer_info
with parameters
p_payer : abap.char(10)
as select distinct from knvp
join kna1 on knvp.kunnr = kna1.kunnr
{
key knvp.kunnr as Payer,
kna1.name1 as Name
}
where
knvp.kunnr like 'a%'
Search all kunnr that starts with a. But my problem is, how to combine it with input parameter p_payer
, at the end it should be LIKE %p_payer
, where p_payer
will be replace through the value that I passed.
What can be wrong?