Podręcznik użytkownika

Implementowanie rozliczeń według wykorzystania zasobów w DB2 Universal Database for OS/390

Wiele instalacji DB2 Universal Database for OS/390 zawiera implementację sposobu monitorowania zasobów, która umożliwia administratorom systemu powiązanie użycia zasobów systemu z dostępem do nich przez konkretnych użytkowników. Procedura ta może być użyta w celu naliczenia należności za korzystanie z zasobów dla użytkowników lub zatrudniających ich wydziałów. Praktyka taka jest powszechnie nazywana charge-back accounting (rozliczenia według wykorzystania zasobów).

Produkty DB2 Connect umożliwiają administratorom systemu monitorowanie zasobów komputera typu mainframe, wykorzystywanych przez użytkowników baz danych za pośrednictwem DB2 Connect. W celu przesyłania danych rozliczeniowych z DB2 Connect do DB2 dla serwera baz danych można używać łańcuchów rozliczeniowych. Łańcuch rozliczeniowy łączy dane utworzone przez system z danymi dostarczonymi przez użytkownika. Dane te umożliwiają administratorowi połączenie użycia zasobów z wykorzystaniem ich przez konkretnego użytkownika i zgodnie z tymi danymi naliczenie odpowiednich opłat.

Łańcuch rozliczeniowy jest wysyłany przy użyciu parametru DRDA o nazwie PRDDTA. Ponieważ w DRDA dostęp do zawartości tego parametru nie jest obsługiwany, nie ma żadnej gwarancji, że serwer aplikacji rozpozna te dane jako dane związane z rozliczeniem. Obecnie PRDDTA jest obsługiwane tylko w systemach MVS i OS/390. Łańcuch jest przechowywany jako zapis rozliczeniowy.

Łańcuch rozliczeniowy składa się z 56 bajtów utworzonych przez DB2 Connect (przedrostek), 199 bajtów podanych przez użytkownika (przyrostek); razem maksymalnie 255 bajtów.

Tabela 3 zawiera pola utworzone przez system. Każde z tych pól jest uzupełnione z prawej strony znakami odstępu.

Tabela 3. Pola łańcucha rozliczeniowego utworzone przez DB2 Connect
Nazwa pola Długość Opis
acct_str_len 1 Wartość szesnastkowa zawierająca długość łańcucha rozliczeniowego minus 1. Na przykład X'3C'.
client_prdid 8 Identyfikator produktu oprogramowania klienta. Na przykład identyfikatorem produktu dla produktu DB2 Universal Database wersja 7 jest SQL07010.
platforma_klienta 18 Platforma, na której działa klient, na przykład AIX, OS/2, DOS lub Windows.
client_appl_name 20 Pierwszych 20 znaków nazwy aplikacji użytkownika, na przykład payroll.
client_authid 8 Authid aplikacji użytkownika, na przykład SMITH.
suffix_len 1 Wartość szesnastkowa reprezentująca długość przyrostka dostarczonego przez użytkownika. Wartość X'00' oznacza brak tego przyrostka.

Przyrostek zdefiniowany przez użytkownika może przyjąć jedną z następujących wartości:

Jeśli przyrostek ma więcej niż 199 znaków, jest obcinany. Aby łańcuch rozliczeniowy został poprawnie przekształcony podczas transmisji do serwera baz danych hosta lub AS/400, należy użyć wyłącznie znaków od A do Z, od 0 do 9 i znaku podkreślenia (_).

Zaleca się użycie metody API ustawiania łańcucha rozliczeniowego. Aplikacja użytkownika powinna wywołać funkcję API przed połączeniem z bazą danych. Aby zmienić łańcuch rozliczeniowy wewnątrz aplikacji (na przykład aby przesłać inny łańcuch podczas połączenia z inną bazą danych), należy wywołać ponownie funkcję API. W przeciwnym wypadku dotychczasowa wartość nie zmieni się aż do zakończenia aplikacji.

Jeśli funkcja API sqlesact() nie jest wywoływana przed pierwszym żądaniem połączenia z bazą danych, zostaje odczytana zmienna środowiskowa DB2ACCOUNT. Wartość ta nie zmieni się do zakończenia aplikacji lub procesu Procesora wiersza komend w tle. Aby podać nowy przyrostek łańcucha rozliczeniowego po pierwszym połączeniu się z bazą danych, należy użyć funkcji API sqlesact() albo zakończyć proces aplikacji lub Procesora wiersza komend (CLP) w tle i uruchomić go ponownie ze zmienną DB2ACCOUNT ustawioną na nową wartość.

Jeśli brak wartości zmiennej DB2ACCOUNT, zostanie użyta wartość parametru konfiguracyjnego systemu DFT_ACCOUNT_STR. Ta wartość domyślna jest użyteczna w przypadku klientów baz danych, którzy nie mają możliwości przekazywania łańcuchów rozliczeniowych do DB2 Connect. Jeśli wartość ta nie istnieje, zostanie użyty łańcuch pusty.

Oto przykłady łańcuchów rozliczeniowych:

    x'3C'SQL07010OS/2              cheque              SMITH   x'05'DEPT1
 
   x'37'SQL07010OS/2              cheque              SMITH   x'00'
 

W pierwszym przykładzie przyrostek zdefiniowany przez użytkownika ma postać DEPT1. W drugim przykładzie jest łańcuchem pustym.


[ Początek strony | Poprzednia strona | Następna strona | Spis treści | Indeks ]