Copybooks should be used only to share data definitions or logic. The following keywords relate to the nature or structure of a COBOL program, and should be defined directly in the source code of the COBOL program:


* ``++IDENTIFICATION DIVISION.++``
* ``++PROGRAM-ID xxxxxxxx.++``
* ``++AUTHOR. yyyyyyyyyyy.++``
* ``++INSTALLATION.  zzzzzz.++``
* ``++DATE-WRITTEN. zzzzzz.++``
* ``++DATE-COMPILED. zzzzzz.++``
* ``++ENVIRONNEMENT DIVISION.++``
* ``++CONFIGURATION SECTION.++``
* ``++SOURCE-COMPUTER. xxxxxx.++``
* ``++OBJECT-COMPUTER. xxxxxx.++``
* ``++SPECIAL-NAMES. DECIMAL-POINT IS COMMA.++``
* ``++I-O CONTROL.++``
* ``++FILE-CONTROL.++``
* ``++SELECT …++``
* ``++DATA DIVISION.++``
* ``++FILE SECTION.++``
* ``++WORKING-STORAGE SECTION.++``
* ``++SCREEN.++``
* ``++REPORT.++``
* ``++INPUT-OUTPUT SECTION.++``
* ``++LINKAGE SECTION.++``
* ``++PROCEDURE DIVISION.++``


== Noncompliant Code Example

----
LINKAGE SECTION.
COPY CSCEMOD1.
MOVE A TO B
----


== Compliant Solution

----
LINKAGE SECTION.
COPY CSCEMOD1.
PROCEDURE DIVISION
COPY CSCEMOD2.
MOVE A TO B
----



ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

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