Popis datového rozhraní k iFIS*Zásoby - Rezervační objednávky

Z BBM Dokumentace iFIS
Skočit na navigaciSkočit na vyhledávání


Popis vzájemné komunikace a technický popis rozhraní


Popis datového rozhraní iFIS*Prodejna

Přenos informací o zboží z iFIS*Zásoby/Katalog zboží do externího e-Obchodu

Externí aplikace (dále e-Obchod) čerpá aktuální informace o zboží na prodejních skladech z evidence iFIS*Zásoby/Sklady/Skladové položky/10510 - Skladová karta - prodejní ceník, zpátky do iFIS*Zásoby/Výdej/Rezervační objednávky zapisuje přijaté objednávky. Všechny operace zajištuje e-Obchod pod přiděleným uživatelským účtem přes datové rozhraní databáze iFIS (Oracle DB).


Popisy datových objektů v rozhraní iFIS*Prodejna


VOBECENK Katalog zboží a prodejních cen – struktura datového objektu

Položka Pořadí Datový typ Null? Popis položky
CENIDNO 1 NUMBER (10) N Interní a neměnný identifikátor skladové karty (skladové položky, zboží)
KARTIDNO 2 NUMBER (20) Y Číslo skladové položky, obvykle číslo čárového kódu, v případě literatury obvykle ISBN
NAZEV 3 VARCHAR2 (4000 Byte) Y Název skladové položky-zboží
NAZEV_AUTOR 4 VARCHAR2 (225 Byte) Y Autor skladové položky - vyplněno u literatury, skript apod.
NAZEV_NAZEV 5 VARCHAR2 (4000 Byte) Y Název skladové položky
DRUH 6 VARCHAR2 (4000 Byte) Y Druh zboží
SKUPINA 7 VARCHAR2 (4000 Byte) Y Skupina zboží
POLSKL 8 VARCHAR2 (1 Byte) N Skladovatelnost položky - A.. Skladovatelné položky, N..služby typu poštovné, balné
KATEGORIE 9 VARCHAR2 (10 Byte) Y Kategorie prodejní ceny, kategorie odběratele
TYP_CENY 10 VARCHAR2 (1 Byte) Y Typ prodejní ceny Z..Základní cena...
DAN 11 NUMBER (5,2) Y Sazba DPH
CENA 12 NUMBER (14,2) Y Prodejní cena bez DPH
CENADPH 13 NUMBER Y Prodejní cena včetně DPH
SKLCENA 14 NUMBER (16,4) Y Aktuální skladová cena skladové položky (průměrná pořizovací cena)
SKLADEM 15 NUMBER (10,3) Y Počet MJ na všech skladech
MJ 16 VARCHAR2 (10 Byte) Y Měrná jednotka
SKLAD 17 VARCHAR2 (30 Byte) Y Prodejní sklad
SKLADEM_SKL 18 NUMBER Y Počet MJ na prodejním skladu
SREZER 19 NUMBER Y Počet MJ, které jsou aktuálně zarezervované platnými objednávkami a čekají v expedičním skladu na odbavení
STOP_STAV 20 NUMBER (10,3) Y Minimální počet MJ na prodejním skladě
POPIS 21 VARCHAR2 (4000 Byte) Y Textový popis skladové položky - zboží
ZARUKA 22 VARCHAR2 (30 Byte) Y Záruka na zboží
VYROBCE 23 VARCHAR2 (101 Byte) Y Obvykle výrobce nebo dodavatel zboží
POL01 24 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL02 25 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL03 26 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL04 27 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL05 28 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL06 29 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL07 30 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL08 31 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL09 32 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL10 33 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL11 34 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
POL12 35 VARCHAR2 (4000 Byte) Y Volitelná položka skladové karty, u různých druhů zboží se může lišit datový typ, obsah i význam uložených dat
DRUPIDNO 36 NUMBER (10) Y Interní identifikátor druhu zboží
SKUPIDNO 37 NUMBER (10) Y Interní identifikátor skupiny zboží
SKLIDNO 38 NUMBER (10) Y Interní identifikátor skladu
STR_ID 39 NUMBER (10) Y Interní identifikátor střediska, které prodejnu provozuje
KATOBIDNO 40 NUMBER (10) Y Interní identifikátor kategorie prodejní ceny, kategorie odběratele
BONUS_CENIDNO 41 NUMBER (10) Y Interní identifikátor bonusové skladové položky, která se má automaticky přičíst do objednávky
BONUS_POCET 42 NUMBER Y Bonusový počet MJ, který se má automaticky přičíst do objednávky
BONUS_CENAD 43 NUMBER (16,2) Y Bonusová cena včetně DPH za MJ, za kterou se bonusová položka automaticky přičte do objednávky
OBR 44 BLOB Y Náhled na zboží - obvykle fotografie ve formátu JPG nebo sken přebalu knihy, skripta apod.
OBRPOPIS 45 VARCHAR2 (225 Byte) Y Textový popis k náhledu na zboží

