Log inRegister
You are here: UtalvanyKK » AdatbazisFelepites

Adatbázis terv

Adatbázis modell

utalvany adatbazis.svg

Sémák

bob

A BOB keretrendszer táblái és tárol eljárásai.

ukk

Az utalványkezelő központot kiszolgáló rendszer saját táblái és tárol eljárásai.

exchange

A távoli rendszerek (például NAVI) azonosítóját tartalmazó segédtáblák.

Általános (rendszer-szintű) triggerek

A bob.trigger tárolt eljárás jellemzően minden táblához hozzá van rendelve, az alábbi eseményekkor:
  • BEFORE INSERT OR UPDATE OR DELETE ON … FOR EACH ROW
  • AFTER INSERT OR UPDATE OR DELETE ON … FOR EACH ROW

Feladata:
--*  INPUTS
--*    -
--*  RESULT
--*    Hibakódok:
--*    - bob_trigger_001: Mind létrehozáskor, mind módosításkor kötelező megadni az aktív felhasználót, a modult és a fiókot.
--*    - bob_trigger_002: Nincs a megadott felhasználónak aktív munkamenete (pl.: lejárt munkamenet esetén).
--*    - bob_trigger_003: Nincs a paraméterként megadott modulcímkének megfelelő modul bejegyezve vagy a felhasználónak
--*                       semmilyen joga sincs az adott modulhoz.
--*    - bob_trigger_004: A létrehozás ideje és a létrehozó felhasználó nem változhat.
--*    - bob_trigger_005: Már lett a megadott űrlapkóddal beírva rekord ('vissza' gomb elleni védelem).
--*  SYNOPSIS
--*    Elvégzi az adott táblával kapcsolatos alapvető ellenőrzéseket és a az események naplózását.
--*    Kezelt események: új rekord beírása, rekord módosítása.
--*    A működés ismertetése:
--*    - Magas (info) szintű naplózási szint esetén bejegyzi a tranzakció megkezdését a naplófájlba (INSERT, UPDATE és DELETE eseménynél is).
--*    - Új rekord beírása vagy rekord módosítása esetén a tranzakció végrehajtása előtt
--*      - ha nem lett megadva az aktív felhasználó (=NEW.lock_user_id=), a modul (=NEW.lock_modul_label=) és
--*        az aktuális fiók (=NEW.lock_account_name=), akkor =bob_trigger_001= hibával megszakítja a tranzakciót.
--*      - ha nincs a paraméterként megadott felhasználónak (=NEW.lock_user_id=) megfelelő aktív felhasználó
--*        (például lejárt a munkamenet), akkor =bob_trigger_002= hibával megszakítja a tranzakciót.
--*      - ha nincs a paraméterként megadott modulnévnek (=NEW.lock_modul_label=) megfelelő modul bejegyezve vagy
--*        a felhasználónak semmilyen joga sincs az adott modulhoz, akkor =bob_trigger_003= hibával megszakítja a tranzakciót.
--*      - ha van megadva űrlapazonosító kód (=NEW.lock_form_code=), akkor megvizsgálja, hogy szerepel-e az adatbázisban.
--*        Ha igen, akkor =bob_trigger_005= hibával megszakítja a tranzakciót.
--*    - Új rekord beírása esetén a tranzakció végrehajtása előtt beállítja az alábbi mezők értékét:
--*      - a rekord létrehozásának időpontja (=NEW.creation_time=) legyen a tranzakció időpontja;
--*      - a létrehozó felhasználó (=NEW.creation_user_id=) legyen az aktuális felhasználó (=NEW.lock_user_id=);
--*      - az utolsó módosítás időpontját tartalmazó mező (=NEW.modification_time=) értéke legyen =NULL= érték;
--*      - az utolsó módosítást kezdeményező felhasználót tartalmazó mező (=NEW.modification_user_id=) értéke legyen =NULL= érték;
--*    - Rekord módosítása esetén a tranzakció végrehajtása előtt
--*      - ha a rekord létrehozásának időpontja (=NEW.creation_time=) vagy a létrehozó felhasználó (=NEW.creation_user_id=)
--*        változott, akkor =bob_trigger_004= hibával megszakítja a tranzakciót.
--*      - az utolsó módosítás időpontja (=NEW.modification_time=) legyen a tranzakció időpontja;
--*      - az utolsó módosítást kezdeményező felhasználó (=NEW.modification_user_id=) legyen az aktuális felhasználó (=NEW.lock_user_id=);
--*    - Mind rekord beírása, mind rekord módosítása esetén a =NEW.lock_account_name=, =NEW.lock_user_id= és
--*      =NEW.lock_modul_label= mezők értékét törölni kell a tranzakció végrehajtása előtt, így ellenőrizhető lesz,
--*      hogy a legközelebbi tranzakció esetén is valóban meg lett adva.)
--*    - Magas (info) szintű naplózási szint esetén bejegyzi a tranzakció végét a naplófájlba (INSERT, UPDATE és DELETE eseménynél is).
--*  NOTES
--*    -

Általános (projekt-szintű) triggerek

Az ukk.trigger tárolt eljárás jellemzően minden táblához hozzá van rendelve, az alábbi eseményekkor:
  • BEFORE INSERT OR UPDATE OR DELETE ON … FOR EACH ROW
  • AFTER INSERT OR UPDATE OR DELETE ON … FOR EACH ROW

Feladata:
--*  INPUTS
--*    -
--*  RESULT
--*    Hibakódok:
--*    - ukk_trigger_001               -- nincs a megadott egyedazonosítónak (eid) megfelelő entitás
--*    - ukk_trigger_002               -- egyedazonosító nem változhat
--*    - ukk_trigger_003               -- nem lehet két ugyanolyan ID-vel ugyanaz az entitás
--*  SYNOPSIS
--*    Elvégzi az adott táblával kapcsolatos alapvető ellenőrzéseket és a az események naplózását.
--*    Kezelt események: új rekord beírása, rekord módosítása.
--*    - Beszúrás esetén, ha nincs megadva egyedazonosító, akkor generálni kell a rekordazonosító alapján.
--*    - Beszúrás esetén, ha van megadva egyedazonosító, akkor ellenőrizni kell, hogy van-e már ilyen egyed.
--*    - Beszúrás esetén, ha van megadva egyedazonosító, akkor nem lehet megegyező érvényességű rekord.
--*    - Módosítás esetén az egyedazonosító nem változhat.
--*  NOTES
--*    -

Csak idősoros táblák esetén használt trigger:

--*  INPUTS
--*    -
--*  RESULT
--*    Hibakódok:
--*    - ukk_tsigger_001               -- elmúlt érvényességi kezdettel rendelkező rekord nem változtatható vagy törölhető
--*    - ukk_tsigger_002               -- érvényesség kezdete (valid_from_time) kötelező mező
--*    - ukk_tsigger_003               -- elmúlt érvényességi kezdet nem állítható be
--*    - ukk_tsigger_004               -- nem lehet két ugyanolyan érvényességi kezdettel ugyanaz az entitás
--*    - ukk_tsigger_005               -- érvényesség kezdete nem változhat
--*  SYNOPSIS
--*    Elvégzi az adott táblával kapcsolatos alapvető ellenőrzéseket és a az események naplózását.
--*    Kezelt események: új rekord beírása, rekord módosítása.
--*    - Törlés és módosítás esetén, ha az érintett rekord érvényessége elmúlt, akkor hibaüzenet.
--*    - Új rekord bejegyzése és módosítás esetén, ha az új érvényesség elmúlt, akkor hibaüzenet.
--*    - Ha nincs megadva érvényesség kezdete, akkor hibaüzenet.
--*    - Módosítás esetén az érvényesség kezdete nem változhat.
--*    - A változásokat (beszúrás, módosítás, törlés) jegyezni kell az archív táblában.

Táblák és tulajdonságaik

személy (bob.persons)

  • person_id - a személy egyedi azonosítója (létrehozáskor az ID értékét kapja)
  • person_timezone - eltérés GMT-től (Budapest:+1)
  • person_firstname - keresztnév
  • person_lastname - vezetéknév
  • person_fullname - megjelenítendő név (ha nincs kitöltve, akkor prefix+lastname+firstname)
  • person_name_prefix - név előtag
  • person_nicname - becenév / megszólítás
  • person_sex - neme (1:férfi;2:nő)
  • person_mothers_name - anyja neve
  • person_previous_name - előző név / születési név
  • person_birthday - születésnap
  • person_birthplace - születés helye
  • person_mother_lang_code - anyanyelv
  • person_lang_code - a felületen használni kívánt nyelv. ha nincs megadva, akkor az anyanyelv értékét kapja
  • person_status - active:aktív, deleted:törölt, unregistered:nem regisztrált külső regisztráció esetén
  • person_regcode - regisztrációs kód külső regisztráció esetén
  • person_regcode_timeout - regisztráció érvényesítésének ideje (a nem regisztrálók egy idő után törlődnek)
  • person_description_tkey - megjegyzés

felhasználó (bob.users)

  • person_id - a személy egyedi azonosítója (a bob.persons táblára mutat)
  • user_status - active:aktív; inactive:passzív; deleted: törölt (törölt esetben a user_name értéke legyen NULL)
  • user_activate_time - felhasználó érvényességének kezdete
  • user_expire_time - felhasználó érvényességének vége
  • user_name - felhasználói név belépéshez
  • user_password - kódolt jelszó
  • user_password_change - jelszó utolsó változtatásának időpontja
  • user_session_time - munkamenet lejárati ideje (mp)
  • user_session_time_type - munkamenet lejárati idejének típusa (start:belépéstől; click:kattintástól)
  • user_session_code_every_click - igaz, ha minden kattintáskor új munkamenet-azonosítót kell generálni
  • user_start_right_id - a kezdő modult és műveletet meghatározó jog
  • user_authentication - internal:belső hitelesítés; external:külső (LDAP, PAM, stb.) hitelesítés;

Szabályok:

szervezet (bob.organizations)

  • park_id - székhely (központi telephely) azonosítója
  • organization_tax_number - adószám
  • organization_tradereg_number - cégjegyzékszám
  • organization_stat_number - statisztikai számjel
  • organization_shortname_tkey - rövid név nyelvi kódja (képernyőre)
  • organization_fullname_tkey - teljes név nyelvi kódja (például hivatalos iratokra), ha nincs, akkor a teljes név jelenik meg
  • organization_description_tkey - megjegyzés nyelvi kódja

munkavállaló (ukk.lnk_employee)

Mezők ismertetése:
  • person_id
  • organization_id

külső személy (ukk.outer_person)

Kibocsátók rendszereitől kapott (importált) személyek listája. Nem azonos a rendszer felhasználóihoz tartozó személyekkel, de kapcsolódhat azokhoz.

Mezők ismertetése:
  • financial_ident - pénzügyi azonosító
  • person_id - a rendszer által adminisztrált személy azonosítója (opcionális)
  • email_address - e-mail cím
  • full_name - megjelenítendő név (opcionális)
  • sex - neme (1:férfi;2:nő) (opcionális)
  • mothers_name - anyja neve (opcionális)
  • previous_name - előző név / születési név (opcionális)
  • birth_year - születésnap (opcionális)
  • birth_day - születésnap (opcionális)
  • birthplace - születés helye (opcionális)
  • address - lakcím vagy postacím (opcionális)
  • description - megjegyzés (opcionális)

tip A bob.users.person_id és az ukk.outer_person.person_id mezők alapján közvetett kapcsolatban áll a két tábla.

Szabályok:
  • A financial_ident egyedi.
  • A person_id egyedi.

iroda (ukk.office)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • email_address - elsődleges e-mail cím
  • phone_number - elsődleges telefonszám (opcionális)
  • zip_code_id - irányítószám
  • city_id - település
  • country_id - ország
  • address_line_1 - cím első sora
  • address_line_2 - cím második sora (opcionális)
  • person_id - irodavezető
  • description - megjegyzés (opcionális)

Szabályok:
  • A label mező normalizált szöveg, kulcsként NEM használjuk.
  • TODO: Nem törölhető, ha nyitott ajánlatkérés (ukk.request_offer) hivatkozik rá.

ukk.create_office() - Új iroda létrehozása

A iroda alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _EmailAddress varchar                       -- elsődleges e-mail cím
--*    _PhoneNumber varchar                        -- elsődleges telefonszám
--*    _ZipCodeId integer                          -- irányítószám
--*    _CityId integer                             -- település
--*    _CountryId integer                          -- ország
--*    _AddressLine_1 varchar                      -- cím első sora
--*    _AddressLine_2 varchar                      -- cím második sora
--*    _PersonId integer                           -- irodavezető
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_office_001                  --Hiányzó paraméter: _Label
--*      ukk_create_office_002                  --Hiányzó paraméter: _ShortName
--*      ukk_create_office_003                  --Hiányzó paraméter: _EmailAddress
--*      ukk_create_office_004                  --Hiányzó paraméter: _ZipCodeId
--*      ukk_create_office_005                  --Nem érvényes (FK) paraméter: _ZipCodeId
--*      ukk_create_office_006                  --Hiányzó paraméter: _CityId
--*      ukk_create_office_007                  --Nem érvényes (FK) paraméter: _CityId
--*      ukk_create_office_008                  --Hiányzó paraméter: _CountryId
--*      ukk_create_office_009                  --Nem érvényes (FK) paraméter: _CountryId
--*      ukk_create_office_010                  --Hiányzó paraméter: _AddressLine_1
--*      ukk_create_office_011                  --Hiányzó paraméter: _PersonId
--*      ukk_create_office_012                  --Nem érvényes (FK) paraméter: _PersonId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_office(
--*      'ukk',
--*      'ukk_office',
--*      1,
--*      NULL,
--*      'eger',
--*      'Egri iroda',
--*      NULL,
--*      'eger@utalvanykezelo.hu',
--*      '+36 20 999-9999',
--*      100,
--*      1000,
--*      1,
--*      'Mátyás Király út 100.',
--*      NULL,
--*      42,
--*      NULL
--*    );

ukk.edit_office() - Létező iroda adatainak módosítása

Létező iroda adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _EmailAddress varchar                       -- elsődleges e-mail cím
--*    _PhoneNumber varchar                        -- elsődleges telefonszám
--*    _ZipCodeId integer                          -- irányítószám
--*    _CityId integer                             -- település
--*    _CountryId integer                          -- ország
--*    _AddressLine_1 varchar                      -- cím első sora
--*    _AddressLine_2 varchar                      -- cím második sora
--*    _PersonId integer                           -- irodavezető
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_office_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_office_002        -- nem létező iroda
--*      ukk_edit_office_003                  -- Hiányzó paraméter: _Label
--*      ukk_edit_office_004                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_office_005                  -- Hiányzó paraméter: _EmailAddress
--*      ukk_edit_office_006                  -- Hiányzó paraméter: _ZipCodeId
--*      ukk_edit_office_007                  -- Nem érvényes (FK) paraméter: _ZipCodeId
--*      ukk_edit_office_008                  -- Hiányzó paraméter: _CityId
--*      ukk_edit_office_009                  -- Nem érvényes (FK) paraméter: _CityId
--*      ukk_edit_office_010                  -- Hiányzó paraméter: _CountryId
--*      ukk_edit_office_011                  -- Nem érvényes (FK) paraméter: _CountryId
--*      ukk_edit_office_012                  -- Hiányzó paraméter: _AddressLine_1
--*      ukk_edit_office_013                  -- Hiányzó paraméter: _PersonId
--*      ukk_edit_office_014                  -- Nem érvényes (FK) paraméter: _PersonId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_office(
--*      'ukk',
--*      'ukk_office',
--*      1,
--*      NULL,
--*      1,
--*      'eger',
--*      'Egri iroda',
--*      NULL,
--*      'eger@utalvanykezelo.hu',
--*      '+36 20 999-9999',
--*      100,
--*      1000,
--*      1,
--*      'Mátyás Király út 100.',
--*      NULL,
--*      42,
--*      NULL
--*    );

ukk.list_office() - Irodák listázása

Irodák listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- iroda állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    address_line_1 varchar                      -- cím első sora
--*    address_line_2 varchar                      -- cím második sora
--*    person_id integer                           -- irodavezető
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    email_address varchar                       -- elsődleges e-mail cím
--*    phone_number varchar                        -- elsődleges telefonszám
--*    zip_code_id integer                         -- irányítószám
--*    city_id integer                             -- település
--*    country_id integer                          -- ország
--*
--*    Hibakódok:
--*      ukk_list_office_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_office( now() );

ukk.read_office() - Iroda adatainak visszaadása

