Cтраница 2
Для прямого файла ключ указывается во фразе ФАКТИЧЕСКИЙ КЛЮЧ, для относительного файла - во фразе НОМИНАЛЬНЫЙ КЛЮЧ, для индексного файла - во фразе КЛЮЧ ЗАПИСИ. При произвольном доступе к индексному файлу требуется определить ( во фразе НОМИНАЛЬНЫЙ КЛЮЧ) еще один ключ, значение которого будет указывать, какую запись требуется, например, извлечь из файла. [16]
Ситуация INVALID KEY ( ПРИ ОШИБКЕ КЛЮЧА) получает управление при последовательном создании относительного файла, если для очередной выдаваемой записи не хватает места, выделенного на устройстве массовой памяти. Это место определяется в языке управления операционной системы и должно иметь размер, равный или превосходящий размер, необходимый для размещения всех записей нового файла. После того как файл закрыт, его границы устанавливаются в точном соответствии с числом занесенных записей, и в этот файл впоследствии нельзя будет добавить ни одной новой записи. Относительный файл должен создаваться без блокирования записей, хотя в нем допускаются записи переменной длины. [17]
Фраза НОМИНАЛЬНЫЙ КЛЮЧ используется для осуществления произвольного доступа к индексному и ( только для ОС ЕС) относительному файлу. Для индексного файла фраза определяет ключ извлекаемой записи. Для относительного файла она определяет номер ( начиная с нуля) выбираемой записи относительно начала файла. [18]
Составьте таблицу для преобразования аргумента, представляющего собой восьмизначный идентификационный код, хранящийся в записи изменений, в значение относительного ключа для 1000 записей, хранящихся в относительном файле. В предположении, что эта таблица загружена во внутреннюю память с нужными значениями, напишите процедуру выполнения преобразования. [19]
Фраза В БЛОКЕ не применима для файлов на устройствах одиночных записей, для последовательных файлов с записями формата U, для прямых и ( только для ОС ЕС) относительных файлов, так как для таких файлов блокирование записей не допускается. Для таких файлов эта фраза воспринимается транслятором как комментарий. [20]
Последовательный доступ к относительному файлу в ОС ЕС применим при создании и чтении файла. Относительный файл может быть создан только последовательно. При создании относительного файла может быть указана фраза НОМИНАЛЬНЫЙ КЛЮЧ. [21]
Последовательно организованные файлы на магнитной ленте или диске могут быть прочтены с помощью любой другой программы, предполагающей использование стандартных меток независимо от того, написана ли она на Фортране, Коболе, языке Ассемблера, ВРОили PL / I. Файлы с произвольной организацией данных соответствуют относительным файлам в Коболе. [22]
Обновляемая запись, хранящаяся в относительном файле, определяется путем занесения ее номера в относительный ключ. Обычно процесс обновления состоит из считывания записи изменений, затем использования этой записи в качестве основы для чтения записи из относительного файла, изменения считанной записи и занесения ее обратно в файл. Один из путей определения местонахождения записей в относительном файле состоит в использовании некоторого данного в записи изменений для определения значения относительного ключа. Например, значение относительного ключа нужной записи могло бы быть определено с помощью данного EMPLOYEE - IDENTIFICATION - NUMBER ( ИДЕНТИФИКАЦИ-ОННЫЙ-НОМЕР-СОТРУДНИКА), если его значение было бы заключено между 0001 и 5000 для сотрудников небольшого учреждения. [23]
Фраза НОМИНАЛЬНЫЙ КЛЮЧ используется для осуществления произвольного доступа к индексному и ( только для ОС ЕС) относительному файлу. Для индексного файла фраза определяет ключ извлекаемой записи. Для относительного файла она определяет номер ( начиная с нуля) выбираемой записи относительно начала файла. [24]
После того как относительный файл создан, записи можно читать и обновлять. Размер записи, заносимой в файл после обновления, не должен превышать размера исходной записи, записанной при создании файла. Следовательно, относительный файл не может быть создан и обновлен в одной и той же программе. [25]
Последовательный доступ к относительному файлу в ОС ЕС применим при создании и чтении файла. Относительный файл может быть создан только последовательно. При создании относительного файла может быть указана фраза НОМИНАЛЬНЫЙ КЛЮЧ. [26]
Обновляемая запись, хранящаяся в относительном файле, определяется путем занесения ее номера в относительный ключ. Обычно процесс обновления состоит из считывания записи изменений, затем использования этой записи в качестве основы для чтения записи из относительного файла, изменения считанной записи и занесения ее обратно в файл. Один из путей определения местонахождения записей в относительном файле состоит в использовании некоторого данного в записи изменений для определения значения относительного ключа. Например, значение относительного ключа нужной записи могло бы быть определено с помощью данного EMPLOYEE - IDENTIFICATION - NUMBER ( ИДЕНТИФИКАЦИ-ОННЫЙ-НОМЕР-СОТРУДНИКА), если его значение было бы заключено между 0001 и 5000 для сотрудников небольшого учреждения. [27]
Ситуация INVALID KEY ( ПРИ ОШИБКЕ КЛЮЧА) получает управление при последовательном создании относительного файла, если для очередной выдаваемой записи не хватает места, выделенного на устройстве массовой памяти. Это место определяется в языке управления операционной системы и должно иметь размер, равный или превосходящий размер, необходимый для размещения всех записей нового файла. После того как файл закрыт, его границы устанавливаются в точном соответствии с числом занесенных записей, и в этот файл впоследствии нельзя будет добавить ни одной новой записи. Относительный файл должен создаваться без блокирования записей, хотя в нем допускаются записи переменной длины. [28]
Фраза USAGE для NOMINAL KEY не должна содержать варианта DISPLAY, СОМР-1 или СОМР-2. Если обрабатывается индексно-после-довательный файл, фраза PICTURE не может иметь длину более 255 байт. Если обрабатывается относительный файл, эта фраза должна содержать 8 двоичных цифр. [29]
При создании файла инвентаризации в него заносится 60000 записей, по одной записи на каждый различный товар, подлежащий инвентаризации. Девятизначный ITEM-CODE ( КОД-ТОВАРА) используется для идентификации каждого отдельного инвентаризуемого товара. КОБОЛ-программа, приведенная на рис. 10.3, создает файл и заносит в него 60000 фиктивных записей. В секции ESTABLISH-FILE SECTION этой подготовительной программы в ITEM-CODE помещаются все десятки, а в оставшуюся часть записи - все пробелы. Размер относительного файла не может быть увеличен после выполнения оператора CLOSE ( ЗАКРЫТЬ) в создающей его программе. [30]