Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Use decimal in where clause in SAP ABAP
When working with decimal values in SAP ABAP WHERE clauses, you might encounter issues if you try to use locale-specific decimal separators. ABAP does not support user-specific regional settings for decimal notation in SQL queries. You must always use the standard dot (.) as the decimal separator instead of comma (,) or other regional separators.
Using Decimal Values in WHERE Clause
The correct syntax requires using a dot (.) as the decimal separator, regardless of your system's regional settings. Here's the proper approach −
SELECT * FROM <table> INTO <index_tab> WHERE amount = 10.15
Complete Example
Here's a more complete example showing how to use decimal values in a WHERE clause −
DATA: lt_sales TYPE TABLE OF sflight,
ls_sales TYPE sflight.
SELECT * FROM sflight INTO TABLE lt_sales
WHERE price = 422.94.
LOOP AT lt_sales INTO ls_sales.
WRITE: / ls_sales-carrid, ls_sales-connid, ls_sales-price.
ENDLOOP.
Important Notes
Incorrect Usage: Using comma as decimal separator will cause syntax errors −
" This will NOT work SELECT * FROM sflight INTO TABLE lt_sales WHERE price = 422,94. " Syntax error
Correct Usage: Always use dot notation for decimal values in ABAP SQL statements, ensuring compatibility across different regional settings and preventing runtime errors.
