Система автоматизации библиотек ИРБИС

       

Примеры составления заданий на пакетную корректировку


Пример 1. Для каждой записи заданного фрагмента выполнить следующие действия:

·

В повторениях поля экземпляров (метка поля 910) удалить те повторения, у которых в подполе статуса экземпляра (подполе ^A) содержится значение “6”, т.е. экземпляр списан.

·         Удаляемые из поля 910 повторения сохранить в поле архивных данных о выбытии (метка поля 940).

·         Перенести в поле общего примечания (метка поля 300), предварительно его очистив, некоторые данные о первом авторе (метка поля 700): фамилию (подполе ^A), через пробел инициалы (подполе ^B), через знак тире неотъемлемую часть имени (подполе ^1) и в скобках даты жизни (подполе ^F).

·         Заменить в повторениях поля экземпляров (метка поля 910), у которых значение места хранения “ФО-26” (подполе ^D),  дату поступления (подполе ^C) на новую дату “20021206”.

·         Заменить во всех повторениях поля экземпляров (метка поля 910) значение места хранения “ФМЗ” (подполе ^D) на новое значение “ФМЗ-1”.

Задание на пакетную обработку:

0

ADD

940

 (if p(v910) then if v910^A='6' then v910 fi fi/)

REP



910

F

(if p(v910) then if v910^A='6' then # else v910 fi fi/)

DEL

300

*

ADD

300

v700^A," "v700^B," - "v700^1,"("v700^F")"

CHA

910

F

(v910^C/)

(if p(v910) then if v910^D: 'ФО-26' then '20021206' else v910^C fi fi/)

CHA

910^D

*

'ФМЗ'

'ФМЗ-1'

Пример 2. Для каждой записи заданного фрагмента выполнить следующие действия:

Если в одном из повторений поля ГРНТИ (метка поля 964) содержится значение “14”, то выполнить несколько операторов:

·         добавить поле 621 со значением “141”;

·         добавить поле 606 со значением “Физика”;

·         удалить поле 690.

Если в одном из повторений поля УДК (метка поля 675) содержится индекс “37(470.311)”, то создать новую запись в базе данных CMPL, в которой надо сформировать поля:


·         метка 675 – значение этого индекса;
·         метка 920 – значение ‘PAZK’;
·         метка 200 – значение из исходной записи;
·         метка 700 – значение из исходной записи;
·         метка 910 – все повторения из исходной записи.
Задание на пакетную обработку:
0
IF
if (v964|!|): '14!' then '1' else '0' fi
ADD
621
'141'
ADD
606
'Физика'
DEL
690
*
FI
NEWMFN
if (v675|!|): '37(470.311)!' then 'CMPL' else '' fi
ADD
675
'37(470.311)'
ADD
920
'PAZK'
ADD
200
v200
ADD
700
v700
ADD
910
(v910/)
END
 
Пример 3. Для каждой записи заданного фрагмента выполнить следующие действия:
·         Если в поле кода рабочего листа (метка поля 920) содержится значение “SPEC”, то для всех значений индекса УДК (метка поля 675) отобрать в той же БД записи с этими индексами УДК (значения индексов без учечения).
·         В отобранные записи добавить все повторения поля экземпляров (метка поля 910) из основной записи.
·         В основной же записи повторения поля экземпляров удалить.
Задание на пакетную обработку:
0
CORREC
if v920='SPEC' then '*' else '' fi
(v910/)
(|U=|v675/)
ADD
910
(v1001/)
DEL
1001
*
END
DEL
910
*
Пример 4. Для каждой записи заданного фрагмента выполнить следующие действия:
Во всех экземплярах (метка поля 910) заменить значение места хранения (подполе ^D) “XP” на значение “ОФ” и значение “ФМЗ” на значение “БИНТ”. Это можно выполнить с помощью задания, в котором жестко указываются эти значения, а именно
0
CHA
910^D
*
‘ХР’
‘ОФ’
CHA
910^D
*
‘ФМЗ’
‘БИНТ’
Можно составить задание для общего случая замены старых значений мест хранения на новые, используя возможность работы с параметрами.


Например, для замены значений двух разных мест хранения на новые значения нужно определить 4 параметра, причем вводить их можно, используя справочник с именем mhr.mnu.
Задание на пакетную обработку:
4
mhr.mnu
Старое значение (1)
mhr.mnu
Новое значение (1)
mhr.mnu
Старое значение (2)
mhr.mnu
Новое значение (2)
REP
910^d
F
(if p(v910) then if v910^d='%1' then '%2'else if v910^d='%3' then '%4' else v910^d fi fi fi/)
Пример 5. Для каждой записи заданного фрагмента выполнить следующие действия:
Создать в БД ‘CMPL’ новую запись, которая является копией исходной, изменив в ней:
·         Код рабочего листа (метка поля 920) заменить на ‘ZK’.
·         Год издания (метка поля 210, подполе ^D) заменить на 2002.
·         Объем (метка поля 215, подполе ^A) заменить на 500.
·         Удалить все повторения поля  “Каталогизатор, дата” (метка поля 907) и добавить новое значение, задав этап работы, дату и ФИО.
Исходную запись при этом удалить.
Задание на пакетную обработку:
0
NEWMFN
'CMPL'
ALL
REP
920
*
'ZK'
REP
210^D
*
'2002'
REP
215^A
*
'500'
DEL
907
*
ADD
907
'^CПК^A20020524^BДСМ'
END
DELR
 

Содержание раздела