Historically ``++/COPY++`` procedures contained all of the specifications required for each procedure, so for example ``++xxxxF /COPY++`` would be used to copy the F lines from another ``++F++`` spec. However, this practice results in code that is difficult to understand and maintain. Instead, the use of ``++/COPY++`` statements should be replaced with explicit declarations.


== Noncompliant Code Example

Given the default list of specs, H,F,I,D,C,O:

[source,rpg]
----
F/COPY HRSILERPG,RSX36 
----


== Compliant Solution

[source,rpg]
----
FSSINRTP   IF   E           K DISK    INFSR(*PSSR) 
F*                                                 
F*  Interest Rates File                             
F*                                                 
----


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

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

include::message.adoc[]

include::parameters.adoc[]

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