Popis datového rozhraní k iFIS*Objednávky
Rozhraní je běžně využíváno pro zápis žádanek nebo schválených dodavatelských objednávek ze strany externích aplikací do iFIS*Objednávky. Zápis bývá prováděn z důvodu potřeby zveřejnění objednávky na portále ISRS, z důvodu vytvoření blokace ve finančním rozpočtu příslušného zdroje financování nebo z důvodu pozdějšího párování objednávek na doklady v iFIS/Finance/Závazky. Objednávka od okamžiku svého zápisu do iFIS blokuje odpovídající finanční rozpočet, tato blokace se automaticky odstraní v okamžiku vyúčtování objednávky (spárování s fakturou, konečným vyúčtováním služební cesty apod.).
Samotný zápis dat do iFIS je možné realizovat buď pomocí webové služby (SOAP), nebo pomocí databázových konektorů na úrovni db Oracle (iFIS). Návratovou hodnotou volání datového rozhraní je vždy buď číslo vytvořené objednávky v iFIS*, případně identifikace chyby, díky které nemohl být zápis proveden.
Externí aplikace se v rámci integrace na iFIS*Objednávky napojuje na tyto základní zdrojové evidence:
- iFIS*Organizace (dodavatelé, partneři)
- Centrální registr osob (objednávající osoby, vyřizující kontaktní osoby)
- iFIS*Zdroje financování (Nákladové středisko/Zakázka/Komplexní položka)
- iFIS*Odpovědné osoby - Schvalovatelé zdrojů financování (Řešitelé, Příkazci operací, Správci rozpočtů, Hlavní účetní apod.)
- iFIS*Rozpočty - finanční plán ZF a jeho položková struktura, aktuální zůstatek finančního rozpočtu ZF
- iFIS*Registr smluv - platné smlouvy, na základě kterých se objednává
- Měny a aktuální kurzovní lístek
- Centrální uložiště dokumentů
Dokumentace k napojení na rozhraní výše uvedených zdrojevých evidencí není součástí totoho článku.
Předání dat přes webovou službu iFIS
Webová služba BbmZsWs je obvykle provozovaná na aplikačním serveru iFIS (Oracle iAS), data se na jejím rozhraní předávají v podobě XML souboru, struktura tohoto souboru je popsána v přiložených souborech ifis_obj.xsd a ifis_common.xsd. Aktuální dokumentace webové služby ve formátu WSDL je dostupná na vyžádání u správce iFIS a nebo je k dispozici na aplikačním serveru iFIS.
Náhled na strukturu předávaných XML dat najdete v přílohách XML data k vícezdrojové objednávce 1110480001.xml nebo Náhled na data vícezdrojové objednávky 1110480001.png.
Metody služby BbmZsWs
ZpracujObjednavku (PozadavekZs)
Této metodě je při volání předáván objekt PozadavekZs. Tato metoda slouží pro zápis nové objednávky, pro její pozdější editaci a nebo pro její zrušení.
Pokud je zakládána nová objednávka, metoda vrací objekt OdpovedZs, kde je uveden stav operace a identifikátor objednávky, který byl vygenerován v iFIS.
V požadavku je možné uvést i identifikaci objednávky v externím systému, pokud existuje (PozadavekZs.Objednavka.Hlavicka.EXT_ID). Součástí hlavičky objednávky může být mimo jiné seznam elementů dilci_zdroj, který obsahuje případné dílčí zdroje financování spolu s částkou a textem (vícezdrojové financování).
Aktualizace objednávky se provádí v případě, že je v objektu PozadavekZs vyplněn identifikátor objednávky (PozadavekZs.Objednavka.Hlavicka.HOBJIDNO). Aktualizovány jsou všechny položky, které jsou v požadavku uvedené.
VlozZverDol() Metoda pro zápis zveřejňovací doložky ISRS k obejdnávce.
CheckWs() Metoda vrací řetězec s výsledkem operace, slouží pouze pro testovací účely.
Zabezpečení služby BbmZsWs - Pro zabezpečení přenosu dat se využívá upraveného standardu OASIS Web Services Security - UsernameToken Profile 1.1. (Wssp1.2-2007-Https-UsernameToken-Plain-noTS). V tomto případě se při komunikaci nevyužívá údaj pro timestamp.
Předání dat přes databázové konektory na úrovni db Oracle (iFIS)
Externí aplikace přistupuje do databáze iFIS obvykle přes privátní db-link nebo přes zabezpečené ODBS rozhraní, volá databázové konektory uvnitř package PA303_OBJ. Těmto konektorům předá data hlavičky objednávky, následně i data jednotlivých řádků. Na závěr volá konektor pro uzavření objednávky, návratovou hodnotou tohoto volání je číslo objednávky, která byla v iFIS* uložena. Popis jednotlivých argumentů volání konektorů i postup volání je naznačený v příloze Příklad volání db-konektoru PA303_OBJ pro zápis OBJ do iFIS.sql.