Tab. 1 Describe datového objektu VOBECENK – Katalog zboží a prodejních cen


Podrobnější popisy k položkám objektu VOBECENK – Katalog zboží a prodejních cen

Jednoznačný identifikátor skladové položky je CENIDNO, číslo skladové karty, od kterého je odvozován čárový kód je uveden v položce KARTIDNO, cena včetně daně je pro každou kategorii prodejní ceny uvedena v položce CENAD atd. Skladové položky je potřeba vždy filtrovat s patřičnou podmínkou na SKLAD (sklidno), prodejní kategorii (katobidno). Disponibilní počet kusů na skladě je určen položkou SKLADEM_SKL minus SREZER (rezevace zboží jinými platnými objednávkami) mínus STOP_STAV (nastavené minimální počet MJ na skladové kartě). Položky POL01 až POL12 jsou implementačně závislé, mohou proto mít u různých prodejních skladů různý datový formát, obsah i význam. Náhled na zboží ve formě obrázku lze získat z položky OBR (BLOB). Seznam neskladovatelných položek (služby typu poštovné, balné atd.) včetně prodejní ceny za MJ lze ze seznamu získat podmínkou POLSKL=’N’. U každé skladové položky je uvedeno tzv. evidenční středisko (obvykle středisko, ne kterém je provozován prodejní sklad) v položce STR_ID. Zlevněné položky nebo položky v prodejních akcích lze získat dotazy přes položku TYP_CENY. Podrobnosti o zboží s bonusem (kup 1ks a k tomu dostaneš druhý zdarma apod.) lze získat dotazy přes položky TYP_CENY, BONUS_CENIDNO, BONUS_POCET a BONUS_CENAD.



VOBEZAKH Hlavičky přijatých rezervačních objednávek – struktura datového objektu

Položka Pořadí Datový typ Null? Popis položky
ZAKIDNO 1 NUMBER (10) N ID přijaté rezervační objednávky
ODBERID 2 NUMBER (10) N ID odběratele v hlavičce objednávky
ODBERATEL 3 VARCHAR2 (101 Byte) Y Odběratel v hlavičce objednávky
KATOBIDNO 5 NUMBER (10) N ID kategorie odběratele
KATEGORIE 6 VARCHAR2 (10 Byte) Y Kategorie prodejní ceny - odběratele
TERMIN 10 VARCHAR2 (30 Byte) Y Termín dodávky
EJIDNO 11 NUMBER Y ID ekonomické jednotky, obvykle konstanta 1
POZNAMKA 12 VARCHAR2 (255 Byte) Y Interní textová poznámka v objednávce
KOMENTAR 13 VARCHAR2 (2000 Byte) Y Komentář k objednávce
PRIJEMID 14 NUMBER (10) Y ID konečného příjemce
PRIJEMCE 15 VARCHAR2 (101 Byte) Y Konečný příjemce
DOPRAVA 16 VARCHAR2 (4000 Byte) Y Zvolený způsob dopravy
SMLOUVA 17 VARCHAR2 (10 Byte) Y Číslo smlouvy
STAV 20 VARCHAR2 (1 Byte) Y Stav objednávky
NSTAV 21 VARCHAR2 (4000 Byte) Y Stav objednávky - text
SPOZ 22 NUMBER Y Suma požadovaných MJ za celou objednávku
SREZ 23 NUMBER Y Suma zarezervovaných MJ za celou objednávku
ZDOD 24 NUMBER Y Suma již vyexpedovaných MJ za celou objednávku
ZNED 25 NUMBER Y Suma ještě nevyexpedovaných MJ za celou objednávku
CNT 26 NUMBER Y Počet objednaných položek
PLATNOST 27 VARCHAR2 (4000 Byte) Y Platnost objednávky
COBJED 28 VARCHAR2 (20 Byte) Y Číslo externí objednávky
CENA 29 NUMBER Y Celková cena bez DPH za celou objednávku
CENAD 30 NUMBER Y Celková cena včetně DPH za celou objednávku
MAIL 31 VARCHAR2 (50 Byte) Y E-mailová adresa na odběratele
TEL 32 VARCHAR2 (30 Byte) Y Telefonní kontakt na odběratele
IDENT_PLATBA 33 VARCHAR2 (30 Byte) Y ID transakce platební kartou
EXT_ID 34 VARCHAR2 (60 Byte) Y Externí jednoznačný identifikátor zákazníka v e-Obchodě
FIROTEXT 36 VARCHAR2 (2000 Byte) Y Odběratel - text

