Подскажите, пожалуйста, как откорректировать задание на глобальную корректировку PROVFGRT.GBL чтобы по аналогии перенести данные из 83 поля служебной записи во все записи типа DISC:
В БД VUZ загружен набор записей типа DISC.
Каждая запись содержит поле "3" с подполями Назв. дисц. и Идентификатор дисц.
Есть служебная запись в той же базе, в которой есть поле "83" с большим количеством повторений, каждое из которых содержит идентификатор дисциплины, аналогичный тому, который содержится в записях DISC, в поле "3" подполе "0".
Что соответствует действительности (в списке из 9000 повторений поля 83 служебной записи именно эти три повторения содержали подполе Z - идентификатор дисциплины)
Однако, при выполнении задания г.к.
ADD
83
<ФОРМАТ>
выходит сообщение об ошибке формата 57 (зацикливание). Т.к. кол-во повторений поля 83 в служебной записи около 9 с лишним тысяч, то формат в редакторе отрабатывается долго, но все-таки отрабатывается. А в г.к. нет. Почему так?
И еще, хотел уточнить момент. При попытке переноса 9000 повторений поля 83 из одной записи в другую, в итоге переносятся только 5001 повторение. С каким ограничением это связано?
Роман, во-первых, в форматере есть ограничение на кол-во повторений лбюого поля - это 5000. Во-вторых, при чем тут задание Provfgrt? Вы лучше просто сформулируйте, что вам надо. Я поняла, что есть записи DISC с полем 3 и записи с полями 83. Что из этого надо сделать? Опишите словами.
Попробую...
Нужно сформировать БД VUZ из БД Учебно-методического управления вуза.
Они используют (естественно) реляционную СУБД. Поэтому данные, необходимые нам содержатся в таблицах.
Из таблиц СУБД УМУ я получил две таблицы с необходимыми данными.
1. Содержит описательную и идентификационную части для Дисциплин (записей DISC)
2. Содержит данные о контингенте (учебных программах) использующих дисциплины, т.е. то, что обычно вводится в 83 поле, на основании чего в последующем ИРБИС создает записи типа DUNIK и VUZ.
Далее из первой таблицы сформировал записи DICS, из второй - служебную запись с 83 полем, которое нужно "раскидать" по записям DISC в соответствии с полем 3^0 DISC и полем 83^Z (соответствующих повторений) служебной записи SZPRF.
Задание Provfgrt имеет аналогичную логику с текущей задачей - перенести нужные повторения 83 поля из служебной записи в записи DISC, для того, чтобы в последствии создать штатным образом (средствами автоввода при удалении признака "не готово" в 83 поле каждой записи DISC) прочие записи - VUZ и DUNIK. Поэтому я сослался на него в своем сообщении, полагая, что так будет понятна идея. :)
Редактировано 2 раз. Последний раз 11.10.2011 16:43 пользователем А. Роман.
Provfgrt - это проверка фонда, по-моему, никак несхожая логика. Пришлите образцы записей типа DISC и контингентов. Я сделаю задание и включу в дистрибутив, т.к. это ситуация может возникать не только у вас. Ну, конечно, никаких DUNIK - это для версии 7.2 и ниже. Задание будет для последних версий.