Iroda adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- iroda állapota (active:aktív, deleted:törölt)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    email_address varchar                      -- elsődleges e-mail cím
--*    phone_number varchar                       -- elsődleges telefonszám
--*    zip_code_id integer                        -- irányítószám
--*    city_id integer                            -- település
--*    country_id integer                         -- ország
--*    address_line_1 varchar                     -- cím első sora
--*    address_line_2 varchar                     -- cím második sora
--*    person_id integer                          -- irodavezető
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_office_001              -- egyedazonosító megadása kötelező
--*      ukk_read_office_002              -- nem megfelelő egyedazonosító
--*      ukk_read_office_003              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_office( 1, now() );

ukk.set_office() - Iroda állapotának beállítása

Átírja a iroda állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                               -- a változtatandó csoportosítási cél azonosítója
--*    _Status                                    -- iroda állapota (active:aktív, deleted:törölt)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_office_001     -- egyedazonosító megadása kötelező
--*      ukk_set_office_002     -- nem létező iroda
--*      ukk_set_office_003     -- állapot megadása kötelező
--*      ukk_set_office_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_office(
--*      'ukk',
--*      'ukk_office',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_office() - Irodák egyszerűsített listázása

Irodák listázása az adott időpontban.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- iroda állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    address_line_1 varchar                      -- cím első sora
--*    address_line_2 varchar                      -- cím második sora
--*    person_id integer                           -- irodavezető
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    email_address varchar                       -- elsődleges e-mail cím
--*    phone_number varchar                        -- elsődleges telefonszám
--*    zip_code_id integer                         -- irányítószám
--*    city_id integer                             -- település
--*    country_id integer                          -- ország
--*
--*    Hibakódok:
--*      ukk_simplelist_office_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_office( now() );

kibocsátó (ukk.mandator)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • url - a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
  • picture_id - jellemző kép (public.files) (opcionális)
  • description - megjegyzés (opcionális)

Szabályok:
  • A label mező normalizált szöveg, kulcsként használjuk.
  • Nem törölhető, ha nem törölt utalványtípus (ukk.voucher_type) hivatkozik rá.

ukk.create_mandator() - Új kibocsátó létrehozása

A kibocsátó alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Url varchar                                -- a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_mandator_001                      --Hiányzó paraméter: _Label
--*      ukk_create_mandator_002                      --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_mandator(
--*      'ukk',
--*      'ukk_mandator',
--*      1,
--*      NULL,
--*      'tesco',
--*      'Tesco',
--*      'TESCO-GLOBAL Áruházak Zrt.',
--*      'http://tesco.hu/szolgaltatasok/utalvany/tesco-utalvanyok',
--*      NULL
--*    );

ukk.edit_mandator() - Létező kibocsátó adatainak módosítása

Létező kibocsátó adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- rövid név
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Url varchar                                -- a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_mandator_001                     -- egyedazonosító megadása kötelező
--*       ukk_edit_mandator_002                     -- nem létező kibocsátó
--*      ukk_edit_mandator_003                          -- Hiányzó paraméter: _Label
--*      ukk_edit_mandator_004                          -- Hiányzó paraméter: _ShortName
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_mandator(
--*      'ukk',
--*      'ukk_mandator',
--*      1,
--*      NULL,
--*      2,
--*      'liter',
--*      'l',
--*      'liter',
--*      NULL
--*    );

ukk.list_mandator() - Kibocsátók listázása

Kibocsátók listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    url varchar                                 -- a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
--*    description varchar                         -- megjegyzés
--*    voucher_type_count integer                  -- hivatkozó utalványtípusok száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_mandator();

ukk.read_mandator() - Kibocsátó adatainak visszaadása

Kibocsátó adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- kibocsátó állapota (active:aktív, deleted:törölt)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    url varchar                                -- a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_mandator_001                    -- egyedazonosító megadása kötelező
--*      ukk_read_mandator_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_mandator_003                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_mandator( 1, now() );

ukk.labelread_mandator() - Kibocsátó adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával

Kibocsátó adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával.

--*  INPUTS
--*    _Label                                     -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    url varchar                                -- a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_mandator_001                    -- egyedazonosító címke megadása kötelező
--*      ukk_read_mandator_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_mandator_003                    -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.labelread_mandator( 'label' );

ukk.set_mandator() - Kibocsátó állapotának beállítása

Átírja a kibocsátó állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó csoportosítási cél azonosítója
--*    _Status,                                   -- kibocsátó állapota (active:aktív, deleted:törölt)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_mandator_001                     -- egyedazonosító megadása kötelező
--*      ukk_set_mandator_002                     -- nem létező kibocsátó
--*      ukk_set_mandator_003                     -- állapot megadása kötelező
--*      ukk_set_mandator_004                     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_mandator(
--*      'ukk',
--*      'ukk_mandator',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_mandator() - Kibocsátók egyszerűsített listázása

Kibocsátók listázása az adott időpontban.

--*  INPUTS
--*    _EID                                        -- egyedazonosító
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- kibocsátó állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    url varchar                                 -- a kibocsátó honlapja (és az utalványokra vonatkozó információk) elérési útvonala
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_mandator_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_mandator( now() );

kibocsátó képviselője (ukk.lnk_mandator_person)

Mezők ismertetése:
  • mandator_id - kibocsátó
  • person_id - személy azonosítója

beváltási hálózat / franchise (ukk.cashing_network)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • description - megjegyzés (opcionális)

Szabályok:
  • Nem törölhető, amíg aktív beváltóhely (ukk.cashing_site) hivatkozik rá.

ukk.create_cashing_network() - Új beváltóhely hálózat létrehozása

A beváltóhely hálózat alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_cashing_network_001                  --Hiányzó paraméter: _Label
--*      ukk_create_cashing_network_002                  --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_cashing_network(
--*      'ukk',
--*      'ukk_cashing_network',
--*      1,
--*      null,
--*      'coop',
--*      'Coop',
--*      'Coop Üzletlánc',
--*      NULL
--*    );

ukk.edit_cashing_network() - Létező beváltóhely hálózat adatainak módosítása

Létező beváltóhely hálózat adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_cashing_network_001                  --Hiányzó paraméter: _Label
--*      ukk_create_cashing_network_002                  --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_cashing_network(
--*      'ukk',
--*      'ukk_cashing_network',
--*      1,
--*      null,
--*      'coop',
--*      'Coop',
--*      'Coop Üzletlánc',
--*      NULL
--*    );

ukk.list_cashing_network() - Beváltóhely hálózatok listázása

Beváltóhely hálózatok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                         -- megjegyzés
--*    cashing_site_count integer                  -- hivatkozó beváltóhelyek száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_cashing_network();

ukk.read_cashing_network() - Beváltóhely hálózat adatainak visszaadása

Beváltóhely hálózat adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- beváltóhely hálózat állapota (active:aktív, deleted:törölt)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_cashing_network_001                    -- egyedazonosító megadása kötelező
--*      ukk_read_cashing_network_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_cashing_network_003                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_cashing_network( 1, now() );

ukk.labelread_cashing_network() - Beváltóhely hálózat adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával

Beváltóhely hálózat adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával.

--*  INPUTS
--*    _Label                                     -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_cashing_network_001             -- egyedazonosító címke megadása kötelező
--*      ukk_read_cashing_network_002             -- nem megfelelő egyedazonosító
--*      ukk_read_cashing_network_003             -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.labelread_cashing_network( 'label' );

ukk.set_cashing_network() - Beváltóhely hálózat állapotának beállítása

Átírja a beváltóhely hálózat állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó csoportosítási cél azonosítója
--*    _Status,                                   -- beváltóhely hálózat állapota (active:aktív, deleted:törölt)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_cashing_network_001                     -- egyedazonosító megadása kötelező
--*      ukk_set_cashing_network_002                     -- nem létező beváltóhely hálózat
--*      ukk_set_cashing_network_003                     -- állapot megadása kötelező
--*      ukk_set_cashing_network_004                     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_cashing_network(
--*      'ukk',
--*      'ukk_cashing_network',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_cashing_network() - Beváltóhely hálózatok egyszerűsített listázása

Beváltóhely hálózatok listázása az adott időpontban.

--*  INPUTS
--*    _EID                                        -- egyedazonosító
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- beváltóhely hálózat állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_cashing_network_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_cashing_network( now() );

beváltóhely (ukk.cashing_site)

Mezők ismertetése:
  • cashing_network_id - beváltási hálózat / franchise (opcionális)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • email_address - elsődleges e-mail cím (opcionális)
  • phone_number - elsődleges telefonszám (opcionális)
  • zip_code_id - irányítószám
  • city_id - település
  • country_id - ország
  • address_line_1 - cím első sora
  • address_line_2 - cím második sora (opcionális)
  • description - megjegyzés (opcionális)

Szabályok:
  • Nem törölhető, amíg érvényes utalvány-beváltóhely (ukk.lnk_voucher_type_cashing) hivatkozik rá.

ukk.create_cashing_site() - Új beváltóhely létrehozása

A beváltóhely alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _CashingNetworkId integer                   -- beváltóhely hálózat
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _EmailAddress varchar                       -- elsődleges e-mail cím
--*    _PhoneNumber varchar                        -- elsődleges telefonszám
--*    _ZipCodeId integer                          -- irányítószám
--*    _CityId integer                             -- település
--*    _CountryId integer                          -- ország
--*    _AddressLine_1 varchar                      -- cím első sora
--*    _AddressLine_2 varchar                      -- cím második sora
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_cashing_site_001                  --Hiányzó paraméter: _ShortName
--*      ukk_create_cashing_site_002                  --Hiányzó paraméter: _ZipCodeId
--*      ukk_create_cashing_site_003                  --Nem érvényes (FK) paraméter: _ZipCodeId
--*      ukk_create_cashing_site_004                  --Hiányzó paraméter: _CityId
--*      ukk_create_cashing_site_005                  --Nem érvényes (FK) paraméter: _CityId
--*      ukk_create_cashing_site_006                  --Hiányzó paraméter: _CountryId
--*      ukk_create_cashing_site_007                  --Nem érvényes (FK) paraméter: _CountryId
--*      ukk_create_cashing_site_008                  --Hiányzó paraméter: _AddressLine_1
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_cashing_site(
--*      'ukk',
--*      'ukk_cashing_site',
--*      1,
--*      null,
--*      1,
--*      '660. SZ. ABC EGER',
--*      '660. számú ABC EGER',
--*      NULL,
--*      '+36 56/516-626',
--*      539,
--*      1333,
--*      1,
--*      'Hadnagy út 18.',
--*      NULL,
--*      NULL
--*    );

ukk.edit_cashing_site() - Létező beváltóhely adatainak módosítása

Létező beváltóhely adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _CashingNetworkId integer                   -- beváltóhely hálózat
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _EmailAddress varchar                       -- elsődleges e-mail cím
--*    _PhoneNumber varchar                        -- elsődleges telefonszám
--*    _ZipCodeId integer                          -- irányítószám
--*    _CityId integer                             -- település
--*    _CountryId integer                          -- ország
--*    _AddressLine_1 varchar                      -- cím első sora
--*    _AddressLine_2 varchar                      -- cím második sora
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_cashing_site_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_cashing_site_002        -- nem létező beváltóhely
--*      ukk_edit_cashing_site_003                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _CashingNetworkId
--*      ukk_edit_cashing_site_004                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_cashing_site_005                  -- Hiányzó paraméter: _ZipCodeId
--*      ukk_edit_cashing_site_006                  -- Nem érvényes (FK) paraméter: _ZipCodeId
--*      ukk_edit_cashing_site_007                  -- Hiányzó paraméter: _CityId
--*      ukk_edit_cashing_site_008                  -- Nem érvényes (FK) paraméter: _CityId
--*      ukk_edit_cashing_site_009                  -- Hiányzó paraméter: _CountryId
--*      ukk_edit_cashing_site_010                  -- Nem érvényes (FK) paraméter: _CountryId
--*      ukk_edit_cashing_site_011                  -- Hiányzó paraméter: _AddressLine_1
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_cashing_site(
--*      'ukk',
--*      'ukk_cashing_site',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      '660. SZ. ABC EGER',
--*      '660. számú ABC EGER',
--*      NULL,
--*      '+36 56/516-626',
--*      539,
--*      1333,
--*      1,
--*      'Hadnagy út 18.',
--*      NULL,
--*      NULL
--*    );

ukk.list_cashing_site() - Beváltóhelyek listázása

Beváltóhelyek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    cashing_network_id integer                  -- beváltóhely hálózat
--*    cashing_network_name varchar                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    address_line_1 varchar                      -- cím első sora
--*    address_line_2 varchar                      -- cím második sora
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    email_address varchar                       -- elsődleges e-mail cím
--*    phone_number varchar                        -- elsődleges telefonszám
--*    zip_code_id integer                         -- irányítószám
--*    city_id integer                             -- település
--*    country_id integer                          -- ország
--*    lnk_voucher_type_cashing_count integer      -- hivatkozó utalvány-beváltóhelyek száma
--*
--*    Hibakódok:
--*      ukk_list_cashing_site_001                 -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_cashing_site( now() );

ukk.read_cashing_site() - Beváltóhely adatainak visszaadása

Beváltóhely adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             --
--*    cashing_network_id integer                 -- beváltóhely hálózat
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    email_address varchar                      -- elsődleges e-mail cím
--*    phone_number varchar                       -- elsődleges telefonszám
--*    zip_code_id integer                        -- irányítószám
--*    city_id integer                            -- település
--*    country_id integer                         -- ország
--*    address_line_1 varchar                     -- cím első sora
--*    address_line_2 varchar                     -- cím második sora
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_cashing_site_001              -- egyedazonosító megadása kötelező
--*      ukk_read_cashing_site_002              -- nem megfelelő egyedazonosító
--*      ukk_read_cashing_site_003              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_cashing_site( 1, now() );

ukk.set_cashing_site() - Beváltóhely állapotának beállítása

Átírja a beváltóhely állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                   -- a változtatandó csoportosítási cél azonosítója
--*    _Status,
--*  RESULT
--*    _EID                            -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_cashing_site_001     -- egyedazonosító megadása kötelező
--*      ukk_set_cashing_site_002     -- nem létező beváltóhely
--*      ukk_set_cashing_site_003     -- állapot megadása kötelező
--*      ukk_set_cashing_site_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_cashing_site(
--*      'ukk',
--*      'ukk_cashing_site',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_cashing_site() - Beváltóhelyek egyszerűsített listázása

Beváltóhelyek listázása az adott időpontban.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              --
--*    cashing_network_id integer                  -- beváltóhely hálózat
--*    address_line_1 varchar                      -- cím első sora
--*    address_line_2 varchar                      -- cím második sora
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    email_address varchar                       -- elsődleges e-mail cím
--*    phone_number varchar                        -- elsődleges telefonszám
--*    zip_code_id integer                         -- irányítószám
--*    city_id integer                             -- település
--*    country_id integer                          -- ország
--*
--*    Hibakódok:
--*      ukk_simplelist_cashing_site_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_cashing_site( now() );

pénznem (ukk.currency)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • description - megjegyzés (opcionális)

Szabályok:
  • A label mező normalizált szöveg, kulcsként használjuk.
  • Nem törölhető, amíg aktív címlet (ukk.denomination) hivatkozik rá.

ukk.create_currency() - Új pénznem létrehozása

A pénznem alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_currency_001                  --Hiányzó paraméter: _Label
--*      ukk_create_currency_002                  --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_currency(
--*      'ukk',
--*      'ukk_currency',
--*      1,
--*      NULL,
--*      'ft',
--*      'Ft',
--*      'Forint',
--*      NULL
--*    );

ukk.edit_currency() - Létező pénznem adatainak módosítása

Létező pénznem adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- rövid név
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_currency_001                     -- egyedazonosító megadása kötelező
--*       ukk_edit_currency_002                     -- nem létező pénznem
--*      ukk_edit_currency_003                          -- Hiányzó paraméter: _Label
--*      ukk_edit_currency_004                          -- Hiányzó paraméter: _ShortName
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_currency(
--*      'ukk',
--*      'ukk_currency',
--*      1,
--*      NULL,
--*      2,
--*      'euro',
--*      '€',
--*      'Euro',
--*      NULL
--*    );

ukk.list_currency() - Pénznemek listázása

Pénznemek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                         -- megjegyzés
--*    denomination_count integer                  -- hivatkozó címletek száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_currency();

ukk.read_currency() - Pénznem adatainak visszaadása

Pénznem adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- pénznem állapota (active:aktív, deleted:törölt)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_currency_001                    -- egyedazonosító megadása kötelező
--*      ukk_read_currency_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_currency_003                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_currency( 1, now() );

ukk.labelread_currency() - Pénznem adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával

Pénznem adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával.

--*  INPUTS
--*    _Label                                     -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_currency_001                    -- egyedazonosító címke megadása kötelező
--*      ukk_read_currency_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_currency_003                    -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.labelread_currency( 'label' );

ukk.set_currency() - Pénznem állapotának beállítása

Átírja a pénznem állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó csoportosítási cél azonosítója
--*    _Status,                                   -- pénznem állapota (active:aktív, deleted:törölt)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_currency_001                     -- egyedazonosító megadása kötelező
--*      ukk_set_currency_002                     -- nem létező pénznem
--*      ukk_set_currency_003                     -- állapot megadása kötelező
--*      ukk_set_currency_004                     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_currency(
--*      'ukk',
--*      'ukk_currency',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_currency() - Pénznemek egyszerűsített listázása

Pénznemek listázása az adott időpontban.

--*  INPUTS
--*    _EID                                        -- egyedazonosító
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- pénznem állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_currency_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_currency( now() );

mértékegység (ukk.unit)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • description - megjegyzés (opcionális)

Szabályok:
  • A label mező normalizált szöveg, kulcsként használjuk.
  • Nem törölhető, amíg aktív címlet (ukk.denomination) hivatkozik rá.

ukk.create_unit() - Új mértékegység létrehozása

A mértékegység alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_unit_001                      --Hiányzó paraméter: _Label
--*      ukk_create_unit_002                      --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_unit(
--*      'ukk',
--*      'ukk_unit',
--*      1,
--*      NULL,
--*      'db',
--*      'db',
--*      'darab',
--*      NULL
--*    );

ukk.edit_unit() - Létező mértékegység adatainak módosítása

Létező mértékegység adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- rövid név
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_unit_001                     -- egyedazonosító megadása kötelező
--*       ukk_edit_unit_002                     -- nem létező mértékegység
--*      ukk_edit_unit_003                          -- Hiányzó paraméter: _Label
--*      ukk_edit_unit_004                          -- Hiányzó paraméter: _ShortName
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_unit(
--*      'ukk',
--*      'ukk_unit',
--*      1,
--*      NULL,
--*      2,
--*      'liter',
--*      'l',
--*      'liter',
--*      NULL
--*    );

ukk.list_unit() - Mértékegységek listázása

Mértékegységek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                         -- megjegyzés
--*    denomination_count integer                  -- hivatkozó címletek száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_unit();

ukk.read_unit() - Mértékegység adatainak visszaadása

Mértékegység adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- mértékegység állapota (active:aktív, deleted:törölt)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_unit_001                    -- egyedazonosító megadása kötelező
--*      ukk_read_unit_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_unit_003                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_unit( 1, now() );

ukk.labelread_unit() - Mértékegység adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával

Mértékegység adott időpontban érvényes adatainak visszaadása egyedazonosító címke megadásával

--*  INPUTS
--*    _Label                                     -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_unit_001                        -- egyedazonosító címke megadása kötelező
--*      ukk_read_unit_002                        -- nem megfelelő egyedazonosító
--*      ukk_read_unit_003                        -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.labelread_unit( 'label' );

ukk.set_unit() - Mértékegység állapotának beállítása

Átírja a mértékegység állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó csoportosítási cél azonosítója
--*    _Status,                                   -- mértékegység állapota (active:aktív, deleted:törölt)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_unit_001                     -- egyedazonosító megadása kötelező
--*      ukk_set_unit_002                     -- nem létező mértékegység
--*      ukk_set_unit_003                     -- állapot megadása kötelező
--*      ukk_set_unit_004                     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_unit(
--*      'ukk',
--*      'ukk_unit',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_unit() - Mértékegységek egyszerűsített listázása

Mértékegységek listázása az adott időpontban.

--*  INPUTS
--*    _EID                                        -- egyedazonosító
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- mértékegység állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_unit_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_unit( now() );

általános forgalmi adó (ukk.sales_tax)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • tax_rate - ÁFA mértéke
  • factor - szorzó
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • description - megjegyzés (opcionális)

Szabályok:
  • A label mező normalizált szöveg, kulcsként használjuk.

ukk.create_sales_tax() - Új általános forgalmi adó létrehozása

A általános forgalmi adó alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _TaxRate numeric                            -- ÁFA mértéke
--*    _Factor numeric                             -- szorzó
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_sales_tax_001                      --Hiányzó paraméter: _Label
--*      ukk_create_sales_tax_002                      --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_sales_tax(
--*      'ukk',
--*      'ukk_sales_tax',
--*      1,
--*      NULL,
--*      '27',
--*      27,
--*      0.2126,
--*      '27%',
--*      '27 százalékos ÁFA',
--*      NULL
--*    );

ukk.edit_sales_tax() - Létező általános forgalmi adó adatainak módosítása

Létező általános forgalmi adó adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- rövid név
--*    _TaxRate numeric                            -- ÁFA mértéke
--*    _Factor numeric                             -- szorzó
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_sales_tax_001           -- egyedazonosító megadása kötelező
--*       ukk_edit_sales_tax_002           -- nem létező ÁFA típus
--*      ukk_edit_sales_tax_003                  -- Hiányzó paraméter: _Label
--*      ukk_edit_sales_tax_004                  -- Hiányzó paraméter: _TaxRate
--*      ukk_edit_sales_tax_005                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_sales_tax_006                  -- érvényesség kezdete nem lehet kisebb, mint a tranzakció időpontja
--*      ukk_edit_sales_tax_007                  -- érvényesség kezdete nem lehet nagyobb vagy egyenlő, mint az érvényesség  vége
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_sales_tax(
--*      'ukk',
--*      'ukk_sales_tax',
--*      1,
--*      NULL,
--*      2,
--*      'liter',
--*      'l',
--*      'liter',
--*      NULL
--*    );

ukk.list_sales_tax() - Általános forgalmi adók listázása

Általános forgalmi adók listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    tax_rate numeric                            -- ÁFA mértéke
--*    factor numeric                              -- szorzó
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_list_sales_tax_001                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_sales_tax( now() );

ukk.read_sales_tax() - Általános forgalmi adó adatainak visszaadása

Általános forgalmi adó adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- általános forgalmi adó állapota (active:aktív, deleted:törölt)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    tax_rate numeric                            -- ÁFA mértéke
--*    factor numeric                              -- szorzó
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_sales_tax_001                    -- egyedazonosító megadása kötelező
--*      ukk_read_sales_tax_002                    -- nem megfelelő egyedazonosító
--*      ukk_read_sales_tax_003                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_sales_tax( 1, now() );

ukk.set_sales_tax() - Általános forgalmi adó állapotának beállítása

Átírja a általános forgalmi adó állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó csoportosítási cél azonosítója
--*    _Status,                                   -- általános forgalmi adó állapota (active:aktív, deleted:törölt)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_sales_tax_001                     -- egyedazonosító megadása kötelező
--*      ukk_set_sales_tax_002                     -- nem létező általános forgalmi adó
--*      ukk_set_sales_tax_003                     -- állapot megadása kötelező
--*      ukk_set_sales_tax_004                     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_sales_tax(
--*      'ukk',
--*      'ukk_sales_tax',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_sales_tax() - Általános forgalmi adók egyszerűsített listázása

Általános forgalmi adók listázása az adott időpontban.

--*  INPUTS
--*    _EID                                        -- egyedazonosító
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- jármű azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- általános forgalmi adó állapota (active:aktív, deleted:törölt)
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    tax_rate numeric                            -- ÁFA mértéke
--*    factor numeric                              -- szorzó
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_sales_tax_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_sales_tax( now() );

címlet (ukk.denomination)

Mezők ismertetése:
  • short_name - rövid név (például "500 Ft", "1 évad")
  • full_name - teljes név (például "1 évados bérlet") (opcionális)
  • par - váltás alapjául szolgáló névérték
  • price - ár (opcionális)
  • currency_label - pénznem (opcionális)
  • is_par_override - névérték utalványtípusonként felülbírálható? (default: hamis)
  • is_price_override - ár utalványtípusonként felülbírálható? (default: hamis)

Szabályok:
  • TODO: (SQL) Ha az ár meg van adva, akkor a pénznem is kötelező.
  • Nem törölhető, amíg érvényes utalványtípus (ukk.voucher_type_denomination) hivatkozik rá.

ukk.create_denomination() - Új címlet létrehozása

A címlet alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Par numeric                                -- váltás alapjául szolgáló névérték
--*    _Price numeric                              -- ár
--*    _CurrencyLabel varchar                      -- pénznem
--*    _IsParOverride boolean                      -- névérték utalványtípusonként felülbírálható?
--*    _IsPriceOverride boolean                    -- ár utalványtípusonként felülbírálható?
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_denomination_001                  --Hiányzó paraméter: _ShortName
--*      ukk_create_denomination_002                  --Hiányzó paraméter: _Par
--*      ukk_create_denomination_003                  --Hiányzó paraméter: _IsParOverride
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_denomination(
--*      'ukk',
--*      'ukk_denomination',
--*      1,
--*      null,
--*      '500 Ft',
--*      '500 forintos utalvány',
--*      500,
--*      500,
--*      'ft',
--*      false,
--*      false
--*    );

ukk.edit_denomination() - Létező címlet adatainak módosítása

Létező címlet adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Par numeric                                -- váltás alapjául szolgáló névérték
--*    _Price numeric                              -- ár
--*    _CurrencyLabel varchar                      -- pénznem
--*    _IsParOverride boolean                      -- névérték utalványtípusonként felülbírálható?
--*    _IsPriceOverride boolean                    -- ár utalványtípusonként felülbírálható?
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_denomination_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_denomination_002        -- nem létező címlet
--*      ukk_edit_denomination_003                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_denomination_004                  -- Hiányzó paraméter: _Par
--*      ukk_edit_denomination_005                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _CurrencyLabel
--*      ukk_edit_denomination_006                  -- Hiányzó paraméter: _IsParOverride
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_denomination(
--*      'ukk',
--*      'ukk_denomination',
--*      1,
--*      NULL,
--*      1,
--*      '500 Ft',
--*      '500 forintos utalvány',
--*      500,
--*      500,
--*      'ft',
--*      false,
--*      false
--*    );

ukk.list_denomination() - Címletek listázása

Címletek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    par numeric                                 -- váltás alapjául szolgáló névérték
--*    price numeric                               -- ár
--*    currency_label varchar                      -- pénznem
--*    currency_name varchar                       -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    is_par_override boolean                     -- névérték utalványtípusonként felülbírálható?
--*    is_price_override boolean                   -- ár utalványtípusonként felülbírálható?
--*    voucher_type_denomination_count integer     -- hivatkozó lehetséges címletek száma
--*
--*    Hibakódok:
--*      ukk_list_denomination_001                 -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_denomination( now() );

ukk.read_denomination() - Címlet adatainak visszaadása

Címlet adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (active, deleted)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    par numeric                                -- váltás alapjául szolgáló névérték
--*    price numeric                              -- ár
--*    currency_label varchar                     -- pénznem
--*    is_par_override boolean                    -- névérték utalványtípusonként felülbírálható?
--*    is_price_override boolean                  -- ár utalványtípusonként felülbírálható?
--*
--*    Hibakódok:
--*      ukk_read_denomination_001                -- egyedazonosító megadása kötelező
--*      ukk_read_denomination_002                -- nem megfelelő egyedazonosító
--*      ukk_read_denomination_003                -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_denomination( 1, now() );

ukk.set_denomination() - Címlet állapotának beállítása

Átírja a címlet állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                   -- a változtatandó csoportosítási cél azonosítója
--*    _Status,
--*  RESULT
--*    _EID                            -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_denomination_001     -- egyedazonosító megadása kötelező
--*      ukk_set_denomination_002     -- nem létező címlet
--*      ukk_set_denomination_003     -- állapot megadása kötelező
--*      ukk_set_denomination_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_denomination(
--*      'ukk',
--*      'ukk_denomination',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_denomination() - Címletek egyszerűsített listázása

Címletek listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    par numeric                                 -- váltás alapjául szolgáló névérték
--*    price numeric                               -- ár
--*    currency_label varchar                      -- pénznem
--*    is_par_override boolean                     -- névérték utalványtípusonként felülbírálható?
--*    is_price_override boolean                   -- ár utalványtípusonként felülbírálható?
--*
--*    Hibakódok:
--*      ukk_simplelist_denomination_001           -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_denomination( now() );

utalvány-típus (ukk.voucher_type)

Mezők ismertetése:
  • mandator_id - kibocsátó
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • unit_label - mértékegység
  • barcode - vonalkód (opcionális)
  • default_validity_date - a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma (opcionális)
  • is_once_used - egyszer felhasználható utalvány?
  • url - az utalványtípusra vonatkozó információk elérési útvonala (opcionális)
  • safety_notes - biztonsági jegyek, azonosítók szöveges ismertetése (opcionális)
  • picture_id - jellemző kép (public.files) (opcionális)
  • warning_limit - ezen névérték feletti ügylet risztást vált ki
  • description - megjegyzés (opcionális)

Szabályok:
  • TODO: (SQL) 'default_validity_date' megadásakor nem lehet múltbéli

ukk.create_voucher_type() - Új utalványtípus létrehozása

A utalványtípus alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _MandatorLabel varchar                      -- kibocsátó
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _UnitLabel varchar                          -- mértékegység
--*    _Barcode varchar                            -- vonalkód
--*    _DefaultValidityDate date                   -- a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma
--*    _IsOnceUsed boolean                         -- egyszer felhasználható utalvány?
--*    _Url varchar                                -- az utalványtípusra vonatkozó információk elérési útvonala
--*    _SafetyNotes varchar                        -- biztonsági jegyek, azonosítók szöveges ismertetése
--*    _PictureId integer                          -- jellemző kép (public.files)
--*    _WarningLimit integer                       -- ezen névérték feletti ügylet risztást vált ki
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_voucher_type_001                  --Hiányzó paraméter: _MandatorLabel
--*      ukk_create_voucher_type_002                  --Nem érvényes (FK) paraméter: _MandatorLabel
--*      ukk_create_voucher_type_003                  --Hiányzó paraméter: _ShortName
--*      ukk_create_voucher_type_004                  --Hiányzó paraméter: _IsOnceUsed
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_voucher_type(
--*      'ukk',
--*      'ukk_voucher_type',
--*      1,
--*      null,
--*      1,
--*      'Puebla Sport',
--*      'Puebla Sportutalvány',
--*      'ft',
--*      NULL,
--*      NULL,
--*      true,
--*      'http://puebla.hu/utalvanyaink/utalvany-fajtak',
--*      NULL,
--*      NULL,
--*      50000,
--*      NULL
--*    );

ukk.edit_voucher_type() - Létező utalványtípus adatainak módosítása

Létező utalványtípus adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _MandatorLabel varchar                      -- kibocsátó
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _UnitLabel varchar                          -- mértékegység
--*    _Barcode varchar                            -- vonalkód
--*    _DefaultValidityDate date                   -- a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma
--*    _IsOnceUsed boolean                         -- egyszer felhasználható utalvány?
--*    _Url varchar                                -- az utalványtípusra vonatkozó információk elérési útvonala
--*    _SafetyNotes varchar                        -- biztonsági jegyek, azonosítók szöveges ismertetése
--*    _PictureId integer                          -- jellemző kép (public.files)
--*    _WarningLimit integer                       -- ezen névérték feletti ügylet risztást vált ki
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_voucher_type_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_voucher_type_002        -- nem létező utalványtípus
--*      ukk_edit_voucher_type_003                  -- Hiányzó paraméter: _MandatorLabel
--*      ukk_edit_voucher_type_004                  -- Nem érvényes (FK) paraméter: _MandatorLabel
--*      ukk_edit_voucher_type_005                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_voucher_type_006                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _UnitLabel
--*      ukk_edit_voucher_type_007                  -- Hiányzó paraméter: _IsOnceUsed
--*      ukk_edit_voucher_type_008                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _PictureId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_voucher_type(
--*      'ukk',
--*      'ukk_voucher_type',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      'Puebla Sport',
--*      'Puebla Sportutalvány',
--*      'ft',
--*      NULL,
--*      NULL,
--*      true,
--*      'http://puebla.hu/utalvanyaink/utalvany-fajtak',
--*      NULL,
--*      NULL,
--*      50000,
--*      NULL
--*    );

ukk.list_voucher_type() - Utalványtípusok listázása

Utalványtípusok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    mandator_label varchar                      -- kibocsátó
--*    mandator_name varchar                       -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    safety_notes varchar                        -- biztonsági jegyek, azonosítók szöveges ismertetése
--*    picture_id integer                          -- jellemző kép (public.files)
--*    warning_limit integer                       -- ezen névérték feletti ügylet risztást vált ki
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    unit_label varchar                          -- mértékegység
--*    unit_name varchar                           -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    barcode varchar                             -- vonalkód
--*    default_validity_date date                  -- a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma
--*    is_once_used boolean                        -- egyszer felhasználható utalvány?
--*    url varchar                                 -- az utalványtípusra vonatkozó információk elérési útvonala
--*    lnk_voucher_type_cashing_count integer      -- hivatkozó utalvány-beváltóhelyek száma
--*    pack_voucher_type_count integer             -- hivatkozó érintett utalványtípusok száma
--*    voucher_type_denomination_count integer     -- hivatkozó lehetséges címletek száma
--*
--*    Hibakódok:
--*      ukk_list_voucher_type_001                 -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_voucher_type( now() );

ukk.read_voucher_type() - Utalványtípus adatainak visszaadása

Utalványtípus adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (draft, active, deleted)
--*    mandator_label varchar                     -- kibocsátó
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    unit_label varchar                         -- mértékegység
--*    barcode varchar                            -- vonalkód
--*    default_validity_date date                 -- a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma
--*    is_once_used boolean                       -- egyszer felhasználható utalvány?
--*    url varchar                                -- az utalványtípusra vonatkozó információk elérési útvonala
--*    safety_notes varchar                       -- biztonsági jegyek, azonosítók szöveges ismertetése
--*    picture_id integer                         -- jellemző kép (public.files)
--*    warning_limit integer                      -- ezen névérték feletti ügylet risztást vált ki
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_voucher_type_001                -- egyedazonosító megadása kötelező
--*      ukk_read_voucher_type_002                -- nem megfelelő egyedazonosító
--*      ukk_read_voucher_type_003                -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_voucher_type( 1, now() );

ukk.set_voucher_type() - Utalványtípus állapotának beállítása

Átírja a utalványtípus állapotát a kapott paraméternek megfelelően.

  • TODO: Át kell tenni kézibe a tárolt eljárást, az alábbi változással:
    • aktiváláskor (azaz ha a bemenő status 'active',) meg kell nézni, hogy tartozik-e hozzá címlet (ukk.voucher_type_denomination)
      • ha igen, akkor aktív legyen az új status
      • ha nem akkor draft legyen az új status
    • a változásokat dokumentálni kell a tárolt eljárásban és a wiki oldalon is!

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (draft, active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_voucher_type_001     -- egyedazonosító megadása kötelező
--*      ukk_set_voucher_type_002     -- nem létező utalványtípus
--*      ukk_set_voucher_type_003     -- állapot megadása kötelező
--*      ukk_set_voucher_type_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_voucher_type(
--*      'ukk',
--*      'ukk_voucher_type',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_voucher_type() - Utalványtípusok egyszerűsített listázása

Utalványtípusok listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    mandator_label varchar                      -- kibocsátó
--*    safety_notes varchar                        -- biztonsági jegyek, azonosítók szöveges ismertetése
--*    picture_id integer                          -- jellemző kép (public.files)
--*    warning_limit integer                       -- ezen névérték feletti ügylet risztást vált ki
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    unit_label varchar                          -- mértékegység
--*    barcode varchar                             -- vonalkód
--*    default_validity_date date                  -- a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma
--*    is_once_used boolean                        -- egyszer felhasználható utalvány?
--*    url varchar                                 -- az utalványtípusra vonatkozó információk elérési útvonala
--*
--*    Hibakódok:
--*      ukk_simplelist_voucher_type_001           -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_voucher_type( now() );

utalványtípus lehetséges címlete (ukk.voucher_type_denomination)

Mezők ismertetése:
  • voucher_type_id - utalvány típus
  • denomination_id - címlet
  • safety_notes - biztonsági jegyek, azonosítók szöveges ismertetése (opcionális)

Szabályok:
  • TODO: Ugyanaz a címlet nem lehet egy utalványtípushoz többször hozzárendelve.
  • TODO: Címlet addig nem törölhető, amíg innen van rá hivatkozás.
  • TODO: Utalványtípus törlésekor e kapcsolótábla kapcsolódó rekordjai is törlődnek.
  • TODO: Ha a 'par' mező értéke nincs megadva, akkor az ukk.denomination.par mező alapján kap értéket.
  • TODO: Ha a 'price' mező értéke nincs megadva, akkor az ukk.denomination.price mező alapján kap értéket.

ukk.create_voucher_type_denomination() - Új utalványtípus címlete létrehozása

A utalványtípus címlete alapadatainak rögzítése, aktív státusszal.

--*      - ukk_voucher_type_denomination_001: a gyenge egyed meghatározó tulajdonságai nem változhatnak
--*      - ukk_voucher_type_denomination_002: a gyenge egyed meghatározó tulajdonságai egyediek kell legyenek

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _VoucherTypeId integer                      -- utalványtípus
--*    _DenominationId integer                     -- címlet
--*    _SafetyNotes varchar                        -- biztonsági jegyek leírása
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_voucher_type_denomination_001                  --Hiányzó paraméter: _VoucherTypeId
--*      ukk_create_voucher_type_denomination_002                  --Nem érvényes (FK) paraméter: _VoucherTypeId
--*      ukk_create_voucher_type_denomination_003                  --Hiányzó paraméter: _DenominationId
--*      ukk_create_voucher_type_denomination_004                  --Nem érvényes (FK) paraméter: _DenominationId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_voucher_type_denomination(
--*      'ukk',
--*      'ukk_voucher_type_denomination',
--*      1,
--*      null,
--*      1,
--*      1,
--*      NULL
--*    );

ukk.edit_voucher_type_denomination() - Létező utalványtípus címlete adatainak módosítása

Létező utalványtípus címlete adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _VoucherTypeId integer                      -- utalványtípus
--*    _DenominationId integer                     -- címlet
--*    _SafetyNotes varchar                        -- biztonsági jegyek leírása
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_voucher_type_denomination_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_voucher_type_denomination_002        -- nem létező lehetséges címlet
--*      ukk_edit_voucher_type_denomination_003                  -- Hiányzó paraméter: _VoucherTypeId
--*      ukk_edit_voucher_type_denomination_004                  -- Nem érvényes (FK) paraméter: _VoucherTypeId
--*      ukk_edit_voucher_type_denomination_005                  -- Hiányzó paraméter: _DenominationId
--*      ukk_edit_voucher_type_denomination_006                  -- Nem érvényes (FK) paraméter: _DenominationId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_voucher_type_denomination(
--*      'ukk',
--*      'ukk_voucher_type_denomination',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      1,
--*      NULL
--*    );

ukk.list_voucher_type_denomination() - Utalványtípus címletek listázása

Utalványtípus címletek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    voucher_type_id integer                     -- utalványtípus
--*    voucher_type_name varchar                   -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    denomination_id integer                     -- címlet
--*    denomination_name varchar                   -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    safety_notes varchar                        -- biztonsági jegyek leírása
--*    pack_denomination_count integer             -- hivatkozó érintett címletek száma
--*    serial_interval_of_voucher_type_count integer -- hivatkozó érvényes sorszám intervallumok száma
--*    voucher_count integer                       -- hivatkozó utalványok száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_voucher_type_denomination();

ukk.read_voucher_type_denomination() - Utalványtípus címlete adatainak visszaadása

Utalványtípus címlete adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    voucher_type_id integer                    -- utalványtípus
--*    denomination_id integer                    -- címlet
--*    safety_notes varchar                       -- biztonsági jegyek leírása
--*
--*    Hibakódok:
--*      ukk_read_voucher_type_denomination_001   -- egyedazonosító megadása kötelező
--*      ukk_read_voucher_type_denomination_002   -- nem megfelelő egyedazonosító
--*      ukk_read_voucher_type_denomination_003   -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_voucher_type_denomination( 1 );

ukk.set_voucher_type_denomination() - Utalványtípus címlete állapotának beállítása

Átírja a utalványtípus címlete állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_voucher_type_denomination_001     -- egyedazonosító megadása kötelező
--*      ukk_set_voucher_type_denomination_002     -- nem létező lehetséges címlet
--*      ukk_set_voucher_type_denomination_003     -- állapot megadása kötelező
--*      ukk_set_voucher_type_denomination_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_voucher_type_denomination(
--*      'ukk',
--*      'ukk_voucher_type_denomination',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_voucher_type_denomination() - Utalványtípus címletek egyszerűsített listázása

Utalványtípus címletek listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    voucher_type_id integer                     -- utalványtípus
--*    denomination_id integer                     -- címlet
--*    safety_notes varchar                        -- biztonsági jegyek leírása
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_voucher_type_denomination();

érvényes sorszám intervallum (ukk.serial_interval_of_voucher_type)

Mezők ismertetése:
  • voucher_type_denomination_id - utalványtípus címletének azonosítója
  • year_of_release - kibocsátás éve (opcionális)
  • validity_date - lejárati dátum
  • prefix - előtag (opcionális)
  • suffix - utótag (opcionális)
  • start_number - kezdő sorszám
  • end_number - záró sorszám

Szabályok:
  • TODO: voucher_type_denomination_id nem változhat!
  • Azonos címleten belül nem lehet átfedés.
    • Azonos utalványtípuson belül nem lehet ütközés.
      • Azonos Kibocsátón belül nem lehet ütközés.

ukk.create_serial_interval_of_voucher_type() - Új lehetséges sorszám létrehozása

A lehetséges sorszám alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _VoucherTypeDenominationId integer          -- utalványtípus címletének azonosítója
--*    _YearOfRelease integer                      -- kibocsátás éve
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _StartNumber numeric                        -- kezdő sorszám
--*    _EndNumber numeric                          -- záró sorszám
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_serial_interval_of_voucher_type_001                  --Hiányzó paraméter: _VoucherTypeDenominationId
--*      ukk_create_serial_interval_of_voucher_type_002                  --Nem érvényes (FK) paraméter: _VoucherTypeDenominationId
--*      ukk_create_serial_interval_of_voucher_type_003                  --Hiányzó paraméter: _ValidityDate
--*      ukk_create_serial_interval_of_voucher_type_004                  --Hiányzó paraméter: _StartNumber
--*      ukk_create_serial_interval_of_voucher_type_005                  --Hiányzó paraméter: _EndNumber
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_serial_interval_of_voucher_type(
--*      'ukk',
--*      'ukk_serial_interval_of_voucher_type',
--*      1,
--*      null,
--*      1,
--*      NULL,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      12220000000,
--*      12220009999
--*    );

ukk.edit_serial_interval_of_voucher_type() - Létező lehetséges sorszám adatainak módosítása

Létező lehetséges sorszám adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _VoucherTypeDenominationId integer          -- utalványtípus címletének azonosítója
--*    _YearOfRelease integer                      -- kibocsátás éve
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _StartNumber numeric                        -- kezdő sorszám
--*    _EndNumber numeric                          -- záró sorszám
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_serial_interval_of_voucher_type_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_serial_interval_of_voucher_type_002        -- nem létező érvényes sorszám intervallum
--*      ukk_edit_serial_interval_of_voucher_type_003                  -- Hiányzó paraméter: _VoucherTypeDenominationId
--*      ukk_edit_serial_interval_of_voucher_type_004                  -- Nem érvényes (FK) paraméter: _VoucherTypeDenominationId
--*      ukk_edit_serial_interval_of_voucher_type_005                  -- Hiányzó paraméter: _ValidityDate
--*      ukk_edit_serial_interval_of_voucher_type_006                  -- Hiányzó paraméter: _StartNumber
--*      ukk_edit_serial_interval_of_voucher_type_007                  -- Hiányzó paraméter: _EndNumber
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_serial_interval_of_voucher_type(
--*      'ukk',
--*      'ukk_serial_interval_of_voucher_type',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      NULL,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      12220000000,
--*      12220009999
--*    );

ukk.list_serial_interval_of_voucher_type() - Lehetséges sorszámok listázása

Lehetséges sorszámok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    voucher_type_denomination_id integer        -- utalványtípus címletének azonosítója
--*    year_of_release integer                     -- kibocsátás éve
--*    validity_date date                          -- lejárat dátuma
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    start_number numeric                        -- kezdő sorszám
--*    end_number numeric                          -- záró sorszám
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_serial_interval_of_voucher_type();

ukk.read_serial_interval_of_voucher_type() - Lehetséges sorszám adatainak visszaadása

Lehetséges sorszám adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    voucher_type_denomination_id integer       -- utalványtípus címletének azonosítója
--*    year_of_release integer                    -- kibocsátás éve
--*    validity_date date                         -- lejárat dátuma
--*    prefix varchar                             -- előtag
--*    suffix varchar                             -- utótag
--*    start_number numeric                       -- kezdő sorszám
--*    end_number numeric                         -- záró sorszám
--*
--*    Hibakódok:
--*      ukk_read_serial_interval_of_voucher_type_001-- egyedazonosító megadása kötelező
--*      ukk_read_serial_interval_of_voucher_type_002-- nem megfelelő egyedazonosító
--*      ukk_read_serial_interval_of_voucher_type_003-- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_serial_interval_of_voucher_type( 1 );

ukk.set_serial_interval_of_voucher_type() - Lehetséges sorszám állapotának beállítása

Átírja a lehetséges sorszám állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_serial_interval_of_voucher_type_001     -- egyedazonosító megadása kötelező
--*      ukk_set_serial_interval_of_voucher_type_002     -- nem létező érvényes sorszám intervallum
--*      ukk_set_serial_interval_of_voucher_type_003     -- állapot megadása kötelező
--*      ukk_set_serial_interval_of_voucher_type_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_serial_interval_of_voucher_type(
--*      'ukk',
--*      'ukk_serial_interval_of_voucher_type',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_serial_interval_of_voucher_type() - Lehetséges sorszámok egyszerűsített listázása

Lehetséges sorszámok listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    voucher_type_denomination_id integer        -- utalványtípus címletének azonosítója
--*    year_of_release integer                     -- kibocsátás éve
--*    validity_date date                          -- lejárat dátuma
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    start_number numeric                        -- kezdő sorszám
--*    end_number numeric                          -- záró sorszám
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_serial_interval_of_voucher_type();

utalványtípus beváltóhelyei (ukk.lnk_voucher_type_cashing)

Mezők ismertetése:
  • voucher_type_id - utalvány típus
  • cashing_site_id - beváltóhely

Szabályok:
  • A voucher_type_id és a cashing_site_id mezők nem változhatnak.

ukk.create_lnk_voucher_type_cashing() - Új utalvány beváltóhely létrehozása

A utalvány beváltóhely alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _VoucherTypeId integer                      -- utalványtípus
--*    _CashingSiteId integer                      -- címlet
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_lnk_voucher_type_cashing_001                  --Hiányzó paraméter: _VoucherTypeId
--*      ukk_create_lnk_voucher_type_cashing_002                  --Nem érvényes (FK) paraméter: _VoucherTypeId
--*      ukk_create_lnk_voucher_type_cashing_003                  --Hiányzó paraméter: _CashingSiteId
--*      ukk_create_lnk_voucher_type_cashing_004                  --Nem érvényes (FK) paraméter: _CashingSiteId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_lnk_voucher_type_cashing(
--*      'ukk',
--*      'ukk_lnk_voucher_type_cashing',
--*      1,
--*      null,
--*      1,
--*      1
--*    );

ukk.edit_lnk_voucher_type_cashing() - Létező utalvány beváltóhely adatainak módosítása

Létező utalvány beváltóhely adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _VoucherTypeId integer                      -- utalványtípus
--*    _CashingSiteId integer                      -- címlet
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_lnk_voucher_type_cashing_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_lnk_voucher_type_cashing_002        -- nem létező lehetséges címlet
--*      ukk_edit_lnk_voucher_type_cashing_003                  -- Hiányzó paraméter: _VoucherTypeId
--*      ukk_edit_lnk_voucher_type_cashing_004                  -- Nem érvényes (FK) paraméter: _VoucherTypeId
--*      ukk_edit_lnk_voucher_type_cashing_005                  -- Hiányzó paraméter: _CashingSiteId
--*      ukk_edit_lnk_voucher_type_cashing_006                  -- Nem érvényes (FK) paraméter: _CashingSiteId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_lnk_voucher_type_cashing(
--*      'ukk',
--*      'ukk_lnk_voucher_type_cashing',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      1
--*    );

ukk.list_lnk_voucher_type_cashing() - Utalvány-beváltóhelyek listázása

Utalvány-beváltóhelyek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    voucher_type_id integer                     -- utalványtípus
--*    voucher_type_name varchar                   -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    cashing_site_id integer                     -- címlet
--*    cashing_site_name varchar                   -- név (a teljes név, ha az nincs, akkor a rövid név)
--*
--*    Hibakódok:
--*      ukk_list_lnk_voucher_type_cashing_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_lnk_voucher_type_cashing( now() );

ukk.read_lnk_voucher_type_cashing() - Utalvány beváltóhely adatainak visszaadása

Utalvány beváltóhely adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    voucher_type_id integer                    -- utalványtípus
--*    cashing_site_id integer                    -- címlet
--*
--*    Hibakódok:
--*      ukk_read_lnk_voucher_type_cashing_001    -- egyedazonosító megadása kötelező
--*      ukk_read_lnk_voucher_type_cashing_002    -- nem megfelelő egyedazonosító
--*      ukk_read_lnk_voucher_type_cashing_003    -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_lnk_voucher_type_cashing( 1 );

ukk.set_lnk_voucher_type_cashing() - Utalvány beváltóhely állapotának beállítása

Átírja a utalvány beváltóhely állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_lnk_voucher_type_cashing_001     -- egyedazonosító megadása kötelező
--*      ukk_set_lnk_voucher_type_cashing_002     -- nem létező lehetséges címlet
--*      ukk_set_lnk_voucher_type_cashing_003     -- állapot megadása kötelező
--*      ukk_set_lnk_voucher_type_cashing_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_lnk_voucher_type_cashing(
--*      'ukk',
--*      'ukk_lnk_voucher_type_cashing',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_lnk_voucher_type_cashing() - Utalvány-beváltóhelyek egyszerűsített listázása

Utalvány-beváltóhelyek listázása az adott időpontban.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    voucher_type_id integer                     -- utalványtípus
--*    cashing_site_id integer                     -- címlet
--*
--*    Hibakódok:
--*      ukk_simplelist_lnk_voucher_type_cashing_001              -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_lnk_voucher_type_cashing( now() );

utalvány (ukk.voucher)

Mezők ismertetése:
  • voucher_type_denomination_id - utalvány típus (és névérték) meghatározása
  • owner_id - tulajdonosa (opcionális)
  • hypothetic_owner_id - nyilvántartott tulajdonosa (opcionális)
  • validity_date - lejárati dátum
  • barcode - vonalkód (opcionális)
  • prefix - előtag (opcionális)
  • suffix - utótag (opcionális)
  • serial_num - sorszám

Szabályok:
  • TODO: lejárati dátum meg kell egyezzen az utalványtípushoz rendelt érvényes sorszámok lejárati dátumával?

ukk.create_voucher() - Új utalvány létrehozása

A utalvány alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _VoucherTypeDenominationId integer          -- utalványtípus címletének azonosítója
--*    _OwnerId integer                            -- nyilvántartott tulajdonosa
--*    _HypotheticOwnerId integer                  -- nyilvántartott tulajdonosa
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Barcode varchar                            -- vonalkód
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _SerialNumber numeric                       -- sorszám
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_voucher_001                  --Hiányzó paraméter: _VoucherTypeDenominationId
--*      ukk_create_voucher_002                  --Nem érvényes (FK) paraméter: _VoucherTypeDenominationId
--*      ukk_create_voucher_003                  --Hiányzó paraméter: _SerialNumber
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_voucher(
--*      'ukk',
--*      'ukk_voucher',
--*      1,
--*      null,
--*      1,
--*      42,
--*      42,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      NULL,
--*      12220000001
--*    );

ukk.edit_voucher() - Létező utalvány adatainak módosítása

Létező utalvány adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _VoucherTypeDenominationId integer          -- utalványtípus címletének azonosítója
--*    _OwnerId integer                            -- nyilvántartott tulajdonosa
--*    _HypotheticOwnerId integer                  -- nyilvántartott tulajdonosa
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Barcode varchar                            -- vonalkód
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _SerialNumber numeric                       -- sorszám
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_voucher_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_voucher_002        -- nem létező utalvány
--*      ukk_edit_voucher_003                  -- Hiányzó paraméter: _VoucherTypeDenominationId
--*      ukk_edit_voucher_004                  -- Nem érvényes (FK) paraméter: _VoucherTypeDenominationId
--*      ukk_edit_voucher_005                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _OwnerId
--*      ukk_edit_voucher_006                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _HypotheticOwnerId
--*      ukk_edit_voucher_007                  -- Hiányzó paraméter: _SerialNumber
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_voucher(
--*      'ukk',
--*      'ukk_voucher',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      42,
--*      42,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      NULL,
--*      12220000001
--*    );

ukk.list_voucher() - Utalványok listázása

Utalványok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    voucher_type_denomination_id integer        -- utalványtípus címletének azonosítója
--*    owner_id integer                            -- nyilvántartott tulajdonosa
--*    hypothetic_owner_id integer                 -- nyilvántartott tulajdonosa
--*    validity_date date                          -- lejárat dátuma
--*    barcode varchar                             -- vonalkód
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    serial_number numeric                       -- sorszám
--*
--*    Hibakódok:
--*      ukk_list_voucher_001                      -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_voucher( now() );

ukk.read_voucher() - Utalvány adatainak visszaadása

Utalvány adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (active, deleted)
--*    voucher_type_denomination_id integer       -- utalványtípus címletének azonosítója
--*    owner_id integer                           -- nyilvántartott tulajdonosa
--*    hypothetic_owner_id integer                -- nyilvántartott tulajdonosa
--*    validity_date date                         -- lejárat dátuma
--*    barcode varchar                            -- vonalkód
--*    prefix varchar                             -- előtag
--*    suffix varchar                             -- utótag
--*    serial_number numeric                      -- sorszám
--*
--*    Hibakódok:
--*      ukk_read_voucher_001                     -- egyedazonosító megadása kötelező
--*      ukk_read_voucher_002                     -- nem megfelelő egyedazonosító
--*      ukk_read_voucher_003                     -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_voucher( 1, now() );

ukk.set_voucher() - Utalvány állapotának beállítása

Átírja a utalvány állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_voucher_001     -- egyedazonosító megadása kötelező
--*      ukk_set_voucher_002     -- nem létező utalvány
--*      ukk_set_voucher_003     -- állapot megadása kötelező
--*      ukk_set_voucher_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_voucher(
--*      'ukk',
--*      'ukk_voucher',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_voucher() - Utalványok egyszerűsített listázása

Utalványok listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    voucher_type_denomination_id integer        -- utalványtípus címletének azonosítója
--*    owner_id integer                            -- nyilvántartott tulajdonosa
--*    hypothetic_owner_id integer                 -- nyilvántartott tulajdonosa
--*    validity_date date                          -- lejárat dátuma
--*    barcode varchar                             -- vonalkód
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    serial_number numeric                       -- sorszám
--*
--*    Hibakódok:
--*      ukk_simplelist_voucher_001                -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_voucher( now() );

ajánlatkérés típusa (ukk.offering_type)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • is_offered_voucher_type_single
  • is_offered_voucher_identified
  • is_offered_sum_requied
  • is_for_voucher_type_single
  • is_for_sum_requied
  • is_bid_voucher_type_single
  • is_bid_voucher_identified
  • is_bid_sum_requied
  • description - megjegyzés (opcionális)

Indulásnál lehetőségek (üzleti logika implementálása folyamatban):
címke Rövid név Teljes név Leírás
exchange Cserél Konkrét utalványok cseréje Az ajánlatkérés konkrét (sorszámmal azonosított) utalványok megadásával és a kért utalványtípus kiválasztásával történik.
search Keres Ismert mennyiségű utalványok keresése (meglévő utalványok cserére ajánlásával) Az ajánlatkérés a rendelkezésre álló utalványok feltöltésével és a keresett utalványtípus mennyiségének megadásával kezdeményezhető.
offer Kínál Meglévő utalványok felajánlása az elfogadható utalványtípusok megadásával. Az ajánlatkérés meglévő utalványok felajánlásával és a cserére szóba jöhető utalványtípusok megadásával lehetséges.

ukk.create_offering_type() - Új ajánlatkérés típus létrehozása

A ajánlatkérés típus alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _IsOfferedVoucherTypeSingle boolean         -- felajánlás egy utalványtípusra korlátozódik?
--*    _IsOfferedVoucherIdentified boolean         -- felajánlás konkrét utalványokra vonatkozik?
--*    _IsOfferedSumRequied boolean                -- felajánlás összegét meg kell adni?
--*    _IsForVoucherTypeSingle boolean             -- kérés egy utalványtípusra korlátozódik?
--*    _IsForSumRequied boolean                    -- kérés összegét meg kell adni?
--*    _IsBidVoucherTypeSingle boolean             -- ajánlat egy utalványtípusra korlátozódik?
--*    _IsBidVoucherIdentified boolean             -- ajánlat konkrét utalványokra vonatkozik?
--*    _IsBidSumRequied boolean                    -- ajánlat összegét meg kell adni?
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_offering_type_001                  --Hiányzó paraméter: _Label
--*      ukk_create_offering_type_002                  --Hiányzó paraméter: _ShortName
--*      ukk_create_offering_type_003                  --Hiányzó paraméter: _IsOfferedVoucherTypeSingle
--*      ukk_create_offering_type_004                  --Hiányzó paraméter: _IsOfferedVoucherIdentified
--*      ukk_create_offering_type_005                  --Hiányzó paraméter: _IsOfferedSumRequied
--*      ukk_create_offering_type_006                  --Hiányzó paraméter: _IsForVoucherTypeSingle
--*      ukk_create_offering_type_007                  --Hiányzó paraméter: _IsForSumRequied
--*      ukk_create_offering_type_008                  --Hiányzó paraméter: _IsBidVoucherTypeSingle
--*      ukk_create_offering_type_009                  --Hiányzó paraméter: _IsBidVoucherIdentified
--*      ukk_create_offering_type_010                  --Hiányzó paraméter: _IsBidSumRequied
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_offering_type(
--*      'ukk',
--*      'ukk_offering_type',
--*      1,
--*      null,
--*      'exchange',
--*      'Cserél',
--*      'Konkrét utalványok cseréje',
--*      'true',
--*      'true',
--*      'false',
--*      'true',
--*      'false',
--*      'true',
--*      'false',
--*      'true',
--*      'Az ajánlatkérés konkrét (sorszámmal azonosított) utalványok megadásával és a kért utalványtípus kiválasztásával történik.'
--*    );

ukk.edit_offering_type() - Létező ajánlatkérés típus adatainak módosítása

Létező ajánlatkérés típus adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _IsOfferedVoucherTypeSingle boolean         -- felajánlás egy utalványtípusra korlátozódik?
--*    _IsOfferedVoucherIdentified boolean         -- felajánlás konkrét utalványokra vonatkozik?
--*    _IsOfferedSumRequied boolean                -- felajánlás összegét meg kell adni?
--*    _IsForVoucherTypeSingle boolean             -- kérés egy utalványtípusra korlátozódik?
--*    _IsForSumRequied boolean                    -- kérés összegét meg kell adni?
--*    _IsBidVoucherTypeSingle boolean             -- ajánlat egy utalványtípusra korlátozódik?
--*    _IsBidVoucherIdentified boolean             -- ajánlat konkrét utalványokra vonatkozik?
--*    _IsBidSumRequied boolean                    -- ajánlat összegét meg kell adni?
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_offering_type_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_offering_type_002        -- nem létező ajánlatkérés típusa
--*      ukk_edit_offering_type_003                  -- Hiányzó paraméter: _Label
--*      ukk_edit_offering_type_004                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_offering_type_005                  -- Hiányzó paraméter: _IsOfferedVoucherTypeSingle
--*      ukk_edit_offering_type_006                  -- Hiányzó paraméter: _IsOfferedVoucherIdentified
--*      ukk_edit_offering_type_007                  -- Hiányzó paraméter: _IsOfferedSumRequied
--*      ukk_edit_offering_type_008                  -- Hiányzó paraméter: _IsForVoucherTypeSingle
--*      ukk_edit_offering_type_009                  -- Hiányzó paraméter: _IsForSumRequied
--*      ukk_edit_offering_type_010                  -- Hiányzó paraméter: _IsBidVoucherTypeSingle
--*      ukk_edit_offering_type_011                  -- Hiányzó paraméter: _IsBidVoucherIdentified
--*      ukk_edit_offering_type_012                  -- Hiányzó paraméter: _IsBidSumRequied
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_offering_type(
--*      'ukk',
--*      'ukk_offering_type',
--*      1,
--*      NULL,
--*      1,
--*      'exchange',
--*      'Cserél',
--*      'Konkrét utalványok cseréje',
--*      'true',
--*      'true',
--*      'false',
--*      'true',
--*      'false',
--*      'true',
--*      'false',
--*      'true',
--*      'Az ajánlatkérés konkrét (sorszámmal azonosított) utalványok megadásával és a kért utalványtípus kiválasztásával történik.'
--*    );

ukk.list_offering_type() - Ajánlatkérés típusok listázása

Ajánlatkérés típusok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    is_bid_voucher_type_single boolean          -- ajánlat egy utalványtípusra korlátozódik?
--*    is_bid_voucher_identified boolean           -- ajánlat konkrét utalványokra vonatkozik?
--*    is_bid_sum_requied boolean                  -- ajánlat összegét meg kell adni?
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    is_offered_voucher_type_single boolean      -- felajánlás egy utalványtípusra korlátozódik?
--*    is_offered_voucher_identified boolean       -- felajánlás konkrét utalványokra vonatkozik?
--*    is_offered_sum_requied boolean              -- felajánlás összegét meg kell adni?
--*    is_for_voucher_type_single boolean          -- kérés egy utalványtípusra korlátozódik?
--*    is_for_sum_requied boolean                  -- kérés összegét meg kell adni?
--*    request_offer_count integer                 -- hivatkozó ajánlatkérések száma
--*
--*    Hibakódok:
--*      ukk_list_offering_type_001                -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_offering_type( now() );

ukk.read_offering_type() - Ajánlatkérés típus adatainak visszaadása

Ajánlatkérés típus adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    is_offered_voucher_type_single boolean     -- felajánlás egy utalványtípusra korlátozódik?
--*    is_offered_voucher_identified boolean      -- felajánlás konkrét utalványokra vonatkozik?
--*    is_offered_sum_requied boolean             -- felajánlás összegét meg kell adni?
--*    is_for_voucher_type_single boolean         -- kérés egy utalványtípusra korlátozódik?
--*    is_for_sum_requied boolean                 -- kérés összegét meg kell adni?
--*    is_bid_voucher_type_single boolean         -- ajánlat egy utalványtípusra korlátozódik?
--*    is_bid_voucher_identified boolean          -- ajánlat konkrét utalványokra vonatkozik?
--*    is_bid_sum_requied boolean                 -- ajánlat összegét meg kell adni?
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_offering_type_001               -- egyedazonosító megadása kötelező
--*      ukk_read_offering_type_002               -- nem megfelelő egyedazonosító
--*      ukk_read_offering_type_003               -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_offering_type( 1, now() );

ukk.set_offering_type() - Ajánlatkérés típus állapotának beállítása

Átírja a ajánlatkérés típus állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_offering_type_001     -- egyedazonosító megadása kötelező
--*      ukk_set_offering_type_002     -- nem létező ajánlatkérés típusa
--*      ukk_set_offering_type_003     -- állapot megadása kötelező
--*      ukk_set_offering_type_004     -- status csak active vagy deleted lehet
--*      ukk_set_offering_type_005     -- Nem törölhető, mert érvényes rekord hivatkozik rá: ajánlatkérés
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_offering_type(
--*      'ukk',
--*      'ukk_offering_type',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_offering_type() - Ajánlatkérés típusok egyszerűsített listázása

Ajánlatkérés típusok listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    is_bid_voucher_type_single boolean          -- ajánlat egy utalványtípusra korlátozódik?
--*    is_bid_voucher_identified boolean           -- ajánlat konkrét utalványokra vonatkozik?
--*    is_bid_sum_requied boolean                  -- ajánlat összegét meg kell adni?
--*    description varchar                         -- megjegyzés
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    is_offered_voucher_type_single boolean      -- felajánlás egy utalványtípusra korlátozódik?
--*    is_offered_voucher_identified boolean       -- felajánlás konkrét utalványokra vonatkozik?
--*    is_offered_sum_requied boolean              -- felajánlás összegét meg kell adni?
--*    is_for_voucher_type_single boolean          -- kérés egy utalványtípusra korlátozódik?
--*    is_for_sum_requied boolean                  -- kérés összegét meg kell adni?
--*
--*    Hibakódok:
--*      ukk_simplelist_offering_type_001          -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_offering_type( now() );

utalvány-csomag (ukk.voucher_pack)

Mezők ismertetése:
  • description - megjegyzés (opcionális)

Szabályok:
  • TODO: (SQL) Törléskor nem kell törölni az entitás tartalmát, a listázásnál figyelünk erre.
  • TODO: (SQL) Vizsgálni kell, hogy egy csomagban ne lehessen többször ugyanaz a típus (aktív státusszal).

ukk.create_voucher_pack() - Új utalványcsomag létrehozása

A utalványcsomag alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_voucher_pack(
--*      'ukk',
--*      'ukk_voucher_pack',
--*      1,
--*      null,
--*      'Nincs semmi hozzáfűznivalóm.'
--*    );

ukk.edit_voucher_pack() - Létező utalványcsomag adatainak módosítása

Létező utalványcsomag adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_voucher_pack_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_voucher_pack_002        -- nem létező utalványcsomag

--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_voucher_pack(
--*      'ukk',
--*      'ukk_voucher_pack',
--*      1,
--*      NULL,
--*      1,
--*      'Nincs semmi hozzáfűznivalóm.'
--*    );

ukk.list_voucher_pack() - Utalványcsomagok listázása

Utalványcsomagok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    description varchar                         -- megjegyzés
--*    bid_demand_pack_id_count integer            -- hivatkozó ajánlatok száma
--*    bid_supply_pack_id_count integer            -- hivatkozó ajánlatok száma
--*    pack_voucher_type_count integer             -- hivatkozó érintett utalványtípusok száma
--*    request_offer_demand_pack_id_count integer  -- hivatkozó ajánlatkérések száma
--*    request_offer_supply_pack_id_count integer  -- hivatkozó ajánlatkérések száma
--*
--*    Hibakódok:
--*      ukk_list_voucher_pack_001                 -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_voucher_pack( now() );

ukk.read_voucher_pack() - Utalványcsomag adatainak visszaadása

Utalványcsomag adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (draft, active, fail, deleted)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_voucher_pack_001                -- egyedazonosító megadása kötelező
--*      ukk_read_voucher_pack_002                -- nem megfelelő egyedazonosító
--*      ukk_read_voucher_pack_003                -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_voucher_pack( 1, now() );

ukk.set_voucher_pack() - Utalványcsomag állapotának beállítása

Átírja a utalványcsomag állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (draft, active, fail, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_voucher_pack_001     -- egyedazonosító megadása kötelező
--*      ukk_set_voucher_pack_002     -- nem létező utalványcsomag
--*      ukk_set_voucher_pack_003     -- állapot megadása kötelező
--*      ukk_set_voucher_pack_004     -- status csak active vagy deleted lehet
--*      ukk_set_voucher_pack_005     -- Nem törölhető, mert érvényes rekord hivatkozik rá: ajánlat
--*      ukk_set_voucher_pack_006     -- Nem törölhető, mert érvényes rekord hivatkozik rá: ajánlat
--*      ukk_set_voucher_pack_007     -- Nem törölhető, mert érvényes rekord hivatkozik rá: ajánlatkérés
--*      ukk_set_voucher_pack_008     -- Nem törölhető, mert érvényes rekord hivatkozik rá: ajánlatkérés
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_voucher_pack(
--*      'ukk',
--*      'ukk_voucher_pack',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_voucher_pack() - Utalványcsomagok egyszerűsített listázása

Utalványcsomagok listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_voucher_pack_001           -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_voucher_pack( now() );

ajánlatkérés (ukk.request_offer)

Mezők ismertetése:
  • offering_type_id - ajánlatkérés típusa (opcionális)
  • outer_person_id - kezdeményező személy
  • office_id - bonyolító iroda (opcionális)
  • demand_voucher_pack_id - a felajánlott utalványok vagy utalványtípusok
  • supply_voucher_pack_id - a keresett utalványtípus(ok) (opcionális)

TODO: status változott, dokumentációba is át kell vezetni.

Szabályok:
  • Azt a kérést tekintjük folyamatban lévőnek, ami aktív (lezáratlan) és tartozik hozzá elfogadott ajánlat!
  • *RED%TODO: A kérés lezárásakor vizsgálni kell, hogy egy (és csak egy) érvényes ajánlatnak tartoznia kell hozzá.
  • *RED%TODO: A kérés lezárásakor vizsgálni kell, hogy az elfogadott ajánlatcsomag fel van töltve sorszámokkal és a csomag érvényes.

ukk.create_request_offer() - Új ajánlatkérés létrehozása

A ajánlatkérés alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _OfferingTypeId integer                     -- ajánlatkérés típusa
--*    _OuterPersonId integer                      - kezdeményező személy
--*    _OfficeId integer                           -- bonyolító iroda
--*    _DemandVoucherPackId integer                -- a felajánlott utalványok vagy utalványtípusok
--*    _SupplyVoucherPackId integer                -- a keresett utalványok vagy utalványtípusok
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_request_offer_001                  --Hiányzó paraméter: _OfferingTypeId
--*      ukk_create_request_offer_002                  --Nem érvényes (FK) paraméter: _OfferingTypeId
--*      ukk_create_request_offer_003                  --Hiányzó paraméter: _OuterPersonId
--*      ukk_create_request_offer_004                  --Nem érvényes (FK) paraméter: _OuterPersonId
--*      ukk_create_request_offer_005                  --Hiányzó paraméter: _DemandVoucherPackId
--*      ukk_create_request_offer_006                  --Nem érvényes (FK) paraméter: _DemandVoucherPackId
--*      ukk_create_request_offer_007                  --Hiányzó paraméter: _SupplyVoucherPackId
--*      ukk_create_request_offer_008                  --Nem érvényes (FK) paraméter: _SupplyVoucherPackId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_request_offer(
--*      'ukk',
--*      'ukk_request_offer',
--*      1,
--*      null,
--*      1,
--*      42,
--*      1,
--*      1,
--*      2
--*    );

ukk.edit_request_offer() - Létező ajánlatkérés adatainak módosítása

Létező ajánlatkérés adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _OfferingTypeId integer                     -- ajánlatkérés típusa
--*    _OuterPersonId integer                      - kezdeményező személy
--*    _OfficeId integer                           -- bonyolító iroda
--*    _DemandVoucherPackId integer                -- a felajánlott utalványok vagy utalványtípusok
--*    _SupplyVoucherPackId integer                -- a keresett utalványok vagy utalványtípusok
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_request_offer_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_request_offer_002        -- nem létező ajánlatkérés
--*      ukk_edit_request_offer_003                  -- Hiányzó paraméter: _OfferingTypeId
--*      ukk_edit_request_offer_004                  -- Nem érvényes (FK) paraméter: _OfferingTypeId
--*      ukk_edit_request_offer_005                  -- Hiányzó paraméter: _OuterPersonId
--*      ukk_edit_request_offer_006                  -- Nem érvényes (FK) paraméter: _OuterPersonId
--*      ukk_edit_request_offer_007                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _OfficeId
--*      ukk_edit_request_offer_008                  -- Hiányzó paraméter: _DemandVoucherPackId
--*      ukk_edit_request_offer_009                  -- Nem érvényes (FK) paraméter: _DemandVoucherPackId
--*      ukk_edit_request_offer_010                  -- Hiányzó paraméter: _SupplyVoucherPackId
--*      ukk_edit_request_offer_011                  -- Nem érvényes (FK) paraméter: _SupplyVoucherPackId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_request_offer(
--*      'ukk',
--*      'ukk_request_offer',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      42,
--*      1,
--*      1,
--*      2
--*    );

ukk.list_request_offer() - Ajánlatkérések listázása

Ajánlatkérések listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    offering_type_id integer                    -- ajánlatkérés típusa
--*    offering_type_name varchar                  -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    outer_person_id integer                     -- kezdeményező személy
--*    office_id integer                           -- bonyolító iroda
--*    office_name varchar                         -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    demand_voucher_pack_id integer              -- a felajánlott utalványok vagy utalványtípusok
--*    supply_voucher_pack_id integer              -- a keresett utalványok vagy utalványtípusok
--*    bid_count integer                           -- hivatkozó ajánlatok száma
--*
--*    Hibakódok:
--*      ukk_list_request_offer_001                -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_request_offer( now() );

ukk.read_request_offer() - Ajánlatkérés adatainak visszaadása

Ajánlatkérés adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (active, deleted)
--*    offering_type_id integer                   -- ajánlatkérés típusa
--*    outer_person_id integer                    -- kezdeményező személy
--*    office_id integer                          -- bonyolító iroda
--*    demand_voucher_pack_id integer             -- a felajánlott utalványok vagy utalványtípusok
--*    supply_voucher_pack_id integer             -- a keresett utalványok vagy utalványtípusok
--*
--*    Hibakódok:
--*      ukk_read_request_offer_001               -- egyedazonosító megadása kötelező
--*      ukk_read_request_offer_002               -- nem megfelelő egyedazonosító
--*      ukk_read_request_offer_003               -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_request_offer( 1, now() );

ukk.set_request_offer() - Ajánlatkérés állapotának beállítása

Átírja a ajánlatkérés állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_request_offer_001     -- egyedazonosító megadása kötelező
--*      ukk_set_request_offer_002     -- nem létező ajánlatkérés
--*      ukk_set_request_offer_003     -- állapot megadása kötelező
--*      ukk_set_request_offer_004     -- status csak active vagy deleted lehet
--*      ukk_set_request_offer_005     -- Nem törölhető, mert érvényes rekord hivatkozik rá: ajánlat
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_request_offer(
--*      'ukk',
--*      'ukk_request_offer',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_request_offer() - Ajánlatkérések egyszerűsített listázása

Ajánlatkérések listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    offering_type_id integer                    -- ajánlatkérés típusa
--*    outer_person_id integer                     -- kezdeményező személy
--*    office_id integer                           -- bonyolító iroda
--*    demand_voucher_pack_id integer              -- a felajánlott utalványok vagy utalványtípusok
--*    supply_voucher_pack_id integer              -- a keresett utalványok vagy utalványtípusok
--*
--*    Hibakódok:
--*      ukk_simplelist_request_offer_001          -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_request_offer( now() );

olvasott ajánlatkérés (ukk.read_offer)

Mezők ismertetése:
  • request_offer_id - az ajánlatkérés, amire az ajánlat vonatkozik
  • outer_person_id - az ajánlattevő személy

TODO: üzleti logika fogja írni (2. kör)

Szabályok:
  • *RED%TODO: A két kulcs együtt egyedi

ajánlat (ukk.bid)

Mezők ismertetése:
  • request_offer_id - az ajánlatkérés, amire az ajánlat vonatkozik
  • outer_person_id - az ajánlattevő személy
  • demand_voucher_pack_id - a felajánlott utalványok vagy utalványtípusok
  • supply_voucher_pack_id - az ajánlott utalvány-csomag
  • is_read - igaz, ha a kérés kezdeményzője olvasta

TODO: status változott, dokumentációba is át kell vezetni. TODO: az is_read mezőt üzleti logika fogja írni (2. kör)

Szabályok:
  • *RED%TODO: A demand_voucher_pack_id megegyezhet az ajánlatkérés demand_voucher_pack_id értékével.
  • *RED%TODO: A outer_person_id nem egyezhet meg a hivatkozott request_offer tábla outer_person_id mezőjével.
  • *RED%TODO: Ajánlat elfogadásakor a testvér ajánlatokat el kell utasítani.

ukk.create_bid() - Új ajánlat létrehozása

A ajánlat alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _RequestOfferId integer                     -- ajánlatkérés
--*    _OuterPersonId integer                      -- kezdeményező személy
--*    _DemandVoucherPackId integer                -- a kért utalványok vagy utalványtípusok
--*    _SupplyVoucherPackId integer                -- az ajánlott utalványok vagy utalványtípusok
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_bid_001                  --Hiányzó paraméter: _RequestOfferId
--*      ukk_create_bid_002                  --Nem érvényes (FK) paraméter: _RequestOfferId
--*      ukk_create_bid_003                  --Hiányzó paraméter: _OuterPersonId
--*      ukk_create_bid_004                  --Nem érvényes (FK) paraméter: _OuterPersonId
--*      ukk_create_bid_005                  --Hiányzó paraméter: _DemandVoucherPackId
--*      ukk_create_bid_006                  --Nem érvényes (FK) paraméter: _DemandVoucherPackId
--*      ukk_create_bid_007                  --Hiányzó paraméter: _SupplyVoucherPackId
--*      ukk_create_bid_008                  --Nem érvényes (FK) paraméter: _SupplyVoucherPackId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_bid(
--*      'ukk',
--*      'ukk_bid',
--*      1,
--*      null,
--*      1,
--*      41,
--*      1,
--*      2,
--*      NULL
--*    );

ukk.edit_bid() - Létező ajánlat adatainak módosítása

Létező ajánlat adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _RequestOfferId integer                     -- ajánlatkérés
--*    _OuterPersonId integer                      -- kezdeményező személy
--*    _DemandVoucherPackId integer                -- a kért utalványok vagy utalványtípusok
--*    _SupplyVoucherPackId integer                -- az ajánlott utalványok vagy utalványtípusok
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_bid_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_bid_002        -- nem létező ajánlat
--*      ukk_edit_bid_003                  -- Hiányzó paraméter: _RequestOfferId
--*      ukk_edit_bid_004                  -- Nem érvényes (FK) paraméter: _RequestOfferId
--*      ukk_edit_bid_005                  -- Hiányzó paraméter: _OuterPersonId
--*      ukk_edit_bid_006                  -- Nem érvényes (FK) paraméter: _OuterPersonId
--*      ukk_edit_bid_007                  -- Hiányzó paraméter: _DemandVoucherPackId
--*      ukk_edit_bid_008                  -- Nem érvényes (FK) paraméter: _DemandVoucherPackId
--*      ukk_edit_bid_009                  -- Hiányzó paraméter: _SupplyVoucherPackId
--*      ukk_edit_bid_010                  -- Nem érvényes (FK) paraméter: _SupplyVoucherPackId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_bid(
--*      'ukk',
--*      'ukk_bid',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      41,
--*      1,
--*      2,
--*      NULL
--*    );

ukk.list_bid() - Ajánlatok listázása

Ajánlatok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    request_offer_id integer                    -- ajánlatkérés
--*    outer_person_id integer                     -- kezdeményező személy
--*    demand_voucher_pack_id integer              -- a kért utalványok vagy utalványtípusok
--*    supply_voucher_pack_id integer              -- az ajánlott utalványok vagy utalványtípusok
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_list_bid_001                          -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_bid( now() );

ukk.read_bid() - Ajánlat adatainak visszaadása

Ajánlat adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító--*    _WhenTime timestamp with time zone         -- a kért időpont
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone   -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                             -- egyed állapota (draft, active, accepted, rejected, closed, deleted)
--*    request_offer_id integer                   -- ajánlatkérés
--*    outer_person_id integer                    -- kezdeményező személy
--*    demand_voucher_pack_id integer             -- a kért utalványok vagy utalványtípusok
--*    supply_voucher_pack_id integer             -- az ajánlott utalványok vagy utalványtípusok
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_bid_001                         -- egyedazonosító megadása kötelező
--*      ukk_read_bid_002                         -- nem megfelelő egyedazonosító
--*      ukk_read_bid_003                         -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_bid( 1, now() );

ukk.set_bid() - Ajánlat állapotának beállítása

Átírja a ajánlat állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (draft, active, accepted, rejected, closed, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_bid_001     -- egyedazonosító megadása kötelező
--*      ukk_set_bid_002     -- nem létező ajánlat
--*      ukk_set_bid_003     -- állapot megadása kötelező
--*      ukk_set_bid_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_bid(
--*      'ukk',
--*      'ukk_bid',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_bid() - Ajánlatok egyszerűsített listázása

Ajánlatok listázása az adott időpontban.

--*  INPUTS
--*    _WhenTime timestamp with time zone          -- a kért időpont
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    valid_from_time timestamp with time zone    -- idősoros kezelés esetén az érvényesség kezdete
--*    status varchar                              -- egyed állapota
--*    request_offer_id integer                    -- ajánlatkérés
--*    outer_person_id integer                     -- kezdeményező személy
--*    demand_voucher_pack_id integer              -- a kért utalványok vagy utalványtípusok
--*    supply_voucher_pack_id integer              -- az ajánlott utalványok vagy utalványtípusok
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_simplelist_bid_001                    -- időpont megadása kötelező
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_bid( now() );

érintett utalványtípus (ukk.pack_voucher_type)

Mezők ismertetése:
  • voucher_pack_id - utalvány csomag
  • voucher_type_id - utalványtípus
  • par - érték (opcionális)
  • quantity - mennyiség (opcionális)

Szabályok:
  • TODO: A rekord állapota alapértelmezetten 'active', kivéve, ha az értéke ÉS a nevesített utalványok értéke (azaz a címletek és sorozatszámok) is meg vannak adva.
    • Ha az érték változik, akkor vizsgálni kell a kapcsolódó 'pack_denomination.par' mező értékeit.
    • Mindaddig 'draft', amíg a nevesített utalványok értéke ('pack_denomination.par' mező) meg nem egyezik jelen rekord 'par' mezőjének értékével.

ukk.create_pack_voucher_type() - Új érintett utaványtípus létrehozása

A érintett utaványtípus alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _MandatorLabel varchar                      -- kibocsátó
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _UnitLabel varchar                          -- mértékegység
--*    _Barcode varchar                            -- vonalkód
--*    _DefaultValidityDate date                   -- a jövőben bejegyzendő utalványok alapértelmezett lejárati dátuma
--*    _IsOnceUsed boolean                         -- egyszer felhasználható utalvány?
--*    _Url varchar                                -- az utalványtípusra vonatkozó információk elérési útvonala
--*    _SafetyNotes varchar                        -- biztonsági jegyek, azonosítók szöveges ismertetése
--*    _PictureId integer                          -- jellemző kép (public.files)
--*    _WarningLimit integer                       -- ezen névérték feletti ügylet riasztást vált ki
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_voucher_type_001                  --Hiányzó paraméter: _MandatorLabel
--*      ukk_create_voucher_type_002                  --Nem érvényes (FK) paraméter: _MandatorLabel
--*      ukk_create_voucher_type_003                  --Hiányzó paraméter: _ShortName
--*      ukk_create_voucher_type_004                  --Hiányzó paraméter: _IsOnceUsed
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_voucher_type(
--*      'ukk',
--*      'ukk_voucher_type',
--*      1,
--*      null,
--*      1,
--*      'Puebla Sport',
--*      'Puebla Sportutalvány',
--*      'ft',
--*      NULL,
--*      NULL,
--*      true,
--*      'http://puebla.hu/utalvanyaink/utalvany-fajtak',
--*      NULL,
--*      NULL,
--*      50000,
--*      NULL
--*    );

ukk.edit_pack_voucher_type() - Létező érintett utaványtípus adatainak módosítása

Létező érintett utaványtípus adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _VoucherPackId integer                      -- utalvány csomag
--*    _VoucherTypeId integer                      -- utalványtípus
--*    _Par numeric                                -- érték
--*    _Quantity integer                           -- mennyiség
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_pack_voucher_type_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_pack_voucher_type_002        -- nem létező érintett utalványtípus
--*      ukk_edit_pack_voucher_type_003                  -- Hiányzó paraméter: _VoucherPackId
--*      ukk_edit_pack_voucher_type_004                  -- Nem érvényes (FK) paraméter: _VoucherPackId
--*      ukk_edit_pack_voucher_type_005                  -- Hiányzó paraméter: _VoucherTypeId
--*      ukk_edit_pack_voucher_type_006                  -- Nem érvényes (FK) paraméter: _VoucherTypeId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_pack_voucher_type(
--*      'ukk',
--*      'ukk_pack_voucher_type',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      1,
--*      NULL,
--*      NULL
--*    );

ukk.list_pack_voucher_type() - Érintett utaványtípusok listázása

Érintett utaványtípusok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    voucher_pack_id integer                     -- utalvány csomag
--*    voucher_type_id integer                     -- utalványtípus
--*    voucher_type_name varchar                   -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    par numeric                                 -- érték
--*    quantity integer                            -- mennyiség
--*    pack_denomination_count integer             -- hivatkozó érintett címletek száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_pack_voucher_type();

ukk.read_pack_voucher_type() - Érintett utaványtípus adatainak visszaadása

Érintett utaványtípus adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    voucher_pack_id integer                    -- utalvány csomag
--*    voucher_type_id integer                    -- utalványtípus
--*    par numeric                                -- érték
--*    quantity integer                           -- mennyiség
--*
--*    Hibakódok:
--*      ukk_read_pack_voucher_type_001           -- egyedazonosító megadása kötelező
--*      ukk_read_pack_voucher_type_002           -- nem megfelelő egyedazonosító
--*      ukk_read_pack_voucher_type_003           -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_pack_voucher_type( 1 );

ukk.set_pack_voucher_type() - Érintett utaványtípus állapotának beállítása

Átírja a érintett utaványtípus állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_pack_voucher_type_001     -- egyedazonosító megadása kötelező
--*      ukk_set_pack_voucher_type_002     -- nem létező érintett utalványtípus
--*      ukk_set_pack_voucher_type_003     -- állapot megadása kötelező
--*      ukk_set_pack_voucher_type_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_pack_voucher_type(
--*      'ukk',
--*      'ukk_pack_voucher_type',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_pack_voucher_type() - Érintett utaványtípusok egyszerűsített listázása

Érintett utaványtípusok listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    voucher_pack_id integer                     -- utalvány csomag
--*    voucher_type_id integer                     -- utalványtípus
--*    par numeric                                 -- érték
--*    quantity integer                            -- mennyiség
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_pack_voucher_type();

érintett címlet (ukk.pack_denomination)

Mezők ismertetése:
  • pack_voucher_type_id - érintett utalványtípus
  • voucher_type_denomination_id - lehetséges címlet
  • par - érték (opcionális)

Szabályok:
  • TODO: A par mező értékét trigger állítja (ha van utalvány azonosítva).
  • TODO: Változás esetén vizsgálni kell a kapcsolódó 'pack_voucher_type.par' mező értékét, és a kapcsolódó rekord státuszát állítani.
  • TODO: (SQL) Törléskor nem kell törölni az entitás tartalmát, a listázásnál figyelünk erre.
  • TODO: (SQL) Vizsgálni kell, hogy egy utalványtípusban ne lehessen többször ugyanaz a címlet (aktív státusszal).
  • TODO: (SQL) Törléskor törölni kell a befoglaló típust is, ha az üres maradna.

ukk.create_pack_denomination() - Új érintett címlet létrehozása

A érintett címlet alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _PackVoucherTypeId integer                  -- érintett utalványtípus
--*    _DenominationId integer                     -- címlet
--*    _Par numeric                                -- érték
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_pack_denomination_001                  --Hiányzó paraméter: _PackVoucherTypeId
--*      ukk_create_pack_denomination_002                  --Nem érvényes (FK) paraméter: _PackVoucherTypeId
--*      ukk_create_pack_denomination_003                  --Hiányzó paraméter: _DenominationId
--*      ukk_create_pack_denomination_004                  --Nem érvényes (FK) paraméter: _DenominationId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_pack_denomination(
--*      'ukk',
--*      'ukk_pack_denomination',
--*      1,
--*      null,
--*      1,
--*      1,
--*      NULL
--*    );

ukk.edit_pack_denomination() - Létező érintett címlet adatainak módosítása

Létező érintett címlet adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _PackVoucherTypeId integer                  -- érintett utalványtípus
--*    _DenominationId integer                     -- címlet
--*    _Par numeric                                -- érték
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_pack_denomination_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_pack_denomination_002        -- nem létező érintett címlet
--*      ukk_edit_pack_denomination_003                  -- Hiányzó paraméter: _PackVoucherTypeId
--*      ukk_edit_pack_denomination_004                  -- Nem érvényes (FK) paraméter: _PackVoucherTypeId
--*      ukk_edit_pack_denomination_005                  -- Hiányzó paraméter: _DenominationId
--*      ukk_edit_pack_denomination_006                  -- Nem érvényes (FK) paraméter: _DenominationId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_pack_denomination(
--*      'ukk',
--*      'ukk_pack_denomination',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      1,
--*      NULL
--*    );

ukk.list_pack_denomination() - Érintett címletek listázása

Érintett címletek listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    pack_voucher_type_id integer                -- érintett utalványtípus
--*    denomination_id integer                     -- címlet
--*    denomination_name varchar                   -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    par numeric                                 -- érték
--*    serial_interval_of_pack_count integer       -- hivatkozó csomagban szereplő sorszám intervallumok száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_pack_denomination();

ukk.read_pack_denomination() - Érintett címlet adatainak visszaadása

Érintett címlet adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    pack_voucher_type_id integer               -- érintett utalványtípus
--*    denomination_id integer                    -- címlet
--*    par numeric                                -- érték
--*
--*    Hibakódok:
--*      ukk_read_pack_denomination_001           -- egyedazonosító megadása kötelező
--*      ukk_read_pack_denomination_002           -- nem megfelelő egyedazonosító
--*      ukk_read_pack_denomination_003           -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_pack_denomination( 1 );

ukk.set_pack_denomination() - Érintett címlet állapotának beállítása

Átírja a érintett címlet állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_pack_denomination_001     -- egyedazonosító megadása kötelező
--*      ukk_set_pack_denomination_002     -- nem létező érintett címlet
--*      ukk_set_pack_denomination_003     -- állapot megadása kötelező
--*      ukk_set_pack_denomination_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_pack_denomination(
--*      'ukk',
--*      'ukk_pack_denomination',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_pack_denomination() - Érintett címletek egyszerűsített listázása

Érintett címletek listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    pack_voucher_type_id integer                -- érintett utalványtípus
--*    denomination_id integer                     -- címlet
--*    par numeric                                 -- érték
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_pack_denomination();

sorszám intervallum a csomagban (ukk.serial_interval_of_pack)

Mezők ismertetése:
  • pack_denomination_id - utalványcsomagban szereplő utalványtípus címlete (opcionális)
  • year_of_release - kibocsátás éve (opcionális)
  • validity_date - lejárati dátum
  • prefix - előtag (opcionális)
  • suffix - utótag (opcionális)
  • start_number - kezdő sorszám
  • end_number - záró sorszám

Szabályok:
  • TODO: a pack_denomination_id nem változhat!
  • TODO: (SQL) Törléskor törölni kell a befoglaló típust is, ha az üres maradna.

ukk.create_serial_interval_of_pack() - Új sorszám intervallum a csomagban létrehozása

A sorszám intervallum a csomagban alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _PackDenominationId integer                 -- csomagban szereplő utalványtípus címletének azonosítója
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _StartNumber numeric                        -- kezdő sorszám
--*    _EndNumber numeric                          -- záró sorszám
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_serial_interval_of_pack_001                  --Hiányzó paraméter: _PackDenominationId
--*      ukk_create_serial_interval_of_pack_002                  --Nem érvényes (FK) paraméter: _PackDenominationId
--*      ukk_create_serial_interval_of_pack_003                  --Hiányzó paraméter: _StartNumber
--*      ukk_create_serial_interval_of_pack_004                  --Hiányzó paraméter: _EndNumber
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_serial_interval_of_pack(
--*      'ukk',
--*      'ukk_serial_interval_of_pack',
--*      1,
--*      null,
--*      1,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      12220000000,
--*      12220009999
--*    );

ukk.edit_serial_interval_of_pack() - Létező sorszám intervallum a csomagban adatainak módosítása

Létező sorszám intervallum a csomagban adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _PackDenominationId integer                 -- csomagban szereplő utalványtípus címletének azonosítója
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _StartNumber numeric                        -- kezdő sorszám
--*    _EndNumber numeric                          -- záró sorszám
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_serial_interval_of_pack_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_serial_interval_of_pack_002        -- nem létező csomagban szereplő sorszám intervallum
--*      ukk_edit_serial_interval_of_pack_003                  -- Hiányzó paraméter: _PackDenominationId
--*      ukk_edit_serial_interval_of_pack_004                  -- Nem érvényes (FK) paraméter: _PackDenominationId
--*      ukk_edit_serial_interval_of_pack_005                  -- Hiányzó paraméter: _StartNumber
--*      ukk_edit_serial_interval_of_pack_006                  -- Hiányzó paraméter: _EndNumber
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_serial_interval_of_pack(
--*      'ukk',
--*      'ukk_serial_interval_of_pack',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      12220000000,
--*      12220009999
--*    );

ukk.list_serial_interval_of_pack() - Sorszám intervallumok a csomagban listázása

Sorszám intervallumok a csomagban listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    pack_denomination_id integer                -- csomagban szereplő utalványtípus címletének azonosítója
--*    validity_date date                          -- lejárat dátuma
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    start_number numeric                        -- kezdő sorszám
--*    end_number numeric                          -- záró sorszám
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_serial_interval_of_pack();

ukk.read_serial_interval_of_pack() - Sorszám intervallum a csomagban adatainak visszaadása

Sorszám intervallum a csomagban adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    pack_denomination_id integer               -- csomagban szereplő utalványtípus címletének azonosítója
--*    validity_date date                         -- lejárat dátuma
--*    prefix varchar                             -- előtag
--*    suffix varchar                             -- utótag
--*    start_number numeric                       -- kezdő sorszám
--*    end_number numeric                         -- záró sorszám
--*
--*    Hibakódok:
--*      ukk_read_serial_interval_of_pack_001     -- egyedazonosító megadása kötelező
--*      ukk_read_serial_interval_of_pack_002     -- nem megfelelő egyedazonosító
--*      ukk_read_serial_interval_of_pack_003     -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_serial_interval_of_pack( 1 );

ukk.set_serial_interval_of_pack() - Sorszám intervallum a csomagban állapotának beállítása

Átírja a sorszám intervallum a csomagban állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_serial_interval_of_pack_001     -- egyedazonosító megadása kötelező
--*      ukk_set_serial_interval_of_pack_002     -- nem létező csomagban szereplő sorszám intervallum
--*      ukk_set_serial_interval_of_pack_003     -- állapot megadása kötelező
--*      ukk_set_serial_interval_of_pack_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_serial_interval_of_pack(
--*      'ukk',
--*      'ukk_serial_interval_of_pack',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_serial_interval_of_pack() - Sorszám intervallumok a csomagban egyszerűsített listázása

Sorszám intervallumok a csomagban listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    pack_denomination_id integer                -- csomagban szereplő utalványtípus címletének azonosítója
--*    validity_date date                          -- lejárat dátuma
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    start_number numeric                        -- kezdő sorszám
--*    end_number numeric                          -- záró sorszám
--*
--*    Hibakódok:
--*      ukk_simplelist_serial_interval_of_pack_001 -- időpont megadása kötelező

eseménytípus (ukk.event_type)

Mezők ismertetése:
  • label - azonosító címke üzleti logika számára (kulcsmező)
  • short_name - rövid név
  • full_name - teljes név (opcionális)
  • transaction_status - ügylet állapotát erre állítja
  • is_close_transaction - lezárja a tranzakciót?
  • color_code - színkód a felületen (opcionális)
  • is_show - ha igaz, akkor a ügylet vagy utalvány eseménylistájában megjelenik
  • description - megjegyzés (opcionális)

Szabályok:
  • TODO: A label mező normalizált szöveg, kulcsként használjuk.

ukk.create_event_type() - Új eseménytípus létrehozása

A eseménytípus alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _TransactionStatus varchar                  -- ügylet állapotát erre kell állítani
--*    _IsCloseTransaction boolean                 -- lezárja a tranzakciót?
--*    _ColorCode varchar                          -- színkód a felületen
--*    _IsShow boolean                             -- ha igaz, akkor az ügyfél eseménylistájában megjelenik
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_event_type_001                  --Hiányzó paraméter: _Label
--*      ukk_create_event_type_002                  --Hiányzó paraméter: _ShortName
--*      ukk_create_event_type_003                  --Hiányzó paraméter: _IsCloseTransaction
--*      ukk_create_event_type_004                  --Hiányzó paraméter: _IsShow
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_event_type(
--*      'ukk',
--*      'ukk_event_type',
--*      1,
--*      null,
--*      'ft',
--*      'Ft',
--*      'Forint',
--*      fail,
--*      false,
--*      #ff0000,
--*      false,
--*      NULL
--*    );

ukk.edit_event_type() - Létező eseménytípus adatainak módosítása

Létező eseménytípus adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _TransactionStatus varchar                  -- ügylet állapotát erre kell állítani
--*    _IsCloseTransaction boolean                 -- lezárja a tranzakciót?
--*    _ColorCode varchar                          -- színkód a felületen
--*    _IsShow boolean                             -- ha igaz, akkor az ügyfél eseménylistájában megjelenik
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_event_type_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_event_type_002        -- nem létező eseménytípus
--*      ukk_edit_event_type_003                  -- Hiányzó paraméter: _Label
--*      ukk_edit_event_type_004                  -- Hiányzó paraméter: _ShortName
--*      ukk_edit_event_type_005                  -- Hiányzó paraméter: _IsCloseTransaction
--*      ukk_edit_event_type_006                  -- Hiányzó paraméter: _IsShow
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_event_type(
--*      'ukk',
--*      'ukk_event_type',
--*      1,
--*      NULL,
--*      1,
--*      'ft',
--*      'Ft',
--*      'Forint',
--*      fail,
--*      false,
--*      #ff0000,
--*      false,
--*      NULL
--*    );

ukk.list_event_type() - Eseménytípusok listázása

Eseménytípusok listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    transaction_status varchar                  -- ügylet állapotát erre kell állítani
--*    is_close_transaction boolean                -- lezárja a tranzakciót?
--*    color_code varchar                          -- színkód a felületen
--*    is_show boolean                             -- ha igaz, akkor az ügyfél eseménylistájában megjelenik
--*    description varchar                         -- megjegyzés
--*    event_count integer                         -- hivatkozó események száma
--*    lnk_event_message_count integer             -- hivatkozó utalvány-beváltóhelyek száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_event_type();

ukk.read_event_type() - Eseménytípus adatainak visszaadása

Eseménytípus adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    transaction_status varchar                 -- ügylet állapotát erre kell állítani
--*    is_close_transaction boolean               -- lezárja a tranzakciót?
--*    color_code varchar                         -- színkód a felületen
--*    is_show boolean                            -- ha igaz, akkor az ügyfél eseménylistájában megjelenik
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_event_type_001                  -- egyedazonosító megadása kötelező
--*      ukk_read_event_type_002                  -- nem megfelelő egyedazonosító
--*      ukk_read_event_type_003                  -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_event_type( 1 );

ukk.set_event_type() - Eseménytípus állapotának beállítása

Átírja a eseménytípus állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_event_type_001     -- egyedazonosító megadása kötelező
--*      ukk_set_event_type_002     -- nem létező eseménytípus
--*      ukk_set_event_type_003     -- állapot megadása kötelező
--*      ukk_set_event_type_004     -- status csak active vagy deleted lehet
--*      ukk_set_event_type_005     -- Nem törölhető, mert érvényes rekord hivatkozik rá: esemény
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_event_type(
--*      'ukk',
--*      'ukk_event_type',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_event_type() - Eseménytípusok egyszerűsített listázása

Eseménytípusok listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    transaction_status varchar                  -- ügylet állapotát erre kell állítani
--*    is_close_transaction boolean                -- lezárja a tranzakciót?
--*    color_code varchar                          -- színkód a felületen
--*    is_show boolean                             -- ha igaz, akkor az ügyfél eseménylistájában megjelenik
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_event_type();

esemény (ukk.event)

Mezők ismertetése:
  • event_type_label - esemény-típus
  • request_offer_id - ajánlatkérés
  • user_id - felhasználó
  • voucher_pack_id - utalványcsomag
  • description - megjegyzés

tip Az ukk.event.voucher_pack_id és az ukk.bid.supply_voucher_pack_id mezők alapján közvetett kapcsolatban áll a két tábla.

ukk.create_event() - Új esemény létrehozása

A esemény alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EventTypeLabel varchar                     -- eseménytípus
--*    _RequestOfferId integer                     -- ajánlatkérés
--*    _UserId integer                             -- felhasználó
--*    _VoucherPackId integer                      -- utalványcsomag
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_event_001                  --Hiányzó paraméter: _EventTypeLabel
--*      ukk_create_event_002                  --Nem érvényes (FK) paraméter: _EventTypeLabel
--*      ukk_create_event_003                  --Hiányzó paraméter: _RequestOfferId
--*      ukk_create_event_004                  --Nem érvényes (FK) paraméter: _RequestOfferId
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_event(
--*      'ukk',
--*      'ukk_event',
--*      1,
--*      null,
--*      1,
--*      1,
--*      NULL,
--*      NULL,
--*      NULL
--*    );

ukk.edit_event() - Létező esemény adatainak módosítása

Létező esemény adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _EventTypeLabel varchar                     -- eseménytípus
--*    _RequestOfferId integer                     -- ajánlatkérés
--*    _UserId integer                             -- felhasználó
--*    _VoucherPackId integer                      -- utalványcsomag
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_event_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_event_002        -- nem létező esemény
--*      ukk_edit_event_003                  -- Hiányzó paraméter: _EventTypeLabel
--*      ukk_edit_event_004                  -- Nem érvényes (FK) paraméter: _EventTypeLabel
--*      ukk_edit_event_005                  -- Hiányzó paraméter: _RequestOfferId
--*      ukk_edit_event_006                  -- Nem érvényes (FK) paraméter: _RequestOfferId
--*      ukk_edit_event_007                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _UserId
--*      ukk_edit_event_008                  -- Nem érvényes (FK) paraméter (érvénytelen kulcs): _VoucherPackId
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_event(
--*      'ukk',
--*      'ukk_event',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      1,
--*      NULL,
--*      NULL,
--*      NULL
--*    );

ukk.list_event() - Események listázása

Események listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    event_type_label varchar                    -- eseménytípus
--*    event_type_name varchar                     -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    request_offer_id integer                    -- ajánlatkérés
--*    user_id integer                             -- felhasználó
--*    voucher_pack_id integer                     -- utalványcsomag
--*    description varchar                         -- megjegyzés
--*    serial_interval_of_event_count integer      -- hivatkozó eseményhez kapcsolódó sorszám intervallumok száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_event();

ukk.read_event() - Esemény adatainak visszaadása

Esemény adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    event_type_label varchar                   -- eseménytípus
--*    request_offer_id integer                   -- ajánlatkérés
--*    user_id integer                            -- felhasználó
--*    voucher_pack_id integer                    -- utalványcsomag
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_event_001                       -- egyedazonosító megadása kötelező
--*      ukk_read_event_002                       -- nem megfelelő egyedazonosító
--*      ukk_read_event_003                       -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_event( 1 );

ukk.set_event() - Esemény állapotának beállítása

Átírja a esemény állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_event_001     -- egyedazonosító megadása kötelező
--*      ukk_set_event_002     -- nem létező esemény
--*      ukk_set_event_003     -- állapot megadása kötelező
--*      ukk_set_event_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_event(
--*      'ukk',
--*      'ukk_event',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_event() - Események egyszerűsített listázása

Események listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    event_type_label varchar                    -- eseménytípus
--*    request_offer_id integer                    -- ajánlatkérés
--*    user_id integer                             -- felhasználó
--*    voucher_pack_id integer                     -- utalványcsomag
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_event();

üzenet séma (ukk.message_schema)

Mezők ismertetése:
  • recipient - címzett szerepkör (például: 'init_person', 'office_manager', 'system', 'group:ukk')
  • channel - csatorna (például: 'ui', 'email', 'sms', 'log')
  • title - üzenet címe
  • body - üzenet szövege
  • schema - Latex séma

lnk_event_message

Mezők ismertetése:
  • event_type_id - eseménytípus
  • message_schema_id - üzenet séma

ukk.create_message_schema() - Új üzenet sáma létrehozása

A üzenet sáma alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_message_schema_001                  --Hiányzó paraméter: _Label
--*      ukk_create_message_schema_002                  --Hiányzó paraméter: _ShortName
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_message_schema(
--*      'ukk',
--*      'ukk_message_schema',
--*      1,
--*      null,
--*      'ft',
--*      'Ft',
--*      'Forint',
--*      NULL
--*    );

ukk.edit_message_schema() - Létező üzenet sáma adatainak módosítása

Létező üzenet sáma adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _Label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    _ShortName varchar                          -- rövid név
--*    _FullName varchar                           -- teljes név
--*    _Description varchar                        -- megjegyzés
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_message_schema_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_message_schema_002        -- nem létező üzenetséma
--*      ukk_edit_message_schema_003                  -- Hiányzó paraméter: _Label
--*      ukk_edit_message_schema_004                  -- Hiányzó paraméter: _ShortName
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_message_schema(
--*      'ukk',
--*      'ukk_message_schema',
--*      1,
--*      NULL,
--*      1,
--*      'ft',
--*      'Ft',
--*      'Forint',
--*      NULL
--*    );

ukk.list_message_schema() - Üzenet sámák listázása

Üzenet sámák listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    name varchar                                -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                         -- megjegyzés
--*    lnk_event_message_count integer             -- hivatkozó utalvány-beváltóhelyek száma
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_message_schema();

ukk.read_message_schema() - Üzenet sáma adatainak visszaadása

Üzenet sáma adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    label varchar                              -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                         -- rövid név
--*    full_name varchar                          -- teljes név
--*    name varchar                               -- név (a teljes név, ha az nincs, akkor a rövid név)
--*    description varchar                        -- megjegyzés
--*
--*    Hibakódok:
--*      ukk_read_message_schema_001              -- egyedazonosító megadása kötelező
--*      ukk_read_message_schema_002              -- nem megfelelő egyedazonosító
--*      ukk_read_message_schema_003              -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_message_schema( 1 );

ukk.set_message_schema() - Üzenet sáma állapotának beállítása

Átírja a üzenet sáma állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_message_schema_001     -- egyedazonosító megadása kötelező
--*      ukk_set_message_schema_002     -- nem létező üzenetséma
--*      ukk_set_message_schema_003     -- állapot megadása kötelező
--*      ukk_set_message_schema_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_message_schema(
--*      'ukk',
--*      'ukk_message_schema',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_message_schema() - Üzenet sámák egyszerűsített listázása

Üzenet sámák listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    label varchar                               -- azonosító címke üzleti logika számára (kulcsmező)
--*    short_name varchar                          -- rövid név
--*    full_name varchar                           -- teljes név
--*    description varchar                         -- megjegyzés
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_message_schema();

érintett intervallum (ukk.serial_interval_of_event)

Mezők ismertetése:
  • event_id - esemény
  • prefix - előtag (opcionális)
  • suffix - utótag (opcionális)
  • start_number - kezdő sorszám
  • end_number - záró sorszám

Szabályok:
  • TODO: event_id nem változhat!

ukk.create_serial_interval_of_pack() - Új sorszám intervallum a csomagban létrehozása

A sorszám intervallum a csomagban alapadatainak rögzítése, aktív státusszal.

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EventId integer                            -- esemény
--*    _YearOfRelease integer                      -- kibocsátás éve
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _StartNumber numeric                        -- kezdő sorszám
--*    _EndNumber numeric                          -- záró sorszám
--*  RESULT
--*    integer                               -- az új rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_create_serial_interval_of_event_001                  --Hiányzó paraméter: _EventId
--*      ukk_create_serial_interval_of_event_002                  --Nem érvényes (FK) paraméter: _EventId
--*      ukk_create_serial_interval_of_event_003                  --Hiányzó paraméter: _ValidityDate
--*      ukk_create_serial_interval_of_event_004                  --Hiányzó paraméter: _StartNumber
--*      ukk_create_serial_interval_of_event_005                  --Hiányzó paraméter: _EndNumber
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.create_serial_interval_of_event(
--*      'ukk',
--*      'ukk_serial_interval_of_event',
--*      1,
--*      null,
--*      1,
--*      NULL,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      12220000000,
--*      12220009999
--*    );

ukk.edit_serial_interval_of_pack() - Létező sorszám intervallum a csomagban adatainak módosítása

Létező sorszám intervallum a csomagban adatainak módosítása

--*  INPUTS
--*    _LockAccountName varchar                    -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                     -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                         -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                       -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer                                -- egyedazonosító
--*    _EventId integer                            -- esemény
--*    _YearOfRelease integer                      -- kibocsátás éve
--*    _ValidityDate date                          -- lejárat dátuma
--*    _Prefix varchar                             -- előtag
--*    _Suffix varchar                             -- utótag
--*    _StartNumber numeric                        -- kezdő sorszám
--*    _EndNumber numeric                          -- záró sorszám
--*  RESULT
--*    integer                                     -- 'az új rekord azonosítója (id)'
--*
--*    Hibakódok:
--*      ukk_edit_serial_interval_of_event_001        -- egyedazonosító megadása kötelező
--*       ukk_edit_serial_interval_of_event_002        -- nem létező eseményhez kapcsolódó sorszám intervallum
--*      ukk_edit_serial_interval_of_event_003                  -- Hiányzó paraméter: _EventId
--*      ukk_edit_serial_interval_of_event_004                  -- Nem érvényes (FK) paraméter: _EventId
--*      ukk_edit_serial_interval_of_event_005                  -- Hiányzó paraméter: _ValidityDate
--*      ukk_edit_serial_interval_of_event_006                  -- Hiányzó paraméter: _StartNumber
--*      ukk_edit_serial_interval_of_event_007                  -- Hiányzó paraméter: _EndNumber
--*  NOTES
--*
--*    Példa a használatára:
--*    SELECT ukk.edit_serial_interval_of_event(
--*      'ukk',
--*      'ukk_serial_interval_of_event',
--*      1,
--*      NULL,
--*      1,
--*      1,
--*      NULL,
--*      2016-12-31,
--*      NULL,
--*      NULL,
--*      12220000000,
--*      12220009999
--*    );

ukk.list_serial_interval_of_pack() - Sorszám intervallumok a csomagban listázása

Sorszám intervallumok a csomagban listázása az adott időpontban, a kapcsolódó egyedek főbb tulajdonságaival.

--*  INPUTS
--*    -
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    creation_user_name varchar                  -- a rekord bejegyzését kezdeményező BOB felhasználó neve
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    modification_user_name varchar              -- a rekord utolsó módosítását kezdeményező BOB felhasználó neve
--*    status varchar                              -- egyed állapota
--*    event_id integer                            -- esemény
--*    year_of_release integer                     -- kibocsátás éve
--*    validity_date date                          -- lejárat dátuma
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    start_number numeric                        -- kezdő sorszám
--*    end_number numeric                          -- záró sorszám
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.list_serial_interval_of_event();

ukk.read_serial_interval_of_pack() - Sorszám intervallum a csomagban adatainak visszaadása

Sorszám intervallum a csomagban adott időpontban érvényes adatainak visszaadása.

--*  INPUTS
--*    _EID                                       -- egyedazonosító
--*  RESULT
--*    id integer                                 -- rekordazonosító
--*    eid integer                                -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone     -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                   -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer               -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                             -- egyed állapota (active, deleted)
--*    event_id integer                           -- esemény
--*    year_of_release integer                    -- kibocsátás éve
--*    validity_date date                         -- lejárat dátuma
--*    prefix varchar                             -- előtag
--*    suffix varchar                             -- utótag
--*    start_number numeric                       -- kezdő sorszám
--*    end_number numeric                         -- záró sorszám
--*
--*    Hibakódok:
--*      ukk_read_serial_interval_of_event_001    -- egyedazonosító megadása kötelező
--*      ukk_read_serial_interval_of_event_002    -- nem megfelelő egyedazonosító
--*      ukk_read_serial_interval_of_event_003    -- időpont megadása kötelező
--*
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.read_serial_interval_of_event( 1 );

ukk.set_serial_interval_of_pack() - Sorszám intervallum a csomagban állapotának beállítása

Átírja a sorszám intervallum a csomagban állapotát a kapott paraméternek megfelelően.

--*  INPUTS
--*    _LockAccountName varchar                   -- technikai mező: kezdeményező fiók neve
--*    _LockModulLabel varchar                    -- technikai mező: kezdeményező modul neve
--*    _LockUserId integer                        -- technikai mező: kezdeményező felhasználó azonosítója
--*    _LockFormCode varchar                      -- technikai mező: űrlapazonosító a böngészőfrissítés általi újraküldések megelőzésére
--*    _EID integer,                              -- a változtatandó egyed azonosítója
--*    _Status,                                   -- egyed állapota (active, deleted)
--*  RESULT
--*    _EID                                       -- a rekord azonosítója (id)
--*
--*    Hibakódok:
--*      ukk_set_serial_interval_of_event_001     -- egyedazonosító megadása kötelező
--*      ukk_set_serial_interval_of_event_002     -- nem létező eseményhez kapcsolódó sorszám intervallum
--*      ukk_set_serial_interval_of_event_003     -- állapot megadása kötelező
--*      ukk_set_serial_interval_of_event_004     -- status csak active vagy deleted lehet
--*  NOTES
--*    Példa a használatára:
--*    SELECT ukk.set_serial_interval_of_event(
--*      'ukk',
--*      'ukk_serial_interval_of_event',
--*      1,
--*      'aaa123',
--*      3,
--*      'active'
--*    );

ukk.simplelist_serial_interval_of_pack() - Sorszám intervallumok a csomagban egyszerűsített listázása

Sorszám intervallumok a csomagban listázása az adott időpontban.

--*  INPUTS
--*
--*  RESULT
--*    id integer                                  -- rekordazonosító
--*    eid integer                                 -- egyed azonosítója (egyed létrehozásakor az értéke megegyezik a rekordazonosítóval)
--*    creation_time timestamp with time zone      -- érvényesség kezdete (megegyezik az előző állapot modification_time mezőjével)
--*    creation_user_id integer                    -- létrehozó felhasználó (megegyezik az előző állapot modification_user_id mezőjével)
--*    modification_time timestamp with time zone  -- módosítás időpontja (megegyezik a következő állapot creation_time mezőjével)
--*    modification_user_id integer                -- módosító felhasználó (megegyezik a következő állapot creation_user_id mezőjével)
--*    status varchar                              -- egyed állapota
--*    event_id integer                            -- esemény
--*    year_of_release integer                     -- kibocsátás éve
--*    validity_date date                          -- lejárat dátuma
--*    prefix varchar                              -- előtag
--*    suffix varchar                              -- utótag
--*    start_number numeric                        -- kezdő sorszám
--*    end_number numeric                          -- záró sorszám
--*
--*    Hibakódok:
--*      -
--*  NOTES
--*    Példa a használatára:
--*      SELECT * FROM ukk.simplelist_serial_interval_of_event();

Általános működési szabályok

Utalvánnyal kapcsolatos lehetséges események

Bejegyzés

Nyilvántartott tulajdonos bejegyzése