Tab. 2 Describe datového objektu VOBEZAKH – Hlavičky přijatých rezervačních objednávek


Podrobnější popisy k položkám objektu VOBEZAKH – Hlavičky přijatých rezervačních objednávek Jednoznačným číslem objednávky je ZAKIDNO, celková cena objednávky je v položkách CENA (základ daně) a CENAD (cena včetně daně), číslo externí objednávky je zobrazeno v položce COBJED, v položce EXT_ID může být uložen identifikátor odběratele z E-Obchod, NSTAV určuje stav zpracování objednávky v iFIS*Prodejna.



VOBEZAKR Řádky přijatých rezervačních objednávek – struktura datového objektu

Položka Pořadí Datový typ Null? Popis položky
ZAKIDNO 1 NUMBER (10) N ID přijaté rezervační objednávky
CENIDNO 2 NUMBER (10) N ID skladové položky zboží
RADKIDNO 3 NUMBER (10) N ID řádku objednávky
CENA 4 NUMBER (14,2) N Cena za MJ bez DPH
CENAD 5 NUMBER (14,2) Y Cena za MJ včetně DPH
SUMCENA 6 NUMBER Y Celková cena za MJ bez DPH
MENA 7 VARCHAR2 (3 Byte) N Měna
POZADAVEK 8 NUMBER (10,3) N Požadovaný počet MJ
REZERVACE 9 NUMBER (10,3) N Rezervovaný počet MJ
EXPEDICE 10 NUMBER (10,3) N Počet MJ, které byly vyexpedovány z prodejního skladu
DODANO 11 NUMBER (10,3) N Počet již vyskladněných MJ
NEDODANO 12 NUMBER (10,3) N Počet ještě nevyskladněných MJ

Tab. 3 Describe datového objektu VOBEZAKR – Řádky přijatých rezervačních objednávek


Podrobnější popisy k položkám objektu VOBEZAKR – Řádky přijatých rezervačních objednávek

Referenční vazba na hlavičku přes položku ZAKIDNO.


Zápis přijatých rezervačních objednávek přes datové rozhraní do iFIS*Prodejna

  • Pro zápis přijatých rezervačních objednávek zboží do iFIS*Prodejna je využívána databázová package PA102_EOBC, která obsahuje jednotlivé konektory (funkce). Package PA102_EOBC je součástí každého privátního schématu FIS_XX.
  • Konektorem se rozumí databázová funkce, která umožňuje externí aplikaci aktivně manipulovat s daty iFIS*.
  • Externí aplikace ovlivňuje prostřednictvím oprávněného uživatele chování konektoru zadáním tzv. vstupních argumentů.
  • Vstupní argumenty konektorů, které mají definovány default hodnoty, jsou nepovinné.
  • Argumenty, u nichž jsou uvedeny možné hodnoty, nebo odkazy na domény, nebo odkazy na jiné číselníky jsou na tyto hodnoty kontrolovány.
  • Konektor kontroluje všechna databázová integritní omezení.
  • Jakákoliv chyba při zpracování transakce způsobí automatické odvolání všech změn, které konektor v rámci transakce provedl.
  • Databázový konektor po provedení transakce automaticky vrací tzv. výstupní argumenty. Tyto výstupní argumenty informují externí aplikaci o stavu provedené transakce. Mohou to být např. informace o správně provedené transakci, informace o jednoznačných identifikátorech nově založených záznamů v iFIS, informace o chybných vstupních argumentech, informace o porušených integritních omezeních, nebo informace o porušení jiných pravidel pro ukládání dat v iFIS*Prodejna.
  • Další pravidla jsou součástí popisu příslušných konektorů (viz. dále).


