== Why is this an issue? While ``++END++`` will adequately close a statement, it is less clear than the use of the relevant, statement-specific ``++ENDxx++``. Thus, the statement-specific version is preferred to facilitate code maintenance and enhance clarity. This rule is applied to the following operations: ``++CASxx++``, ``++DO++``, ``++DOU++``, ``++DOUxx++``, ``++DOW++``, ``++DOWxx++``, ``++FOR++``, ``++IF++``, ``++IFxx++`` and ``++SELECT++`` groups. === Noncompliant code example [source,rpg] ---- C W0PKEX DOUEQ W0ON ... C END C W0PKEX IFEQ W0ON ... C END ---- [source,rpg] ---- /free if x = 1; ... end; /end-free ---- === Compliant solution [source,rpg] ---- C W0PKEX DOUEQ W0ON ... C ENDDO C W0PKEX IFEQ W0ON ... C ENDIF ---- [source,rpg] ---- /free if x = 1; ... endif; /end-free ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Use the "[ENDxx]" statement to close this [xxx] clause. endif::env-github,rspecator-view[]