Conditions
Quick answer
Keep conditions readable, prefer clear structure and CASE over deeply nested IFs, and use IS INITIAL rather than comparing to literals.
Key takeaways
- ABAP supports the usual comparisons (=, <>,, =) and combinations with AND, OR, NOT, plus useful predicates like IS INITIAL…
- It is basic but the correctness of business logic hinges on getting conditions right.
- Watch out: Deeply nested IFs that obscure logic; use CASE.
IF and CASE
IF lv_amount > 10000 AND lv_currency = 'USD'.
lv_approval = 'MANAGER'.
ELSEIF lv_amount > 1000.
lv_approval = 'TEAMLEAD'.
ELSE.
lv_approval = 'AUTO'.
ENDIF.
CASE lv_status.
WHEN 'O'. WRITE 'Open'.
WHEN 'C'. WRITE 'Closed'.
WHEN OTHERS. WRITE 'Unknown'.
ENDCASE.Logical expressions
ABAP supports the usual comparisons (=, <>, <, >, <=, >=) and combinations with AND, OR, NOT, plus useful predicates like IS INITIAL (empty/zero), IS BOUND (a reference is set), BETWEEN, and IN (for ranges/select-options). Modern ABAP adds COND and SWITCH expressions for inline conditional values.
Modern conditional expressions
DATA(lv_label) = COND string( WHEN lv_amt > 0 THEN 'Positive' ELSE 'Non-positive' ).
DATA(lv_txt) = SWITCH string( lv_status WHEN 'O' THEN 'Open' ELSE 'Other' ).Clarity over cleverness
Keep conditions readable, prefer clear structure and CASE over deeply nested IFs, and use IS INITIAL rather than comparing to literals. Readable conditions are less likely to hide business-logic bugs.
Common pitfalls
- Deeply nested IFs that obscure logic; use CASE.
- Comparing to '' or 0 instead of IS INITIAL.
- Missing WHEN OTHERS in CASE, unhandled values.
Want to learn this properly?
Our live, instructor-led SAP Training covers this hands-on, with real projects and a certification path.
Check your understanding
Which statement is true of Conditions?
- A. Modern ABAP adds COND and SWITCH expressions for inline conditional values.
- B. HANA security protects the database and its data through users, roles, privileges, encryption and auditing.
- C. File-based integration (often over SFTP) exchanges data as files, a simple, widely-supported, asynchronous…
Show answer
A. Modern ABAP adds COND and SWITCH expressions for inline conditional values.
Covered in the “Logical expressions” section of this lesson.
Which of these also applies to Conditions?
- A. Readable conditions are less likely to hide business-logic bugs.
- B. Using the wrong variant (create vs change vs display).
- C. Upgrading without reading the notes.
Show answer
A. Readable conditions are less likely to hide business-logic bugs.
Covered in the “Clarity over cleverness” section of this lesson.
Which part of the Learn SAP curriculum covers Conditions?
- A. SAP ABAP development
- B. SAP installation
- C. SAP TCodes
Show answer
A. SAP ABAP development
This lesson sits in the SAP ABAP development section of the Learn SAP course.