== Why is this an issue?

Passing parameters by reference instead of by value avoids the overhead of making a copy. Passing arguments via copy should only be done when it is technically mandated, as it is for example with RFC function modules.

=== Noncompliant code example

[source,abap]
----
PERFORM subr USING a1 a2 a3 a4 a5.
----

=== Compliant solution

[source,abap]
----
PERFORM subr CHANGING a1 a2 a3 a4 a5.
----

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[]
