Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Задачки для любознательных :  ИРБИС Irbis
 
Перенос статусов экземпляров в другую БД
Пользователь: akovalev (IP-адрес скрыт)
Дата: 13, March, 2020 15:33

Здравствуйте, коллеги!
Возникла интересная задача. Есть 2 сервера Ирбис с одинаковыми базами ЭК. На одном из них (А) выполняется книговыдача. Требуется на другом сервере (Б) отметить результаты книговыдачи за день (поменять статусы экземпляров).

Предполагаю такой путь решения:
1) экспорт БД RDR на сервере А с ТВП
1 0 (if p(v40) then if v40^d='20200310' then v40 fi fi /)
2) импорт этого файла на сервер Б в промежуточную БД
3) глобальная корректировка по этой базе.
0
CORREC
'IBIS'
(if p(v1) then v1 fi/)
(if p(v1) then "IN="v1^b fi /)

REP
910^a
F
(if p(v910) then if p(v910^b) then if v910^b=v1001^b then '1' else v910^a fi else # fi fi /)
XXXXXXXXXXXXXXXXXXX
DEL
1001
*
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
END

Но эта корректировка почему-то не работает. Проверял на записи из вложения. Поиск по словарю IN= выдает одну запись.
Помогите, пожалуйста!

С уважением,
Александр Ковалев

Вложения: kv.TXT (238 bytes)  
Re: Перенос статусов экземпляров в другую БД
Пользователь: ochagova (IP-адрес скрыт)
Дата: 16, March, 2020 10:59

Но ведь поле v1 повторяющееся? Поэтому, странно, что хоть на одной записи отрабатывает.
Конструкция
CORREC
'IBIS'
(if p(v1) then v1 fi/)
(if p(v1) then "IN="v1^b fi /)
работает с единственными параметрами.
Нодо использовать цикл:
REPEAT
CORREC
'IBIS'
&uf('Av1#1')
'IN=',,&uf('Av1#1')

. . . . . .
DEL
1
1


UNTIL
if p(v1) then '1' fi

Re: Перенос статусов экземпляров в другую БД
Пользователь: akovalev (IP-адрес скрыт)
Дата: 18, March, 2020 15:07

Спасибо большое!
Правильно ли я понимаю, что для того, чтобы в промежуточной базе не оставались после выполнение корректировке пустые записи, надо после UNTIL поставить DELR?

Re: Перенос статусов экземпляров в другую БД
Пользователь: ochagova (IP-адрес скрыт)
Дата: 18, March, 2020 17:45

Правильно, по после DERL останутся не пустые записи, а логически удаленные

Re: Перенос статусов экземпляров в другую БД
Пользователь: akovalev (IP-адрес скрыт)
Дата: 20, March, 2020 13:54

Спасибо! Все заработало.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.