FUNCTION vloz_skl_pol

POPIS : Funkce vkládá položky z katalogu zboží a služeb do rezervační objednávky. Úspěšně založené objednávky jsou externí 
aplikaci přístupné přes db pohledy VOBEZAKH (hlavičky) a VOBEZAKR ()

VSTUP : 
        "Odberid_" - interní identifikátor zákazníka z číselníku organizací (j_sbj, j_vad, j_adr, j_mst)
        "Prijemid_" - interní identifikátor konečného zákazníka z číselníku organizací (j_sbj, j_vad, j_adr, j_mst)
        "Zpusob_dodavky" - způsob dodávky, viz. hodnoty doména DOPRAVA (rrp_faes.r_dom_values_vw)
        "Termín_"  volný text, max. 30 zn.
        "Kategorie_"  kategorie odběratele . MCE, viz. hodnoty vobecenk.KATEGORIE
        "Smlouva_"  označení smlouvy, max. 10 zn.
        "Poznamka_"  volný text, max. 255 zn.
       "Komentar_"  volný text, max. 2000  zn. (např. požadavek na fakturační adresu odlišnou od doručovací)
        "Cenidno_"  interní identifikátor zboží, viz. hodnoty vobecenk.CENIDNO 
        "Počet_"  počet ks zboží
        "Mail_"  - mail pro případné informování  zákazníka o stavu zpracování jeho objednávky          
        "Tel_"   - telefon  pro případné informování  vyrozumění zákazníka o stavu zpracování jeho objednávky          
        "Ident platba_" identifikace platební transakce přes bankovní kartu   
        "Ext_id_"  jednoznačná identifikace zákazníka ve E-Obchod
        "Zppl_" identifikace požadovaného způsobu platby ( doména FKTYPPL, možné 
hodnoty, P .. platebním příkazem, H..hotovostí při osobním vyzvednutí na PTL, D..na dobírku, B..bankovní kartou,  K..kartou IPS)
       "Dor_adr_" doručovací adresa ve formě volné strukturované textové poznámky např.  Firma / Část firmy  / Příjmení a 
jméno / Ulice / Město / PSČ / Stát, pokud je tento parametr naplněn, pak je hodnota uvedená v parametru Prijemid nevýznamná
            "Cena_" Cena bez daně za MJ, pokud není uvedena, pak bude doplněna cena obvyklá podle uvedené prodejní kategorie
       	"Coobjed_" Číslo objednávky ve E-Obchod      
      	 "Str_id_"  NS skladu, na kterém je evidována skladová karta viz. položka VOBECENK.STR_ID
"Nsidno_"  ID střediska, na které bude účtovaná spotřeba nebo tržby za prodané zboží
"Typaidno_"  ID typu akce, na který bude účtovaná spotřeba nebo tržby za prodané zboží
"Akce_"  ID zakázky, na kterou bude účtovaná spotřeba nebo tržby za prodané zboží
"Komidno_"  ID komplexní položky, na kterou bude účtovaná spotřeba nebo tržby za prodané zboží
"Text_"          poznámka na řádek objednávky
"Fakt_adr_"  - fakturační adresa



VÝSTUP : "Chyba" - text chybového hlášení při chybě.
	
NÁVRATOVÁ HODNOTA : Při chybě vrací FALSE jinak vrací TRUE.



FUNCTION vloz_skl_pol 
( Chyba        out    varchar2,
odberidno_    in     number,
                          prijemid_     in     number,
                          zpusob_dodavky  in     varchar2,
                          termin_       in     varchar2 default null,
                          kategorie_    in     varchar2,
                          smlouva_      in     varchar2 default null,
                          poznamka_     in     varchar2 default null,
                          komentar_     in     varchar2 default null,
                          cenidno_      in     number,
                          pocet_        in     number,
		mail_        in     varchar2 default null,
		tel_            in     varchar2 default null,
		ident_platba_ in     varchar2 default null,
		ext_id_        in     varchar2 default null,
            zppl_           in     varchar2 default null,
            dor_adr_        in     varchar2 default null,
            cena_          in     varchar2 default null,
            cobjed_         in     varchar2 default null,
str_id_        in  number   default null,  
    		nsidno_        in  number   default null,
   		typaidno_      in  number   default null,
    		akce_          in  number   default null,
    		komidno_       in  number   default null,
                       text_          in  varchar2 default null,  
                       fakt_adr_      in  varchar2 default null) 
                         ) Return boolean;


