Cтраница 4
Когда требуется прекратить ввод строк данных, следует ввести пустую строку, нажав клавишу ВВОД. В результате установится среда редактирования и на пульт ВМ будет выдано сообщение СРЕДА РЕДАК. Для этого следует ввести подкоманду ТОР, чтобы установить в качестве текущей записи фиктивную запись НАЧАЛО ФАЙЛА. Затем, если установлен режим отображения протокола редактирования, с помощью подкоманды TYPE можно вывести весь файл на пульт ВМ. [46]
В результате умножения двух чисел для различных пар аргументов могут встречаться одинаковые результаты. Если произошло дублирование, обновляющая программа начинает поиск в файле инвентаризации до тех пор, пока не будет найдена фиктивная запись или пока не будет обнаружено точное совпадение всех девяти цифр кода-товара. Заметьте, что этот поиск существенно отличается от последовательного, так как он осуществляется путем повторного добавления 1 к относительному ключу и чтения очередной записи из файла. [47]
Последовательный доступ к прямому файлу в ОС ЕС применим при создании и чтении прямого файла. При последовательном создании прямого файла требуется указать фразу ФАКТИЧЕСКИЙ КЛЮЧ. Данные записываются последовательно, но если программисту требуется изменить номер дорожки, он должен перед выполнением оператора ПИСАТЬ изменить значение идентификатора дорожки в поле ФАКТИЧЕСКИЙ КЛЮЧ. Если номер дорожки в идентификаторе дорожки поля ФАКТИЧЕСКИЙ КЛЮЧ больше номера последней дорожки, на которую производилась запись, остаток последней дорожки и все промежуточные дорожки будут заполнены фиктивными записями при фиксированном ( F) формате записей данных или инициализированы при неопределенном ( U), переменном ( V) и сегментированном ( S) форматах записей данных файла. [48]
Этот номер, как было сообщено ранее, состоит из двух цифр года, трех цифр дня и двух цифр номера и используется в процессе обновления, будучи помещен в код-файла-изменений ( UPDATED-BY-TRANS-FTLE) обновляемой записи инвентаризации. Что-то подобное обязательно требуется при произвольном доступе, так как при прерывании выполнения программы должна быть предусмотрена какая-то возможность запустить программу заново без повторного обновления уже обновленных записей. При каждом требуемом повторном запуске программы подпрограмма, вызванная с помощью оператора CALL, может проверять код-файла-изменений, содержащийся в записи инвентаризации, с тем, чтобы узнать, была ли уже обработана эта запись во время текущего прогона программы. Остальные записи файла изменений содержат код-действия ( ACTION-CODE), указывающий, какого типа обработка должна быть выполнена для этой записи: удаление соответствующей записи инвентаризации, модификация значений данных соответствующей записи инвентаризации или добавление рассматриваемой записи в качестве новой записи вместо одной из фиктивных записей. Девятизначный код ITEM-CODE в записи изменений либо указывает на соответствующую запись в файле инвентаризации, либо представляет собой номер, используемый для замены девяти девяток. [49]
Последовательный доступ к относительному файлу в ОС ЕС применим при создании и чтении файла. Относительный файл может быть создан только последовательно. При создании относительного файла может быть указана фраза НОМИНАЛЬНЫЙ КЛЮЧ. Фиктивные записи идентифицируются наличием значения стандартной константы НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ в первом байте записи. [50]
В самом деле, любой файл может оказаться пустым. Если к каждому файлу добавить фиктивную запись, содержащую большое значение ключа, и больше никакой информации, то все проверки, которые нам будет нужно проводить, мы сможем осуществлять путем сравнения ключей. [51]