== Why is this an issue?

This rule applies whenever an ``++IF++`` statement is followed by one or 

more ``++ELSEIF++`` statements; the final ``++ELSEIF++`` should be followed by an ``++ELSE++`` statement.


The requirement for a final ``++ELSE++`` statement is defensive programming. 

The ``++ELSE++`` statement should either take appropriate action or contain 

a suitable comment as to why no action is taken. This is consistent with the 

requirement to have a final ``++OTHERS++`` clause in a ``++CASE++``

statement. 

=== Noncompliant code example

[source,abap]
----
IF RESULT > 0.
  PERFORM do_something.
ELSEIF RESULT = 0.
  PERFORM do_something_else.
ENDIF.
----

=== Compliant solution

[source,abap]
----
IF RESULT > 0.
  PERFORM do_something.
ELSEIF RESULT = 0.
  PERFORM do_something_else.
ELSE.
  PERFORM error.
ENDIF.
----


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
