Entering a condition to perform SELECT in an existing report in SAP system

When working with SAP ABAP SELECT statements, you need to be careful with spacing and syntax, especially when adding complex conditions. One of the most common mistakes is improper spacing around brackets and logical operators in WHERE clauses.

Adding Complex Conditions to SELECT Statements

In ABAP, proper spacing is crucial for the parser to correctly interpret your code. When combining multiple conditions with logical operators like AND, OR, and NOT, ensure you have adequate spaces before and after brackets and operators.

Example

Here's how to properly structure a SELECT statement with multiple conditions including a NOT clause ?

SELECT SINGLE * FROM EKPO
WHERE EBELN = GT_MSEG-EBELN AND EBELP = GT_MSEG-EBELP
AND NOT ( F1 = 'value' AND F2 = '0' )

Key points to remember:

  • Always include spaces around logical operators (AND, OR, NOT)
  • Ensure proper spacing before and after parentheses
  • Use parentheses to group related conditions for clarity
  • The NOT operator applies to the entire condition within the following parentheses

Breaking Down the Condition

The above SELECT statement performs the following logic ?

WHERE EBELN = GT_MSEG-EBELN           " First condition
AND EBELP = GT_MSEG-EBELP             " Second condition  
AND NOT ( F1 = 'value' AND F2 = '0' ) " Exclude records where both F1='value' AND F2='0'

This will select records from the EKPO table where the purchase order number and item match the internal table values, but excludes any records where field F1 equals 'value' AND field F2 equals '0' simultaneously.

Conclusion

Proper spacing and parentheses placement in ABAP SELECT statements ensures correct parsing and execution of complex conditional logic, helping you avoid common syntax errors when filtering data from SAP tables.

Updated on: 2026-03-13T18:03:52+05:30

168 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements