Procedura volaná z jazyka SQL provede import dat v XML formátu uložených v proměnné xml podle popisu mapování uvedeného v DAD. Celý import je součástí transakce. Dojde-li k během importu k chybě, je vyvolána výjimka.
DAD nesmí vést do ODBC zdroje dat (602SQL server nemá implementováno ODBC).
Parametr dad_ref může mít dvě podoby. Je-li ve tvaru jméno_objektu uvozené hvězdičkou (*jméno_objektu), hledá se DAD v otevřené aplikaci jako objekt typu přenos, jinak se čte z uvedené proměnné typu CLOB.
Pro použití v jazyce SQL musí být nahraná extenze 602xml a je nutné název funkce prefixovat jejím jménem, tedy CALL `602xml`.Import_from_XML_CLOB. Na Linuxu je třeba vždy nahrát extenzi příkazem
CALL load_server_extension('602xml')
V klientském API lze použít obdobnou funkci Import_from_XML_buffer.
Z přijatého dopisu se vytáhne obsah připojeného souboru tvořící XML objednávku a uloží se do pomocné tabulky. Poté se provede přenos do různých tabulek podle zvoleného DADu.
SET Err = MailBoxSaveFileDBs(box,id_zas,0,"","XML_srcs","XML_src","id_xmlsrc=xml_src_seq.CURRVAL"); IF Err > 0 THEN // chyba mailu nezpůsobí rollback!! když chyba, sám si smaž záznam v pom. tabulce CALL Log_write("Chyba při ukládání souboru "+Int2str(Err)); DELETE FROM XML_srcs WHERE id_xmlsrc=xml_src_seq.CURRVAL; ELSE //OK SET dad = "*Dad_order"; SELECT xml_src INTO xml_source FROM XML_srcs WHERE id_xmlsrc=xml_src_seq.CURRVAL; // provést přenos do tabulek CALL`602xml`.Import_from_XML_CLOB (dad,xml_source); END IF;