| IFlogical-condition | |||||
| [ THEN]
                           																statement  | |||||
| [ ELSEstatement ] | |||||
| END-IF | 
| IFlogical-condition | |||||
| [ THEN] | 
 | statement | 
 | ||
| DOstatement  DOEND | |||||
| 
 | ELSE | 
 | statement |   |   | 
| DOstatement  DOEND | |||||
This document covers the following topics:
For explanations of the symbols used in the syntax diagram, see Syntax Symbols.
Related Statements: DECIDE
                        								FOR | DECIDE
                        								ON | IF
                        								SELECTION | ON
                        								ERROR 
               
Belongs to Function Group: Processing of Logical Conditions
The IF statement is used to control execution of a
                  										statement or group of statements based on a logical condition.
               
Note:
 If no action is to be performed in case the condition is met,
                     										you must specify the statement IGNORE in the THEN
                     										clause.
                  
| Syntax Element | Description | 
|---|---|
| IF
                              																		logical-condition | Logical Condition Criterion: The logical condition which is used to determine whether
                              																				the statement or statements specified with the  Examples: IF #A = #B IF LEAVE-TAKEN GT 30 IF #SALARY(1) * 1.15 GT 5000 IF SALARY (4) = 5000 THRU 6000 IF DEPT = 'A10' OR = 'A20' OR = 'A30' For further information, see the section Logical Condition Criteria (in the Programming Guide). | 
| THEN
                              																		statement | THEN Clause: In the  | 
| ELSE
                              																		statement | ELSE Clause: In the  | 
| END-IF | END of IF Statement: In structured mode, the Natural reserved word
                              																				 In reporting mode, use the  | 
** Example 'IFEX1S': IF (structured mode)                               
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 PERSONNEL-ID                                                        
  2 NAME                                                                
  2 FIRST-NAME                                                          
  2 SALARY (1)                                                          
  2 BIRTH                                                               
1 VEHIC-VIEW VIEW OF VEHICLES                                           
  2 PERSONNEL-ID                                                        
  2 MAKE                                                                
*                                                                       
1 #BIRTH (D)                                                            
END-DEFINE                                                              
*                                                                       
MOVE EDITED '19450101' TO #BIRTH (EM=YYYYMMDD)                          
SUSPEND IDENTICAL SUPPRESS                                              
LIMIT 20                                                                
*                                                            
FND. FIND EMPLOY-VIEW WITH CITY = 'FRANKFURT'                
          SORTED BY NAME BIRTH                               
  IF SALARY (1) LT 40000                                     
    WRITE NOTITLE '*****' NAME 30X 'SALARY LT 40000'         
  ELSE                                                       
    IF BIRTH GT #BIRTH                                       
      FIND VEHIC-VIEW WITH PERSONNEL-ID = PERSONNEL-ID (FND.)
        DISPLAY (IS=ON)                                      
                NAME BIRTH (EM=YYYY-MM-DD)                   
                SALARY (1) MAKE (AL=8)                       
      END-FIND                                               
    END-IF                                                   
  END-IF                                                  
END-FIND                                                     
END 
               								        NAME            DATE      ANNUAL     MAKE                      
                         OF       SALARY                               
                       BIRTH                                           
-------------------- ---------- ---------- --------                    
                                                                       
BAECKER              1956-01-05      74400 BMW                         
***** BECKER                                            SALARY LT 40000
BLOEMER              1979-11-07      45200 FIAT                        
FALTER               1954-05-23      70800 FORD                        
***** FALTER                                            SALARY LT 40000
***** GROTHE                                            SALARY LT 40000
***** HEILBROCK                                         SALARY LT 40000
***** HESCHMANN                                         SALARY LT 40000
HUCH                 1952-09-12      67200 MERCEDES                    
***** KICKSTEIN                                         SALARY LT 40000
***** KLEENE                                            SALARY LT 40000
***** KRAMER                                            SALARY LT 40000 
               								Equivalent reporting-mode example: IFEX1R.