Nested ``++IF++``, ``++CASE++``, ``++DO++``, ``++LOOP++``, ``++SELECT++``, ``++WHILE++`` and ``++PROVIDE++`` statements is a key ingredient for making what's known as "Spaghetti code".


Such code is hard to read, refactor and therefore maintain.

== Noncompliant Code Example

With the default threshold of 3:

[source,abap]
----
IF param1 = 2.
  IF param2 = 4.
    DO 3 TIMES.    "Compliant - depth = 3, not exceeding the limit
      IF sy-index = 2.   "Noncompliant - depth = 4
        CONTINUE.
      ENDIF.
      WRITE sy-index.
    ENDDO.
  ENDIF.
ENDIF.
----

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

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

include::../message.adoc[]

include::../parameters.adoc[]

include::../highlighting.adoc[]

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

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