Организация спецификаций Кобола в настоящем документе базируется на понятии функционального обрабатывающего модуля. В языке выделены одиннадцать функциональных обрабатывающих модулей:
ядро;
последовательный ввод-вывод;
относительный ввод-вывод;
индексный ввод-вывод;
межпрограммные связи;
сортировка-слияние;
обработка исходных текстов;
генератор отчетов;
коммуникации;
отладка;
сегментация.
Девять из модулей, как указано ниже, содержат элементы, которые в модуле разделены на элементы уровня 1 и элементы уровня 2. Элементы уровня 1 модуля являются подмножеством элементов уровня 2 того же модуля; два модуля содержат только элементы уровня 1.
Модуль ядра содержит элементы языка для внутренней обработки данных в базисной структуре четырех разделов программ. Ядро также содержит элементы языка для определения таблиц и доступа к ним. Элементы ядра разделены на два уровня. Уровень 1 ядра содержит элементы, необходимые для выполнения основных внутренних операций, т.е. элементарные варианты различных фраз и операторов. Уровень 2 ядра обеспечивает более широкие возможности внутренней обработки данных.
Модуль последовательного ввода-вывода содержит элементы языка для определения файлов с последовательной организацией и доступа к ним. Элементы модуля последовательного ввода-вывода разделены на два уровня. Уровень 1 модуля последовательного ввода-вывода включает элементы для основных возможностей определения и доступа к последовательным файлам. Уровень 2 модуля последовательного ввода-вывода содержит элементы для полных возможностей определения и доступа к последовательным файлам.
Модуль относительного ввода-вывода содержит элементы языка для определения файлов массовой памяти, записи которых идентифицируются своими относительными номерами, доступа к ним. Элементы модуля относительного ввода-вывода разделены на два уровня. Уровень 1 относительного ввода-вывода содержит элементы для основных возможностей определения файлов с относительной организацией и доступа к ним. Уровень 2 относительного ввода-вывода содержит элементы для более полных возможностей, включающих возможность как произвольного, так и последовательного доступа к файлу в одной и той же программе Кобола.
Модуль индексного ввода-вывода содержит элементы языка для определения файлов массовой памяти и доступа к ним. Записи этих файлов идентифицируются значением ключа и доступны посредством индекса. Элементы модуля индексного ввода-вывода разделены на два уровня. Уровень 1 индексного ввода-вывода содержит элементы для основных возможностей определения и доступа к индексным файлам. Уровень 2 индексного ввода-вывода содержит элементы для более полных возможностей, включающих дополнительные ключи и возможность как произвольного, так и последовательного доступа к файлу в одной и той же программе Кобола.
Модуль межпрограммных связей содержит элементы языка, позволяющие программе поддерживать связь с одной или несколькими другими программами. Элементы модуля межпрограммных связей разделяются на два уровня. Уровень 1 межпрограммных связей предоставляет элементы для передачи управления другой программе, известной во время компиляции, и для доступа к определенным общим данным в обеих программах. Уровень 2 межпрограммных связей предоставляет элементы для передачи управления другой программе, не идентифицированной во время компиляции, и для обеспечения вложенности программ.
Модуль сортировки-слияния содержит элементы языка для упорядочения одного или нескольких файлов. Модуль сортировки-слияния также содержит элементы языка для соединения двух или более идентично упорядоченных файлов. По желанию пользователь может применить некоторую специальную обработку к каждой из отдельных записей посредством процедур ввода или вывода. Модуль сортировки-слияния содержит элементы только одного уровня.
Модуль обработки исходного текста содержит элементы языка для вставки и замены текста исходной программы как части компилируемой исходной программы. Элементы модуля обработки исходного текста разделены на два уровня. Уровень 1 модуля предоставляет возможность копирования текста в исходную программу из единственной библиотеки. Уровень 2 данного модуля предоставляет дополнительные возможности изменения библиотечного текста в процессе копирования, определения нескольких библиотек Кобола во время компиляции и изменения текста исходной программы.
Модуль генератора отчетов содержит элементы языка для полуавтоматического производства печатных отчетов. Модуль генератора отчетов содержит элементы только одного уровня.
Модуль коммуникаций содержит элементы языка для получения, обработки и создания сообщений или их частей и для связи с коммуникационными устройствами при помощи системы управления сообщениями. Элементы модуля коммуникаций разделены на два уровня. Уровень 1 коммуникаций предоставляет элементы для основных возможностей передачи или получения полных сообщений. Уровень 2 коммуникаций предоставляет элементы для более широких возможностей, включающих возможность посылать или получать сегменты сообщения.
Модуль отладки предоставляет средства, при помощи которых пользователь может указывать свой алгоритм отладки - условия, при которых данные или процедуры контролируются во время выполнения программы. Элементы модуля отладки разделяются на два уровня. Уровень 1 модуля отладки предоставляет основные возможности отладки, включающие возможность указывать выборочное или полное контролирование параграфов. Уровень 2 модуля отладки предоставляет полные возможности отладки в языке Кобол.
Модуль сегментации обеспечивает совмещение памяти для секций раздела процедур во время выполнения. Элементы модуля сегментации разделены на два уровня. Уровень 1 сегментации предусматривает номера сегментов секций и фиксированные границы сегментов. Уровень 2 сегментации добавляет средства изменения границы сегментов.