1. Zastosowanie programu
Program ODBCZW jest programem interfejsowym zwrotnym. Jego zadaniem jest połączenie programu EWMAPA z dowolną bazą danych opisowych dostępną poprzez ODBC. Niemal wszystkie bazy mają drivery ODBC, co daje nieograniczone możliwości łączenia. Divery ODBC dostarczane są wraz z bazami danych, np. driver do MS Access dostarczany jest z pakietem MS OFFICE. Istnieją drivery do najpopularniejszych baz danych: Oracle i Informix. Zadaniem programu interfejsu zwrotnego jest wybranie działek lub obiektów w celu ich zaszrafurowania lub wskazania. Łącznikim pomiędzy programem EWMAPA, a danymi opisowymi są identyfikatory, którymi mogą być:
•	numery działek,
•	kod i identyfikator obiektu.
Oba typy łączeń obsługiwane są przez ten sam program interfejsu.

2. Opis działania
Zasadę działania programu interfejsu zwrotnego najlepiej wyjaśni poniższy schemat:

Identyfikator EWMAPY   ->  ODBCZW      <-->       Sterownik ODBC  <-> Baza danych
                                                                (pytanie SQL)                       
W pierwszym etapie EWMAPA uruchamia program interfejsowy ODBCZW, w którym formułowane jest pytanie SQL. Następnie pytanie przesyłane jest do sterownika ODBC. Sterowniki są specjalizowane, co oznacza, że współpracują z jedną bazą danych i są dostarczane przez producentów bazy. Sterownik komunikuje się z bazą danych przekazując pytanie SQL i pobiera odpowiedź. Odpowiedź jest następnie przesyłana do interfejsu ODBCZW, który formułuje odpowiedź do programu EWMAPA.
Pomimo stosunkowo złożonego procesu dostępu do danych, dla użytkownika programu EWMAPA wygląda to całkiem prosto: uruchamia program interfejsu, zadaje pytanie, a EWMAPA przy pomocy szrafury lub markera zaznacza obiekty.
Aby jednak wykorzystanie interfejsu było tak proste, należy przygotować odpowiednie połączenia tegoż interfejsu z EWMAPĄ i sterownikiem ODBC, jak również sformułować prototyp pytania SQL. Z tego powodu instalacja interfejsu powinna być przeprowadzona przez osobę znającą język zapytań SQL.

Program interfejsu ODBCZW może być uruchomiony zarówno z poziomu EWMAPY (jako interfejs), jak i jako samodzielny program, umożliwiając konfigurację i testowanie. Po uruchomieniu programu pojawia się główne okno w którym dostępne są trzy grupy opcji:
•	obsługa bazy,
•	test połączenia,
•	podłączenie jako interfejs.

Baza
Każda baza, tak będzie nazywany zestaw informacji o połączeniu, zapisywana jest w osobnym pliku z rozszerzeniem *.zw. Takie rozwiązanie umożliwia łatwe przenoszenie pliku konfiguracji pomiędzy stanowiskami komputerowymi. Konfiguracja zapisywana jest w pliku tekstowym, który może być edytowany zewnętrznym programem lub bezpośrednio w programie po naciśnięciu przycisku Konfiguruj. Jeżeli chcemy założyć nową bazę, wystarczy nacisnąć przycisk Dodaj, który po pytaniu o nazwę nowego pliku przystępuje do jego konfiguracji. Przycisk Usuń umożliwia usunięcie bazy z dysku. Ponieważ edycja pliku bazy może być dokonana zewnętrzym edytorem, to po takiej edycji należy nacisnąć przycisk Przeładuj, który powoduje ponowny odczyt pliku. W rozwijanym oknie znajduje się lista dostępnych baz. Wszystkie opisywane przyciski działają w odniesieniu do aktualnie wybranej bazy. Pliki bazy (pliki *.zw) muszą się znajdować w tej samej kartotece co program ODBCZW

Test połączenia
Test połączenia (uruchamiany przyciskiem Wykonaj) umożliwia sprawdzenie, czy połączenie z bazą zostało dokonane poprawnie. Możliwe jest także wykonanie pytania i ocena odpowiedzi.

Podłączenie jako interfejs
Aby program ODBCZW mógł być wykorzystywany jako interfejs, musi zostać podłączony do EWMAPY. Podłączenia tego można dokonać ręcznie w programie EWMAPA i EW_CFG lub z poziomu programu ODBCZW- sposób zalecany.