*** Funkce je volána v rámci jedné databázové transakce pro každý řádek objednávky jedenkrát. Na závěr musí následovat volání 
funkce Uzavri_e_zak, čí dojde k uložení objednávky v evidenci iFIS*Zásoby/Rezervační.


select * from fis.tlist1 where polozka= 'DOPRAVA';


EXT_VALUE EXT_TEXT DESCRIPTION
C Poštou Běžnou poštou
O Vyzvednutí objednavatelem Objednavatel si zboží vyzvedává na expediční přepážce prodejny
T Expresní poštou
A Elektronickou poštou
B Dobírkou
D Interní poštou



   FUNCTION uzavri_e_zak

POPIS : Funkce uzavírá založenou e-objednávku. Po uzavření objednávky nelze do objednávky přidávat další 
řádky pomocí funkce Vloz_skl_pol. Při uzavření objednávky se generuje e-mail typu č.2 s ověřovacím dodatkem, je doručen 
na registrovanou e-mailovou adresu zákazníka. Funkce fyzicky ukládá objednávku do databáze a generuje číslo objednávky (zakidno).

VÝSTUP : "Chyba" - text chybového hlášení při chybě.
         "Zakidno" - interní identifikátor zakázky = číslo objednávky
	
NÁVRATOVÁ HODNOTA : Při chybě vrací FALSE jinak vrací TRUE.
*****************************************************************************/
   FUNCTION uzavri_e_zak 
( chyba        out    varchar2,
                         			    zakidno      out    number,
                                                    ) Return boolean;


*** Funkce je volána bez vstupních parametrů v rámci jedné transakce na závěr vkládání řádku objednávky. Výstupní hodnotou 
je vygenerované číslo objednávky (zakidno). Následná funkce potvrd_e_zak je potom volána s tímto vstupním parametrem (zakidno).


FUNCTION potvrd_e_zak

POPIS :    Funkce může být využívána při zpětném potvrzení objednávky zákazníkem (vstupní parametr operace =P).  U objednávky 
se doplňuje příznak Typ= P Potvrzeno a současně se převádí stav objednávky z hodnoty Přijato do Požadavek.  
 	
Pokud objednávka byla zákazníkem předem zaplacena platební kartou, pak je možné objednané zboží zarezervovat  (vstupní 
parametr operace =R). 
K zarezervování však dojde jen u těch položek, které jsou v danou chvíli k dispozici.
Výsledkem je  fyzické zablokování zboží pro další prodej.
      

VSTUP :  "Operace"  parametr typu zpracování objednávky
	   "Zakidno "  parametr pro identifikaci zpracovávané objednávky

VÝSTUP : "Chyba" - text chybového hlášení při chybě.
	
NÁVRATOVÁ HODNOTA : Při chybě vrací FALSE jinak vrací TRUE.


FUNCTION potvrd_e_zak (    chyba                 out    varchar2,
                         			 zakidno	   in     number,
				  operace	   in     varchar2
                                                    ) Return boolean;


FUNCTION zmen_e_zak
  
 POPIS :   Funkce provádí aktualizaci dříve založené rezervační e-objednávky. Je využívána především pro dodatečné doplnění 
identifikátoru úspěšně dokončené platby platební kartou.


FUNCTION E_ZMEN_ZAK(CHYBA OUT VARCHAR2,
                        ZAKIDNO_ IN NUMBER, 
                        COBJED_ IN VARCHAR2 DEFAULT NULL, 
                        ZPPL_ IN VARCHAR2 DEFAULT NULL, 
                        IDENT_PLATBA_ IN VARCHAR2 DEFAULT NULL, 
                        POZNAMKA_ IN VARCHAR2 DEFAULT NULL, 
                        KOMENTAR_ IN VARCHAR2 DEFAULT NULL 
                        ) RETURN BOOLEAN IS


