== Why is this an issue?

Having all branches of a `CASE` or `IF` chain with the same implementation indicates a problem.

In the following code:

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

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

Either there is a copy-paste error that needs fixing or an unnecessary `CASE` or `IF` chain that needs removing.

=== Exceptions

This rule does not apply to `IF` chains without final `ELSE`, nor to `CASE` without a `WHEN OTHERS` clause.


[source,abap]
----
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[]
