Changing procedural copybooks may potentially cause issues where many programs are pulled into a package for recompile and then a potential for bind issues during turnover. Having to edit procedural copybooks frequently causes delays in program maintenance as developers have to wait for another developer to complete their work. This also causes double work when programs get out of sync and a recent change could potentially be lost in a program.


== Noncompliant Code Example

----
PROCEDURE DIVISION.
  ...
  COPY MY_COPYBOOK.        <- Noncompliant
  ...
----


== Compliant Solution

----
PROCEDURE DIVISION.
  ...
  CALL MY_MACRO.        <- Compliant
  ...
----