3. Konfiguracja interfejsu
Po naciśnięciu przycisku Konfiguruj lub Dodaj, pojawia się okno konfiguracyjne z zakładkami. Pierwszą zakładką jest zakładka Połączenie, umożliwiająca połączenie programu ODBCZW ze sterownikiem ODBC i dalej z bazą danych, jak również połączenie z programem EWMAPA.

W górnej części okna wyświetlana jest nazwa pliku, w którym będzie zapisana konfiguracja. Poniżej znajduje się pole edycyjne Nazwa symboliczna. Nazwa ta jest wykorzystywana tylko podczas konfiguracji i testowania połączenia. Znacznie istotniejszym polem jest Identyfikator interfejsu, gdyż wpisana tutaj nazwa jest traktowana jako identyfikator łączący daną bazę z programem EWMAPA. Identyczny identyfikator musi być wpisany w EWMAPIE (opcja Konfiguracja baz/Inne, Konfiguracja baz/Warstwy, Konfiguracja baz/Działki).

Kolejne pola edycyjne okna umożliwiają połączenie interfejsu z bazą danych. W połączeniu do baz ODBC istotne jest pojęcie DSN. Ogólnie rzecz biorąc DSN to symboliczna nazwa, pod którą kryją się parametry połączenia. Do obsługi DSN służy specjalna opcja systemu operacyjnego dostępna w Panelu sterowania. Można tam przeglądać dostępne sterowniki ODBC, konfigurować DSN itd. Aby jednak ułatwić obsługę ODBC, nowe wpisy do DSN i ich konfigurację można dokonać bezpośrednio z poziomu programu ODBCZW. W polu wyboru znajdują się wszystkie dostępne wpisy DSN. Jeżeli zakładamy połączenie do nowej bazy, to najprawdopodobniej brak będzie odpowiedniego wpisu. W tym celu ustawiamy się na polu edycyjnym ODBC DSN i wpisujemy nową nazwę, a następnie naciskamy przycisk Konfiguruj DSN. Po naciśnięciu tego przycisku, pojawia się dodatkowe okno konfiguracyjne, w którym należy wybrać nazwę drivera ODBC i zdecydować się na to, czy będzie to DSN użytkownika, czy DSN systemowy. Po wypełnieniu pól, możemy nacisnąć jeden z przycisków: Dodaj, Modyfikuj lub Usuń. Jeżeli na liście driverów brak drivera do naszej bazy, znaczy to, że nie został on zainstalowany. W tym przypadku należy przerwać konfigurację i najpierw dodać nowy sterownik ODBC. Pewnego wyjaśnienia wymagają pojęcia DSN użytkownika i DSN systemowy. Różnica polega na tym, iż DSN użytkownika jest widoczny tylko dla aktualnego użytkownika, a DSN systemowy jest widoczny dla wszystkich użytkowników, którzy logują się na konkretnym komputerze. Po naciśnięciu przycisku Dodaj lub Modyfikuj wyświetlane jest okno konfiguracyjne konkretnego sterownika (nie należy się więc dziwić, jeżeli napisy pojawią się w języku angielskim). W przypadku bazy MS ACCESS należy w tym oknie określić nazwę pliku bazy danych (przycisk Select). Dla innych baz ustawiane parametry różnią się.

Kolejne pola formatki umożliwiają konfigurację autoryzacji połączenia z bazą danych. Po zaznaczeniu pola Przywołanie okna logowania, program interfejsu będzie za każdym razem, gdy wymagane jest połączenie, przywoływał okno logowania (pytanie o nazwę użytkownika i hasło). Nazwę użytkownika i hasło można także wprowadzić bezpośrednio w polach Użytkownik i Hasło. 

Bardzo ważne jest wybranie odpowiedniego typu interfejsu (typu zwracanej odpowiedzi). Dla działek należy wybrać Działki, a dla obiektów Obiekty.

Zakładka Parametry
Zakładka Parametry umożliwia ustawienie dodatkowych parametrów dotyczących połączenia z ODBC. W większości przypadków, takie dodatkowe ustawienia nie są konieczne.
Uwaga: Podczas testów na strerowniku ODBC do bazy Oracle, występowały błędy w pracy programu ODBCZW. Po ustawieniu ROWSET SIZE na jeden problemy ustąpiły.

Zakładki z pytaniami
Interfejs ODBCZW musi do każdej bazy danych posiadać minimum jedno pytanie. Dodatkowe pytania (zakładki) można dodawać przyciskiem Dodaj stronę i usuwać przyciskiem Usuń stronę (pierwszego pytania nie można usunąć).
Każda strona (zakładka) posiada identyczny zestaw pól.

