ABAP Keyword Documentation → ABAP - Dictionary → Built-In Functions in ABAP Dictionary → SQL Functions → SQL Functions for Strings
SQL Function UPPER
This example demonstrates the SQL function UPPER in ABAP SQL and ABAP CDS.
Other versions:
7.31 | 7.40 | 7.54
Source Code
DATA:
query TYPE string VALUE `ERROR`,
rows TYPE i VALUE 100.
cl_demo_input=>add_field( CHANGING field = query ).
cl_demo_input=>request( CHANGING field = rows ).
query = `%` && to_upper( query ) && `%`.
rows = COND #( WHEN rows <= 0 THEN 100 ELSE rows ).
"UPPER in CDS view
SELECT arbgb, msgnr, text
FROM demo_cds_upper
WHERE sprsl = 'E' AND
upper_text LIKE @query
ORDER BY arbgb, msgnr, text
INTO TABLE @DATA(result1)
UP TO @rows ROWS.
"UPPER in Open SQL
SELECT arbgb, msgnr, text
FROM t100
WHERE sprsl = 'E' AND
upper( text ) LIKE @query
ORDER BY arbgb, msgnr, text
INTO TABLE @DATA(result2)
UP TO @rows ROWS.
ASSERT result1 = result2.
cl_demo_output=>display( result1 ).
Description
A SELECT
statement accesses the following CDS view, which uses the SQL function UPPER:
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view Demo_Cds_Upper
as select from
t100
{
sprsl,
arbgb,
msgnr,
text,
upper(text) as upper_text
}
Another SELECT
statement uses the SQL function UPPER directly to access the same data source T100.
Since SQL functions cannot yet be used on the left side of LIKE in the DDL of the ABAP CDS, the view returns a help field, which is evaluated in ABAP SQL. The results are the same. The search effected by the examples is not case-sensitive.