FUNCTION storno_e_zak
  
 POPIS :   Funkce provede storno založené rezervační  e-objednávky. Storno objednávky je provedeno jen v případě, že 
žádná objednávaných položek není rezervovaná nebo již  expedovaná. Pokud byla provedena expedice, pak musí obsluha iFIS 
nejprve provést  storno výdejky ze skladu, případně storno vystavené faktury  a následně pak musí odrezervovat zboží. 
Pak je možné storno e-objednávky  prostřednictví storno_e_zak úspěšně dokončit.

VSTUP : "Zakidno_ "  parametr pro identifikaci stornované objednávky
VÝSTUP : "Chyba"  -    text chybového hlášení při chybě.
	
NÁVRATOVÁ HODNOTA : Při chybě vrací FALSE jinak vrací TRUE.


FUNCTION storno_e_zak (    chyba                 out    varchar2,
                         			 zakidno	   in     number
                                                    ) Return boolean;


Testovací příklad volání konektorů PA102EOBC

--příklad založení nové objednávky se třemi řádky, včetně následného potvrzení objednávky zákazníkem pomocí 
nástroje Toad for ORACLE 9.0.1.8.

/* **** Priklad volani konektoru pro zapis internetove objednavky na zbozi - pro CVUT db FIST **** */

DECLARE
xchyba VARCHAR2(255);
xzakidno NUMBER(10);

BEGIN
/*TEST Pa102_Eobc.E_VLOZ_SKL_POL*/
DBMS_OUTPUT.PUT_LINE('*** TEST Pa102_Eobc.E_VLOZ_SKL_POL ***');

IF Pa102_Eobc.E_VLOZ_SKL_POL
       (xchyba,	   	 		 			                --CHYBA OUT        vystupni argument 
s popisem chyby, ktera při zpracovani nastala
        '143998',						                --ODBERID_         identifikator adresy 
firmy z iFIS*Organizace (E-OBCHOD CVUT Neregistrovaní zákazníci ČVUT PTL=143998),
        null,							                --PRIJEMID_        identifikator adresy 
konecneho prijemce z iFIS*Organizace,
        'C',							                --ZPUSOB_DODAVKY   identifikator 
pozadovaneho zpusobu dodani zbozi viz. hodnoty v domenovem ciselniku fis.tlist1 polozka 'DOPRAVA',
        'Co nejdříve!',  				                --TERMIN_          pozadovany temin dodani zbozi,
        'MCE',					     	                --KATEGORIE_       oznaceni kategorie prodejni 
ceny (vobecenk.KATEGORIE),
        'SML1235/01',		    	   	                --SMLOUVA_         oznaceni smlouvy,
        'Žádám o zařazení mezi registrované zákazníky!',--POZNAMKA_        poznamka k objednavce,
        'Daňový doklad zašlete na adresu:
         Tomas Malkus
         Vrchlickeho 1250
         38901 Vodňany',                                --KOMENTAR_        komentar k objednavce,
         '23723',					                    --CENIDNO_         Iidentifikator skladove 
polozky (vobecenk.CENIDNO),
         '2',							                --POCET_           pozadovany/objednavany 
pocet MJ,
        'tmalkus@bbm.cz;tmalkus@seznam.cz',             --MAIL_            kontakt na objednavajiciho - mailova adresa
        '724/162 687 nebo 382 209111',	                --TEL_             kontakt na objednavajiciho - telefonicke 
spojeni,
         null,   	                                   --IDENT_PLATBA_    identifikace platby platebni kartou,
        '4321',                                         --EXT_ID_          Identifikace objednavky v e-Obchod	
        'S',                                            --ZPPL_            Zpusob uhrady zbozi B..Bankovni kartou, 
D..Dobírkou, S..Interní kartou PIK, H..Hotově, I..Inkasem, P..Platebnim prikazem
        'BBM spol. s .r.o.
         BBM - Písek
         Tomáš Malkus
         Kocínova 5/138 
         Písek
         397 01 
         ČR
         ICO 12345678 DIC CZ12345678',                  --DOR_ADR_        Dorucovací sdresa externiho neregistrovaneho 
zákaznika
        '100',                                          --CENA_            Cena bez DPH - zaklad dane
        'OBJ999')                                       --COBJED_		   Cislo objednavky		       