U góry znajduje się pole, które umożliwia wpisanie prototypu pytania SQL. Wpisywany ciąg znaków musi być poprawnym ciągien SQL dla danej bazy danych. Wewnątrz pytania należy użyć znaku @, który oznacza miejsce podstawienia wpisywanego później ciągu. Najlepiej wyjaśnią to przykłady (cyfry są tylko komentarzami i oznaczają: 1-ciąg wpisany w zakładce, 2-ciąg wpisany przez użytkownika podczas wykonania interfejsu, 3-wynikowe pytanie SQL):
1.  select id from budynki where @
2.  garaze>1
3.  select id from budynki where garaze>1

1.  select id from budynki where l_kon @
2.  >3
3.  select id from budynki where l_kon >3

1.  select nrdz from dzialki,budynki where budynki.id=dzialki.id_bud and (@)
2.  l_kon>3
3.  select nrdz from dzialki,budynki where budynki.id=dzialki.id_bud and (l_kon>3)

1.  @
2.  select id from budynki
3.  select id from budynki

1.  select id from budynki where l_kon=1
2.  dowolny tekst
3.  select id from budynki where l_kon=1

Rozbicie pytania na dwie części - prototyp i ciąg zmienny ułatwia mało wprawnemu użytkownikowi stawianie pytań, gdyż można ukryć przed nim szczegóły pytania SQL oraz wiązania międzytabelowe.

We wszystkich przytoczonych wyżej pytaniach wynikiem jest jedno pole. W takim przypadku pole to jest interpretowane jako numer działki lub identyfikator obiektu. Kod obiektu (nie dotyczy to działek) jest pobierany z pola Domyślny kod. Istnieje również możliwość sformuowania pytania SQL w taki sposób, aby zwracał on kod i identyfikator - wynikiem odpowiedzi powinny być wówczas dwa pola, np.: select kod,id from budynki where @ .W tym przypadku nie należy określać pola Domyślny kod.

Uwaga: Podczas łączenia z bazą Oracle, występował problem z wyświetlaniem wartości pól numerycznych i datowych, które nie miały przypisanej wartości. W takim przypadku należy dokonać konwersji tych pól do postaci znakowej w pytaniu SQL. Służy do tego funkcja TO_CHAR np.:
select to_char(nr_obrebu,’9’)+nr_dzialki from dzialki where @
Funkcja TO_CHAR ma także możliwości formatujące (patrz instrukcja do Oracla).

W celu realizacji pytania użytkownik musi wpisać warunek (lub jego część). Potrzebna jest zatem znajomość nazw pól występujących w tabeli. Aby zatem ułatwić późniejszą konstrukcję zapytań SQL, można wpisać nazwy w oknie Dostępne pola i warunki. W kolejnych liniach należy określić nazwy pól lub nawet całe warunki, które będą stanowić podstawę do konstrukcji pytań np.:
l_kon
garaze
nazwa
‘  ‘+upper(nazwa)+’  ‘  like ‘%WARSZTAT%’
Nowe wiersze do tabeli można dodawać po naciśnięciu strzałki w dół lub klawiszy Ctrl Ins, zaś usuwać po naciśnięciu Ctrl Del.

Z prawej strony okna znajduje się pole edycyjne Tytuł. Należy w nim określić tytuł pytania (zakładki).

U dołu okna znajduje się przycisk Zaszyfruj. Umożliwia on zaszyfrowanie nazwy użytkownika, hasła oraz pytań SQL. Dzięki zaszyfrowaniu, użytkownik wykorzystujący interfejs może wykonywać tylko te pytania, które zostały wprowadzone i dodatkowo zakryta jest przed nim nazwa użytkownika i hasło bazy danych. Operacja szyfrowania nie jest odwracalna.

4. Konstrukcja warunków
Po naciśnięciu przycisku Wykonaj lub po uruchomieniu programu jako interfejsu, zostaje wywołane specjalne okno, które umożliwia stworzenie pytania do bazy SQL i odpowiedzi do programu EWMAPA.

Z prawej strony formatki znajduje się rozwijana lista z dostępnymi kategoriami pytań. Odpowiadają one zakładkom w konfiguracji. Wybór odpowiedniego pytania ustawia listę dostępnych wyrażeń (np. nazw pól), które mogą być przydatne podczas konstrukcji pytania.

