Having all branches in a ``++CASE++`` or ``++IF++`` chain with the same implementation is an error. Either a copy-paste error was made and something different should be executed, or there shouldn't be a ``++CASE++``/``++IF++`` chain at all.

== Noncompliant Code Example

[source,abap]
----
IF a >0.
    doSomething.
ELSE IF b> 0.
    doSomething.
ELSE.
    doSomething.
ENDIF.

CASE i.
  WHEN 1 OR 3.
    doSomething.
  WHEN 2.
    doSomething.
  WHEN OTHERS.
        doSomething.
ENDCASE.
----

== Exceptions

Note that this rule does not apply to ``++IF++`` chains without final ``++ELSE++``-s, or to ``++CASE++``-s without ``++WHEN OTHERS++`` clauses.


----
IF a >0.   "no issue, this could have been done on purpose to make the code more readable
    doSomething.
ELSEIF b> 0.
    doSomething.
ENDIF.
----

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

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

include::../message.adoc[]

include::../highlighting.adoc[]

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

include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]
