Opracowano 01.05.2006
PROGRAM WYMKHW
Podczas katalogowania zawartoć niektórych pól (tzw. pól sterowanych przez
KHW) jest pobierana z kartoteki haseł wzorcowych; w kartotece tej każdy
opis zawiera jednoznaczny numer, który też powinien być kopiowany
wraz z kopiowanym polem. W wyniku takiego działania w każdym dokumencie
bazy katalogowej może być wiele pól skopiowanych z bazy KHW, każde z tych
pól powinno zawierać numer identyfikujšcy wzorcowy rekord KHW; numery te
mogš być różne albo identyczne.
Program MAK umożliwia kopiowanie pól z KHW wraz z numerem
identyfikacyjnym. Do okreenia sposobu kopiowania służy opcja HW
w bazospisie. Gdy w KHW treć kopiowanych pól zmieni się, odpowiednie zmiany
powinny być uwzględnione w bazie katalogowej.
Program WYMKHW służy do wymiany w bazie pól
sterowanych kartotekš haseł wzorcowych; identyfikatorem łšczšcym takie pola w
dokumentach bazy z dokumentami w KHW jest jednoznaczny numer wpisany do
dokumentów KHW. Do okrelenia sposobu kopiowania pola z KHW służy - tak
jak przy wprowadzaniu dokumentów - parametr HW w bazospisie (zob. opis tego
parametru). W bazie katalogowej pola sterowane przez KHW mogš zawierać:
a) podpola kopiowane z KHW,
b) podpole (jedno) zawierajšce identyfikator KHW,
c) podpola dopisane przez użytkownika dla własnych potrzeb.
W zwišzku z kopiowaniem treci pól z KHW istnieje jeszcze jeden problem:
na końcu niektórych podpól w KHW sš czasem umieszczane znaki przestankowe,
takie jak kropka, przecinek itp. Po skopiowaniu tych podpól czasem te znaki
sš pozostawiane, czasem usuwane; także odwrotnie - czasem tych znaków nie
ma w KHW, a sš dodawane w bazie katalogowej. Zagadnienie to
jest omówione w punkcie "znaki specjalne".
Program WYMKHW zajmuje się tylko polami okrelonymi przez parametr
HW i zawierajšcymi identyfikator; w tych polach podpola mogš występować
w dowolnej kolejnoci, ponadto może nie być podpól z grup a) i c).
Dlatego program po stwierdzeniu, że w KHW nastšpiła zmiana (patrz także
punkt "znaki specjalne") wymienia takie pole kolejno wykonujšc:
sortowanie podpól w kolejnoci: a) - c), zachowujšc kolejnoć w ramach
grup a i c; wyjštkiem sš wskaniki, które pozostajš na poczštku, nawet
gdy nie sš kopiowane z KHW,
usunięcie wszystkich podpól grupy a,
dopisanie podpól z KHW zgodnie z deklaracjami okrelonymi przez HW.
Dzięki takiemu algorytmowi wszystkie podpola dopisane przez użytkownika
pozostajš niezmienione, choć sš przeniesione za identyfikator.
Powyższy opis dotyczy wymiany jednego pola w dokumencie; aby zaktualizować
całš bazę wg KHW użytkownik musi zaznaczyć w KHW wszystkie zmodyfikowane
dokumenty (albo całš bazę).
1. Znaki specjalne
Jak już wspomniano niektóre podpola w KHW mogš być zakończone znakami
specjalnymi: przecinkiem, kropkš, dwukropkiem, rednikiem, mylnikiem,
znakiem równoci lub kreskš ukonš. Przy przenoszeniu podpól z KHW znaki te
(w zależnoci od pola, do którego sš kopiowane) sš pozostawiane albo usuwane;
bywa także tak, że znaków tych nie ma w KHW, a sš dopisywane po skopiowaniu
podpola do bazy. Dopisywanie lub usuwanie znaków specjalnych jest wykonywane
(ręcznie) w czasie katalogowania; gdyby program WYMKHW porównywał całe
podpola, to dopisane lub usunięte znaki powodowałyby stwierdzenie
niezgodnoci tych podpól i ponowne wpisanie wartoci z KHW (z usuniętymi
znakami albo bez dopisanych znaków); dlatego program WYMKHW porównuje podpole
w bazie z podpolem w KHW wg jednej z poniższych zasad:
a) porównywany jest cały tekst albo
b) usuwane sš wszystkie znaki specjalne (także spacje) z końca podpola
i porównywane sš pozostałe teksty.
W przypadku stwierdzenia różnicy wymieniane jest (w zależnoci od sposobu
porównania):
a) całe podpole albo
b) tekst bez końcowych znaków specjalnych, które sš pozostawiane
(w bazie) bez zmian.
Domylnie dla wszystkich podpól stosuje się porównanie i wymianę całego
podpola (czyli działnia wg punktu a). Zastosowanie odpowiedniej opcji
(YM lub YN) w bazospisie pozwala okrelić podpola, dla których
przy porównaniu i wymianie odrzuca się końcowe znaki specjalne (czyli stosuje
się punkt b); opcje te majš następujšce znaczenie (użytkownik
oczywicie stosuje jednš z nich - tę, która jest w danym przypadku
wygodniejsza):
opcja YM=... powoduje stosowanie do wskazanych podpól punktu b,
a do pozostałych punktu a,
opcja YN=... powoduje stosowanie do wskazanych podpól punktu a,
a do pozostałych punktu b.
Należy o tym pamiętać, szczególnie przy wymianie wskaników (pominięty
wskanik jest często zastępowany kropkš).
2. Operowanie programem WYMKHW
Przed wykonaniem wymiany haseł należy stworzyć listę rekordów KHW, w
których kopiowane podpola zmieniły się; można to zrobić na przykład
wyszukujšc (i zaznaczajšc) rekordy zmodyfikowane po dniu, w którym uprzednio
dokonywano wymiany haseł. Można także uznać, że program ma przeglšdać całš
bazę KHW, ale to może pocišgać znacznš stratę czasu.
Po wystartowaniu programu WYMKHW należy ustalić dla jakich rekordów KHW
dokonujemy sprawdzenia i wymiany; należy więc:
wczytać listę zaznaczonych w KHW dokumentów albo
okrelić listę zaznaczonych w KHW dokumentów jako listę zewnętrznš albo
zaznaczyć całš bazę.
Następnie należy wykonać operację "Wymiana pól w dokumentach"; działanie
programu będzie następujšce:
wczytanie z KHW kolejnego dokumentu wg listy zaznaczonych dokumentów,
poszukanie w tym dokumencie identyfikatora; jeli brak - pominięcie
tego dokumentu KHW,
wczytywanie z bazy - wg indeksu identyfikatorów - kolejnych dokumentów,
które zawierajš ten identyfikator,
szukanie w przeczytanym dokumencie pól sterowanych przez KHW i
zawierajšcych dany identyfikator (pól takich może być kilka),
wymiana odpowiednich podpól, zgodnie z opisanym uprzednio algorytmem.
Jak z tego widać program opracowuje kolejne (zaznaczone) dokumenty KHW, dla
każdego z nich opracowuje odpowiednie dokumenty z bazy; jeli lista
dokumentów była wczytana, to po opracowaniu każdego dokumentu KHW jest on
usuwany z listy. W czasie trwania operacji wywietlany jest numer
opracowywanego dokumentu z KHW oraz numer opracowywanego dokumentu z bazy.
Program można przerwać (naciskajšc F10) po każdym opracowanym dokumencie
KHW i po każdym opracowanym dokumencie bazy. Jeli lista dokumentów została
wczytana, to po przerwaniu programu pozostaje lista nieopracowanych jeszcze
dokumentów; listę tę należy zapisać, aby można było jš ponownie wykorzystać.
3. Przygotowanie bazospisu
Program WYMKHW musi być startowany z bazospisem, w którym:
pierwsza baza powinna okrelać bazę, w której sš wymieniane pola,
druga baza powinna okrelać KHW,
tryb otwarcia bazy jest nieistotny (baza jest zawsze otwierana do
pełnej modyfikacji, bez kroniki, dlatego należy mieć jej aktualnš kopię),
informacje o maskach i kolejnoci indeksów sš nieistotne,
okrelenie wszystkich żšdań dodatkowych (w nawiasach {...})
oprócz żšdania HW=... jest nieistotne,
musi być okrelony parametr HW - tak jak dla programu MAK, z tym, że:
- numer bazy (pierwszy parametr każdego cišgu) musi być 1,
- dla każdego wymienianego (aktualizowanego) w bazie pola musi być
podany cišg okrelajšcy numer identyfikatora w KHW
(z czwartym parametrem równym zero),
- cišgi okrelajšce numer identyfikatora KHW (z czwartym
parametrem równym zero) muszš okrelać to samo podpole
(czyli muszš mieć ten sam parametr drugi)
zwykle powinien być okrelony parametr YN=... lub YM=...
4. Zmodyfikowane dokumenty
Program modyfikuje dokumenty, jeli zgodnie z KHW oraz podanymi deklaracjami
co się w nich zmieniło; jeli więc użytkownik zaznaczy całš bazę KHW, to
te dokumenty KHW, które nie zmieniły się od ostatniego wykonania programu
WYMKHW nie będš miały wpływu na naszš bazę. Numery zmodyfikowanych
dokumentów oraz ewentualne błędy sš wpisywane do zbioru khw.log.
5. Wymagania dla bazy
Baza musi mieć wspólny indeks identyfikatorów dla wszystkich pól sterowanych
tym KHW. W przypadku nie spełnienia tego warunku sygnalizowany jest błšd:
"Brak indeksu dla kopiowanych numerów z KHW" albo "Kopiowane numery z KHW
nie należš do tego samego indeksu".
6. Tryb pracy programu WYMKHW
Niezależnie od podanego w bazospisie trybu otwarcia bazy program WYMKHW
otwiera bazę katalogowš do pełnej modyfikacji, a bazę KHW zawsze
tylko do czytania. Przed wykonaniem programu warto więc zrobić kopię bazy
katalogowej.
7. Sposób startowania programu WYMKHW
Program WYMKHW można startować tylko z parametrem okrelajšcym
dostępne bazy:
wymkhw nazwa-bazospisu
Uwagi dotyczšce bazospisu podano w punkcie 3.
8. Operacje w programie WYMKHW
Główne menu w programie WYMKHW pozwala na wykonanie następujšcych
działań:
Obsługa listy zaznaczonych dokumentów
Wymiana pól w dokumentach
Operacja Wymiana pól w dokumentach jest dostępna tylko wtedy, gdy
ustalono dla których dokumentów KHW ma być wykonywana.
9. Przerwanie operacji. Błędy i komunikaty
Wymiana haseł w bazie katalogowej zwykle trwa długo, dlatego można tę
operację przerwać naciskajšc F10; jak już wspomniano w czasie
wykonywania operacji wywietlany jest numer opracowywanego dokumentu z KHW
oraz numer opracowywanego dokumentu z bazy. Przerywajšc operację należy
zapisać numer ostatnio opracowywanego dokumentu z KHW, a przed wznowieniem
wypełniania należy odpowiednio ograniczyć listę dokumentów KHW (należy
włšczyć ostatnio opracowywany dokument KHW, bo nie wiadomo, czy wszystkie
odpowiadajšce mu dokumenty bazy zostały opracowane).
Informacje o przebiegu operacji oraz sygnalizowanych błędach sš wpisywane
do zbioru khw.log. Do tego zbioru sš między innymi wpisywane numery
zmodyfikowanych dokumentów; aby ułatwić użytkownikowi przejrzenie dokonanych
zmian tworzony jest także zbiór tmp.zaz, który zawiera wyłšcznie numery
zmodyfikowanych dokumentów. Po wykonaniu programu WYMKHW należy wywołać
program MAK i wczytać listę (tmp.zaz), a potem kolejno oglšdać
zmodyfikowane dokumenty. Zbiór khw.log jest stale uzupełniany,
natomiast zbiór tmp.zaz jest stale zakładany od poczštku.
Komunikaty w zbiorze khw.log sš dostatecznie czytelne, tylko jeden
komunikat będzie wyjaniony. Program wymaga aby w każdym dokumencie
kolejnoć podpól w "mapie dokumentu"
była zgodna z kolejnociš tych podpól w dokumencie. Nie spełnienie tego
warunku jest bardzo mało prawdopodobne, może ono wynikać z błędu w programie
MAK przy wykonywaniu niektórych operacji grupowych; błšd ten bardzo dawno
usunięto i trwał bardzo krótko. Gdyby jednak pojawił się dokument nie
spełniajšcy tego warunku, to program poprawi ten błšd i do zbioru
khw.log wpisze komunikat "Poprawiono niepoprawnš kolejnoć podpól
w dokumencie ... "
5. POBRANIE PROGRAMU WYMKHW
Licencjonowani użytkownicy pakietu MAK mogš pobrać
dołšczony program WYMKHW oraz konieczny do działania zbiór
KHW.HLP. W tym celu należy:
1) kliknšć poniżej na POBRANIE WYMKHW i
zapisać pobierany zbiór w dowolnym katalogu pod nazwš wymkhw.exe,
2) kliknšć poniżej na POBRANIE HELPA i
zapisać pobierany zbiór w tym samym katalogu pod nazwš khw.hlp,
Biblioteka Narodowa
Zakład Technologii Informatycznych
al. Niepodległoci 213
02-086 Warszawa