THEN
 	 DBMS_OUTPUT.PUT_LINE('Uspesne vlozeni radku objednavky');
 ELSE
 	 DBMS_OUTPUT.PUT_LINE('Pozor chyba: !!! '||xchyba);
END IF;


IF Pa102_Eobc.E_VLOZ_SKL_POL
       (xchyba,	   	 		 			                --CHYBA OUT        vystupni argument 
s popisem chyby, ktera při zpracovani nastala
        '143998',						                --ODBERID_         identifikator adresy 
firmy z iFIS*Organizace (E-OBCHOD CVUT Neregistrovaní zákazníci ČVUT PTL=143998),
        null,							                --PRIJEMID_        identifikator adresy 
konecneho prijemce z iFIS*Organizace,
        'C',							                --ZPUSOB_DODAVKY   identifikator požadovaného 
zpusobu dodani zbozi viz. hodnoty v domenovem ciselniku fis.tlist1 polozka 'DOPRAVA',
        'Co nejdříve!',  				                --TERMIN_          pozadovany temin dodani zbozi,
        'MCE',					     	                --KATEGORIE_       oznaceni kategorie prodejni 
ceny (vobecenk.KATEGORIE),
        'SML1235/01',		    	   	                --SMLOUVA_         oznaceni smlouvy,
        'Žádám o zařazení mezi registrované zákazníky!',--POZNAMKA_        poznamka k objednavce,
        'Daňový doklad zašlete na adresu:
         Tomas Malkus
         Vrchlickeho 1250
         38901 Vodňany',                                --KOMENTAR_        komentar k objednavce,
         '7826',					                    --CENIDNO_         Iidentifikator skladove 
polozky (vobecenk.CENIDNO),
         '3',							                --POCET_           pozadovany/objednavany 
pocet MJ,
        'tmalkus@bbm.cz;tmalkus@seznam.cz',             --MAIL_            kontakt na objednavajiciho - mailova adresa
        '724/162 687 nebo 382 209111',	                --TEL_             kontakt na objednavajiciho - telefonicke spojeni,
         null,   	                                    --IDENT_PLATBA_    identifikace platby platebni kartou,
        '4321',                                         --EXT_ID_          Identifikace objednavky v e-Obchod	
        'S',                                            --ZPPL_            Zpusob uhrady zbozi B..Bankovni kartou, 
D..Dobírkou, S..Interní kartou PIK, H..Hotově, I..Inkasem, P..Platebnim prikazem
        'BBM spol. s .r.o.
         BBM - Písek
         Tomáš Malkus
         Kocínova 5/138 
         Písek
         397 01 
         ČR
         ICO 12345678 DIC CZ12345678',                   --DOR_ADR_         Dorucovací sdresa externiho neregistrovaneho 
zákaznika
        '50',                                           --CENA_            Cena bez DPH - zaklad dane
        'OBJ999')                                       --COBJED_		   Cislo objednavky		       
THEN
 	 DBMS_OUTPUT.PUT_LINE('Uspesne vlozeni radku objednavky');
 ELSE
 	 DBMS_OUTPUT.PUT_LINE('Pozor chyba: !!! '||xchyba);
END IF;

