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 okreœenia 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 okreœlenia 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 treœci 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 okreœlonymi przez parametr HW i zawierajšcymi identyfikator; w tych polach podpola mogš występować w dowolnej kolejnoœci, 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 kolejnoœci: a) - c), zachowujšc kolejnoœć w ramach grup a i c; wyjštkiem sš wskaŸniki, 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 okreœlonymi 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, myœlnikiem, znakiem równoœci lub kreskš ukoœnš. Przy przenoszeniu podpól z KHW znaki te (w zależnoœci 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 niezgodnoœci tych podpól i ponowne wpisanie wartoœci 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żnoœci 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.
    Domyœlnie 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 okreœlić 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 oczywiœcie 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 wskaŸników (pominięty wskaŸnik 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
  • okreœlić 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; jeœli 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; jeœli lista dokumentów była wczytana, to po opracowaniu każdego dokumentu KHW jest on usuwany z listy. W czasie trwania operacji wyœwietlany 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. Jeœli 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 okreœlać bazę, w której sš wymieniane pola, druga baza powinna okreœlać 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 kolejnoœci indeksów sš nieistotne,
  • okreœlenie wszystkich żšdań dodatkowych (w nawiasach {...}) oprócz żšdania HW=... jest nieistotne,
  • musi być okreœlony 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 okreœlajšcy numer identyfikatora w KHW (z czwartym parametrem równym zero),
         - cišgi okreœlajšce numer identyfikatora KHW (z czwartym parametrem równym zero) muszš okreœlać to samo podpole (czyli muszš mieć ten sam parametr drugi)
  • zwykle powinien być okreœlony parametr YN=... lub YM=...

    4. Zmodyfikowane dokumenty

    Program modyfikuje dokumenty, jeœli zgodnie z KHW oraz podanymi deklaracjami coœ się w nich zmieniło; jeœli 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 okreœlajš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 wyœwietlany 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 wyjaœniony. Program wymaga aby w każdym dokumencie kolejnoœć podpól w "mapie dokumentu" była zgodna z kolejnoœciš 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,

    POBRANIE WYMKHW            POBRANIE HELPA



    Biblioteka Narodowa
    Zakład Technologii Informatycznych
    al. Niepodległoœci 213
    02-086 Warszawa