Trzy interfejsy : ACOUNTRY, ALANGUAGES, ACURRENCIES wykorzystywane są do dostępu do odpowiadających im tabel TABCOUNTRY, TABLAN, TABCUR; są to interfejsy typu „Data access” (Dostęp do danych).
Procedury ich tworzenia są identyczne.
Różnią się między sobą wyłącznie nazwami tabel i listami wybranych pól.
1. Utwórz rekord interfejsu
2. Wybierz tabelę
3. Zapisz
4. Generuj dostęp po wprowadzeniu wykorzystywanych pól
5. Zapisz i zatwierdź
6. Wygeneruj pola poprzez menu Narzędzia/Tworzenie pola tokenu
Typ
Dostęp do tabeli
Kod tabeli
TABCOUNTRY, TABLAN, TABCUR
Nazwa publikacji
Domyślnie TABCOUNTRY, TABLAN, TABCURRENCY, istnieje jednak możliwość modyfikacji.
Wyświetlanie komunikatów
Wszystkie
Dostęp chroniony
nie
Generuj dostęp
Wybierz pola i generuj usługę sieciową poprzez kliknięcie OK.
Przycisk „Generuj dostęp” uruchamia następujące operacje:
Jednostki ACOUNTRY, ALANG, ACURRENCY tworzy się w taki sam sposób jak interfejsy.
Różnią się między sobą wyłącznie nazwami interfejsów i listami pól.
1. Stwórz jednostkę typu „Dostęp do danych” opartą na interfejsie.
Jednostka ta służy do przechowywania danych z zapytań tabeli
2. Powiąż pola
przy pomocy menu Narzędzia/Wprowadzanie
3. Wprowadź klucz jednostki w tabeli „Pola (wybór)”.
4. Zapisz i zatwierdź
Aby wyświetlić flagę, konieczne jest utworzenie pola tokenu COUNTRYFLAG typu „Picture access” (Dostęp do obrazów) i skonfigurowanie go tak, aby generował adres url dostępu do pliku .gif zawierającego obraz flagi.
Pole COUNTRYFLAG zostanie umieszczone pomiędzy znacznikami <img>.
Konfiguracja tokena polega na:
W naszym przypadku flagi zapisane są w pliku FLAGS w katalogu HTML, nazwanym CODEPAYS.gif
Zatwierdź pole po jego utworzeniu.
Pole COUNTRYFLAG nie należy do interfejsu i musi zostać obliczone podczas tworzenia jednostki.
Wystarczy dodać pole COUNTRYFLAG do jednostki ACOUNTRY i „zmapować” je z polem CRY zawierającym kod kraju.
Podczas mapowania serwer XTEND dodaje pole COUNTRYFLAG do jednostki i nadaje mu wartość kodu kraju.
W momencie wyświetlenia pole to jest przetwarzane na adres URL w atrybucie src znacznika img wskazującym na plik CODEPAYS.gif
<img height="'25'" width="'40'"
src="'/xtend/data/remote/SOLSUPV6/SUPERV/X_TEND/X_HTML/ASAMPLE/ENG/FLAGS/ATF.gif'/></FONT">
W tym przykładzie, adres url wskazuje bezpośrednio na pliki umieszczone na serwerze X3.
Tokeny sekcji umieszczane są na stronach HTML. Uruchamiają one zapytania do X3 oraz odczyt i wyświetlanie danych.
1. Tworzenie sekcji
2. Dodaj kryteria wyboru i sortowania
3. Zapisz i zatwierdź
Dla celów poniższego przykładu utworzona została sekcja „wielorekordowa” ABLKCOUNTRIES, wskazująca na jednostkę ACOUNTRY i wybierająca rekordy posiadające przynajmniej kod CRY (CRY>=AA).
Niektóre kody umieszczone w bazie testowej mają mniej niż dwa znaki.
Aby zatwierdzić sortowanie po kodzie kraju, ustawiona została domyślnie kolejność rosnąca po kodzie kraju CRY a także zatwierdzona została modyfikacja sortowania poprzez łącze dynamiczne.
Tokeny linków dynamicznych ADLKCOUNTRYSORTDW i ADLKCOUNTRYSORTUP umożliwiają sortowanie tabeli.
Rodzaj sortowania
Pole
Sortowanie modyfikowalne
Tak
Pola sortowania
CRY
Sekcja ABLKCOUNTRIES została zdefiniowana jako sekcja główna strony ACOUNTRIES. Dzięki temu, możliwe jest użycie AMAIN zamiast nazwy sekcji, w celu uzyskania dostępu do niej.
Sekcje ABLKLANG i ABLKCURRENCY są sekcjami „jednorekordowymi” i wybierają odpowiednio jednostki ALANG i ACURRENCY, zależnie od kodu języka (LAN) i waluty (CUR) wybranego wiersza w sekcji głównej AMAIN_ (sekcja ABLKCOUNTRIES).
Łącze to tworzone jest poprzez token „łącza dynamicznego” ADLKSELECT, wybierającego wiersz sekcji (odpowiednia czynność sieciowa ABLKSELECT) i wyświetlającego ponownie tę samą stronę.
Czynność ta informuje serwer XTEND, że wiersz zawierający łącze kliknięte przez użytkownika stał się wierszem wybranym.
Jeżeli w jakiejś sekcji wybrany jeden z wierszy, wszystkie pola tokenów odpowiadające sekcji MYBLOCK.MYFIELD przyjmują wartość pola wybranego wiersza.
W naszym przypadku, z uwagi na fakt, że zarówno w sekcji języka (ABLKLANG) jak i waluty (ABLHCURRENCY) wybrane zostały AMAIN.LAN i AMAIN.CUR (AMAIN jest aliasem sekcji ABLKCOUNTRIES), sekcje te automatycznie wyświetlają informacje na temat języka i waluty wybranego kraju.
Na poniższym przykładzie, wynik wyświetlany jest na tej samej stronie a sposób wyświetlania kontrolowany jest przez token „sekcji warunkowej” ADISPMAINSELECT, wyświetlający lub ukrywający pole HTML, w zależności od tego, czy w sekcji głównej MAIN został zaznaczony wiersz.
Tokeny ADLKCOUNTRYSORTUP i ADLKCOUNTRYSORTDW służą do sortowania listy krajów według kodów - w kolejności rosnącej i malejącej.
Bieżąca strona
Tak
Raportowanie aktywności
Nie, ponieważ nie ma konieczności raportowania tego typu aktywności.
Wybór jednostki
ACOUNTRY: Jednostka, jaka ma zostać wybrana (z sekcji kraju)
Wybór aplikacji
„Zastępuje wybór sekcji głównej”: Kolejność/wybór przesłany przez łącze dynamiczne do strony docelowej (w tym przypadku jest to ta sama strona) zastępuje kolejność/wybór sekcji głównej AMAIN (w tym przykładzie sekcji ABLKCOUNTRIES)
Rodzaj wyboru
Brak: możliwe jest modyfikowanie wyłącznie kryteriów sortowania sekcji
Rodzaj sortowania
Pole: W tym wypadku pole CRY w kolejności rosnącej (ADLKCOUNTRYSORTUP) i malejącej (ADLKCOUNTRYSORTDW)
Stwórz stronę ACOUNTRIES (niechroniona) której sekcją główną jest ABLKCOUNTRIES.
Wstawienie tokenu strony internetowej ACOUNTRIES w menu po lewej stronie, w celu wyświetlenia strony.
<TD class='button'><A adx='ACOUNTRIES'>Pays</A></TD>
W celu utworzenia prostego łącza (bez czynności lub wyboru) do strony poprzez znacznik kotwicy wystarczy umieścić token typu „Strona webowa” w znaczniku(<a adx='PageWeb'></a>) w celu ograniczenia liczby tokenów „łączy dynamicznych”.
Wyświetlanie listy krajów polega na pozycjonowaniu sekcji ABLKCOUNTRIES, która wykonuje iterację na liście krajów, a tym samym umożliwia utworzenie tylu wierszy w tabeli, ile jest krajów na liście.
<table width="'100%'" border="'1'><BR/"> <tr class='tabTitle'>
<th width="'15%'><BR/"> <a adx='ADLKCOUNTRYSORTUP'>+</a>
<b>Kod</b>
<a adx='ADLKCOUNTRYSORTDW'>-</a>
</th>
<th width="'20%'><b>Pays</b></th><BR/"> <th width="'15%'><b>Continent</b></th><BR/"> <th width="'15%'><b>Devise</b></th><BR/"> <th width="'15%'><b>Langue</b></th><BR/"> <th width="'20%'><b>Drapeau</b></th><BR/"> </tr>
<!adx='ABLKCOUNTRIES:xselect=false'>
<tr adx='aLineStyle:xattr=Class'>
<td><a adx='ADLKSELECT'><span adx='CRY'></span></a></td>
<td adx='CRYDES'></td>
<td adx='CONTINENT'></td>
<td adx='CUR'></td>
<td adx='LAN'></td>
<td><img adx='COUNTRYFLAG' height="'25'" width="'40'></td>"
</tr>
<!adx='ABLKCOUNTRIES'>
</table>
Ustawienie xselect=false sekcji ABLKCOUNTRIES informuje, że nie należy wybierać domyślnie pierwszego wiersza, w celu ukrycia szczegółów, przy założeniu, że nie został wybrany żaden wiersz.
<td>
<a adx='ADLKCOUNTRYSORTUP'>+</a>
<b>Kod</b>
<a adx='ADLKCOUNTRYSORTDW'>-</a>
</td>
<img adx='COUNTRYFLAG' height="'25'" width="'40'></FONT">
<td><a adx='ADLKSELECT'><span adx='CRY'></span></a></td>
<tr adx='aLineStyle:xattr=Class'>
W celu wyświetlenia wierszy tabeli w sposób naprzemienny, w znaczniku <tr> został umieszczony token adx.
<tr adx='aLineStyle:xattr=Class'>
aLineStyle zawiera nazwę klasy, a xAttr=Class wskazuje, że konieczne jest określenie wartości atrybutu klasy o wartości pola aLineStyle.
Klasy css (aLineStyle), które stosowane są dla wierszy tabeli są zdefiniowane w rekordzie konfiguracji sekcji.
Szczegóły zostają wyświetlone w momencie wyboru wiersza poprzez kliknięcie kodu kraju.
Token „łącza warunkowego” ADISPMAINSELECT określa warunki wyświetlania.
Sekcje ABLKCURRENCY i ABLKLANG uruchamiają odczyt jednostek waluty i języka kraju oraz umożliwiają wyświetlenie szczegółów.
<!adx='ADISPMAINSELECT'>
<table>
<!adx='ABLKCURRENCY'>
<tr>
<td><b>Waluta</b></td>
<td adx='CUR' width="'50'></td><BR/"> <td><b>Opis</b></td>
<td adx='INTDES' width="'150'></td><BR/"> <td><b>Symbole</b></td>
<td adx='CURSYM' width="'50'></td><BR/"> </td>
</tr>
<!adx='ABLKCURRENCY'>
<!adx='ABLKLANG'>
<tr>
<td><b>Język</b></td>
<td adx='LAN'></td>
<td><b>Opis</b></td>
<td adx='INTDES'></td>
<td></td>
</tr>
<!adx='ABLKLANG'>
</table>
<!adx='ADISPMAINSELECT'>
<!adx='ABLKDOCHTML'>
<div adx='TEXTE'>
</div>
<!adx='ABLKDOCHTML'>
Do kontroli sposoby numerowania stron wykorzystywana jest biblioteka pagination.lbi zawierająca ogólny kod HTML, który może być użyty w sekcji głównej (AMAIN) wszystkich stron HTML.
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<!--Biblioteka ta jest używana do wykonywania paginacji na bloku AMAIN-->
<table width="'100%'><BR/"> <tr>
<td align='left' width="'20%'><BR/"> <!--Ukryj PierwsząStronę i Poprzednie działania, jeśli bieżąca strona jest pierwszą stroną-->
<!adx='aHideMainFirstPage'>
<!---->
<a href='' adx=»AMAIN.aDlkFirstPage»>Pierwsza</a>
<a href='' adx=»AMAIN.aDlkPrevPage»>Poprzednia</a>
<!adx='aHideMainFirstPage'>
</td>
<!--Wyświetla informacje o stronie-->
<td align='center' width="'60%'><BR/"> Page : <span adx='AMAIN.aPagePos'></span> -
Liczba elementów: <span adx='AMAIN.aBlkNbElmts'></span>
</td>
<td align='right' width="'20%'>"
<!--Ukryj OstatniąStronę i Następne działania, jeśli bieżąca strona jest ostatnią stroną-->
<!adx='aHideMainLastPage'>
<a href='' adx=»AMAIN.aDlkNextPage»>Następna</a>
<a href='' adx=»AMAIN.aDlkLastPage»>Ostatnia</a>
<!adx='aHideMainLastPage'>
</td>
</tr>
</table>
Do wywołania metody (lub pola) sekcji XTEND wykorzystywana jest składnia mySection.myAction lub mySection.myField.
<a href='' adx=»AMAIN.aDlkFirstPage»>Pierwsza</a>
<a href='' adx=»AMAIN.aDlkPrevPage»>Poprzednia</a>