W górnej części formatki znajduje się pole edycyjne umożliwiające wprowadzenie warunku. Wprowadzony tekst (warunek) jest podstawiany w miejscu znaku @ znajdującego się w prototypie pytania. Wprowadzony ciąg musi po połączeniu z prototypem tworzyć poprawne pytanie SQL. Podczas wpisywania pytania można posługiwać się listą dostępnych pól i wyrażeń znajdującą się z prawej strony. Przeniesienie linii do pola edycyjnego następuje po dwukliku na wybranej pozycji listy.

Przycisk Zmień kolor umożliwia wybór koloru szrafury lub wskazanego obiektu. Wybór koloru musi nastąpić przed wykonaniem pytania.

Przycisk Wykonaj realizuje wprowadzone pytanie i w zależności od tego, czy opcja Pokazuj rezultaty zapytania jest aktywna, wyświetlana jest odpowiedź w tabeli znajdującej się u dołu formatki. Podczas wykonywania pytania zwiększają się liczniki ogólnie i ostatnio zaznaczonych rekordów. Informują one o liczbie obiektów, które zostaną przeniesione do pliku odpowiedzi. Znajdujący się tam przycisk oznaczony X, umożliwia wykasowanie zaznaczonych elementów, np. w przypadku zadania błędnego pytania, które wygenerowało wiele rekordów odpowiedzi.

Zakończenie pracy dokonuje się przyciskiem Anuluj - wyjście bez zapisu lub przyciskiem Zakończ - wyjście z zapisaniem rezultatów pytania. Jeżeli program był uruchomiony samodzielnie (nie jako interfejs), po naciśnięciu przycisku Zakończ będzie zadane dodatkowe pytanie o nazwę pliku, w którym należy wygenerować odpowiedź. Zapisany plik może być następnie wykorzystany przez interfejs Kopia instalowany standardowo w programie EWMAPA.

5. Podłączenie programu jako interfejsu
Głównym przeznaczeniem programu ODBCZW jest jego współpraca z programem EWMAPA.
Istnieje możliwość jego podłączenia jako:
•	interfejsu dla okna wyboru
•	interfejsu zwrotnego (szrafurującego)
•	interfejsu szukającego (marker).
Podłączenia można dokonać w programie EWMAPA. W pierwszych trzech przypadkach należy wpisać odpowiednie dane w konfiguracji EWMAPY, w ostatnim przypadku (podłączenie do obiektu) należy dokonać modyfikacji pliku PLIKI.TXT w kartotece z obiektami.
Istnieje jednak znacznie prostszy sposób podłączenia interfejsu. Można tego dokonać bezpośrednio z programu ODBCZW przy użyciu klawisza Podłącz jako interfejs.
Po naciśnięciu tego klawisza ukaże się specjalne okno umożliwiające wskazanie, w którym miejscu należy podłączyć interfejs. Jeżeli któraś z opcji jest zaznzczona, oznacza to, że interfejs jest już podłączony. Podłączennie następuje po naciśnięciu przycisku OK. Przycisk Anuluj umożliwia rezygnację z podłączenia. 
Ustawienie interfejsu dotyczy wszystkich baz danych. Inaczej przedstawia się sytuacja, gdy interfejs podłączany jest do obiektów. Po wyborze opcji Interfejs do obiektów, ukazuje się specjalne drzewo, umożliwiające wybór kartoteki, w której znajdują się dane obiektowe. Drzewo wyświetlane jest w dwóch poziomach. Poziom pierwszy, to nazwy dostępnych baz danych, poziom drugi, to symboliczne nazwy kartotek z danymi (warstwami). W kartotece z warstwami powinny istnieć podstawowe zbiory obiektów, a zwłaszcza plik OPISY.TXT, który jest niezbędny do procesu konfiguracji. Ponieważ interfejsy do pbiektów muszą posiadać różne nazwy, o dołu formatki należy określić nazwę symboliczną np.: ODBC-Jeziora.

Podłączenie interfejsu do działek, punktów i warstw jest możliwe pod warunkiem, że EWMAPA nie jest uruchomiona. Podłączenie jako interfejsu do obiektów jest możliwe, gdy obiekty w EWMAPIE nie są załączone.

6. Obsługa interfejsu
Obsługa interfejsu w EWMAPIE jest bardzo prosta. Dostępny jest on podczas wyboru działek, szrafur oraz wskazywania markerem. Wprowadzone nazwy umożliwiają rozróżnienie kilku interfejsów ODBC podłączonych do danych w różnych kartotekach.

7. Wersja demonstracyjna
Wersja demonstracyjna programu ODBCZW umożliwia zapoznanie się z programem. Program NIE MOŻE być wykorzystywany w celach komercyjnych. Posiada także ograniczenia do 10 zwracanych rekordów w pliku odpowiedzi.