IF Pa102_Eobc.E_VLOZ_SKL_POL
       (xchyba,	   	 		 			                --CHYBA OUT        vystupni argument 
s popisem chyby, ktera pri zpracovani nastala
        '143998',						                --ODBERID_         identifikator adresy 
firmy z iFIS*Organizace (E-OBCHOD CVUT Neregistrovaní zákazníci CVUT PTL=143998),
        null,							                --PRIJEMID_        identifikator adresy 
konecneho prijemce z iFIS*Organizace,
        'C',							                --ZPUSOB_DODAVKY   identifikator požadovaného 
zpusobu dodani zbozi viz. hodnoty v domenovem ciselniku fis.tlist1 polozka 'DOPRAVA',
        'Co nejdríve!',  				                --TERMIN_          pozadovany temin dodani zbozi,
        'MCE',					     	                --KATEGORIE_       oznaceni kategorie prodejni 
ceny (vobecenk.KATEGORIE),
        'SML1235/01',		    	   	                --SMLOUVA_         oznaceni smlouvy,
        'Žádám o zarazení mezi registrované zákazníky!',--POZNAMKA_        poznamka k objednavce,
        'Danový doklad zašlete na adresu:
         Tomas Malkus
         Vrchlickeho 1250
         38901 Vodnany',                                --KOMENTAR_        komentar k objednavce,
         '9236',					                    --CENIDNO_         Iidentifikator skladove 
polozky (vobecenk.CENIDNO),
         '1',							                --POCET_           pozadovany/objednavany 
pocet MJ,
        'tmalkus@bbm.cz;tmalkus@seznam.cz',             --MAIL_            kontakt na objednavajiciho - mailova adresa
        '724/162 687 nebo 382 209111',	                --TEL_             kontakt na objednavajiciho - telefonicke spojeni,
         null,   	                                    --IDENT_PLATBA_    identifikace platby platebni kartou,
        '4321',                                         --EXT_ID_          Identifikace objednavky v e-Obchod	
        'S',                                            --ZPPL_            Zpusob uhrady zbozi B..Bankovni kartou, 
D..Dobírkou, S..Interní kartou PIK, H..Hotove, I..Inkasem, P..Platebnim prikazem
        'BBM spol. s .r.o.
         BBM - Písek
         Tomáš Malkus
         Kocínova 5/138 
         Písek
         397 01 
         CR
         ICO 12345678 DIC CZ12345678',                  --DOR_ADR_         Dorucovací sdresa externiho neregistrovaneho 
zákaznika
        '50',                                           --CENA_            Cena bez DPH - zaklad dane
        'OBJ999')                                       --COBJED_		   Cislo objednavky		       
THEN
 	 DBMS_OUTPUT.PUT_LINE('Uspesne vlozeni radku objednavky');
 ELSE
 	 DBMS_OUTPUT.PUT_LINE('Pozor chyba: !!! '||xchyba);
END IF;

/*Provede validaci všech dat předaných v rámci Pa102_Eobc.E_VLOZ_SKL_POL a následně zápis objednávky do iFIS*Rezervační 
objednávky*/
DBMS_OUTPUT.PUT_LINE('*** TEST Pa102_Eobc.E_UZAVRI_ZAK ***');
  IF
  	Pa102_Eobc.E_UZAVRI_ZAK(xchyba, xzakidno)
  THEN
	 DBMS_OUTPUT.PUT_LINE('Test E_UZAVRI_ZAK - Správné uzavreni - byla založena zakázková objednávka č.'||xzakidno);
  ELSE
 	 DBMS_OUTPUT.PUT_LINE('Chyba: '||xchyba);
  END IF;


/*Pokud zákazník potvrdil ověřovací doložku, pak je možné převést objednávku tzv. Potvrdit 
tzn. zmenit jeji stav ze stavu Přijato do stavu Požadavek a současne nastavi stav e-Potvrzeno*/
DBMS_OUTPUT.PUT_LINE('*** TEST Pa102_Eobc.E_POTVRD_ZAK ***');
  IF
  	Pa102_Eobc.E_POTVRD_ZAK(xchyba, 
                            xzakidno,
                            'P' --operace 'P'.. zmena stavu objednavky na Požadavek/Potvrzeno
                           )
  THEN
	 DBMS_OUTPUT.PUT_LINE('Objednavka zbozi byla uspesne potvrzena');
  ELSE
 	 DBMS_OUTPUT.PUT_LINE('Chyba: '||xchyba);
  END IF;
  
END;


Výsledný LOG

*** TEST Pa102_Eobc.E_VLOZ_SKL_POL ***
Uspesne vlozeni radku objednavky
Uspesne vlozeni radku objednavky
Uspesne vlozeni radku objednavky
*** TEST Pa102_Eobc.E_UZAVRI_ZAK ***
Test E_UZAVRI_ZAK - Správné uzavreni - byla založena zakázková objednávka č.5881
*** TEST Pa102_Eobc.E_POTVRD_ZAK ***
Objednávka zboží byla úspěšně potvrzena


Kontrola výsledku v iFIS*Zásoby / Rezervační objednávky

select * from vobezakh where zakidno=5881
select * from vobezakr where zakidno=5881


Náhled na výslednou objednávku v iFIS*Zásoby / Rezervační objednávky


Obr. 1 Náhled na výslednou objednávku v iFIS*Zásoby / Rezervační objednávky