I-Suite
Zoekresultaten voor

    Toon / Verberg Inhoudsopgave

    I-Connect schema

    Datum: 27/08/2025

    Een I-Connect schema is de basis van de module waar het om gaat en bestaat uit de volgende onderdelen:

    • Algemeen
    • XSD
    • Import
    • Export
    • XML Structuur

    Algemeen

    Hierin kan worden ingevuld:

    Veld Omschrijving
    I-Connect Schema code Dit is de unieke code van het schema.
    Omschrijving De omschrijving van het schema
    Uitgeschakeld Hiermee kan het schema worden uitgeschakeld. De functies XML exporteren en Importeren werken dan niet (handmatig of via taakwachtrijpost).
    Codering In het veld codering kan aangegeven worden welke tekencodering gebruikt moet worden voor het importeren of genereren en exporteren van een XML file. Op dit moment ondersteunt I-Connect de volgende coderingen: UTF-8, UTF-16 & ISO-8859-1. De codering wordt meegegeven in de xml als eerste regel
    Versie Er bestaan twee versies van XML, XML1.0 en XML1.1. I-Connect ondersteunt beide versies van XML. Het is echter niet aan te raden om XML1.1 te gebruiken tenzij noodzakelijk.
    Functie codeunit (en caption) Indien er specifieke programmatuur is toegevoegd of moet worden toegevoegd aan de verwerkingsfunctionaliteit kan hier de (maatwerk) code unit worden ingegeven waarmee dit wordt toegepast.
    XSD schema Dit is een informatief veld. Op het moment dat het I-Connect schema gegenereerd is op basis van een XSD schema, is dit veld aangevinkt. Het veld geeft ook aan dat het XSD schema dat gebruikt is om de XML structuur te genereren opgeslagen is in een BLOB veld in het I-Connect schema.
    XML structuur Dit is een informatief veld. Op het moment dat het I-Connect schema gegenereerd is op basis van een XML file, is dit veld aangevinkt. Het veld geeft ook aan dat de XML File die gebruikt is om de XML structuur te genereren opgeslagen is in een BLOB veld in het I-Connect schema.

    XSD

    Hierin kan worden ingevuld:

    Veld Omschrijving
    Root Prefix Wanneer er gebruik gemaakt wordt van een Namespace in het XSD schema wordt de prefix of voorvoegsel van het root element ingevuld op het moment van importeren van de XSD file.
    Target Namespace Net zoals de root prefix wordt ook het veld target namespace automatisch gevuld op het moment van importeren van de XSD file.
    Root Het is niet mogelijk om de root van de XML structuur geautomatiseerd te selecteren in de XSD file. De root moet na het importeren van de XSD handmatig geselecteerd worden uit een lijst van mogelijke root elementen. Wanneer de root geselecteerd is kan de XML structuur aangemaakt worden.

    Import

    Deze gegevens hebben alleen betrekking op importeren van gegevens via I-Connect, bijvoorbeeld een EDI order, Inventory report of delivery Forecast.

    Hierin kan worden ingevuld:

    Veld Omschrijving
    Import providersoort Hier dient de bestandsprovidersoort te worden ingegeven vanaf waar bestanden worden opgepakt (zoals eerder beschreven zijn er 3 soorten: Azure File Share, Azure Blob Storage of Windows File System)
    Import provider Hier kan uit de lijst van bestand providers worden gekozen (met als soort het zojuist ingevuld soort).Met deze twee velden wordt feitelijk de plek plus initiële plaats/map op server of Azure bepaalt.
    Submap importeren Dit betreft de submap op het netwerk waar de te importeren bestanden worden opgepakt. Dit het ‘mappenpad’ wat achter die uit de bestandsprovider wordt ‘ geplakt’
    Bijvoorbeeld: bestandsprovider = Windows, met als initiële map C:\Test
    In dit veld wordt ingegeven: IN\ORDERS. Het uiteindelijke pad wordt dan: C:\Test\IN\ORDERS
    NB in geval van Azure dient pad middels / (forward slash) te worden ingegeven.
    Verwerkte submap Dit betreft de submap op het netwerk waar succesvol verwerkte bestanden worden geplaatst. Dit dient een andere map te zijn dan de import map. Het principe is hetzelfde als bij Submap importeren.
    Filter import map Hiermee kan de import map nog worden gefilterd op bestandsnaam. Bijvoorbeeld *.xml
    Bestaande records Hiermee kan worden aangegeven wat er moet gebeuren indien hetzelfde record nog een keer wordt aangeboden. Hier zijn de volgende keuzes:
    - Overslaan: het record wordt niet verwerkt
    - Updaten: het doel record wordt geüpdatet met nieuwe waarden
    - Vervangen: het doel record wordt vervangen.

    Exporteren

    Deze gegevens hebben alleen betrekking op exporteren van gegevens via I-Connect, bijvoorbeeld t.b.v. een EDI pakbon (DESADV) order of factuur (INVOIC).

    Hierin kan worden ingevuld:

    Veld Omschrijving
    Export providersoort Hier dient de bestandsprovidersoort te worden ingegeven waar naartoe bestanden worden geschreven (zoals eerder beschreven zijn er 3 soorten: Azure File Share, Azure Blob Storage of Windows File System)
    Export provider Hier kan uit de lijst van bestand providers worden gekozen (met als soort het zojuist ingevuld soort).Met deze twee velden wordt feitelijk de plek plus initiële plaats/map op server of Azure bepaalt.
    Export submap Dit betreft de submap op het netwerk waar de te exporteren bestanden worden geplaatst. Dit het ‘mappenpad’ wat achter die uit de bestandsprovider wordt ‘ geplakt’
    Bijvoorbeeld: bestandsprovider = Windows, met als initiële map C:\Test
    In dit veld wordt ingegeven: OUT\INVOIC.
    Het uiteindelijke pad wordt dan: C:\Test\OUT\INVOIC
    NB in geval van Azure dient pad middels / (forward slash) te worden ingegeven.
    Export bestandsnaam Hier wordt ingegeven hoe het bestand moet worden genoemd.
    NB Hier kan ook nog worden gewerkt met substitutieparameters, zoals in het voorbeeld %1. Hierdoor krijgt in het voorbeeld het bestand de naam INV_%1 waarbij INV_ vast is en %1 bepaald wordt middels een Nummer reeks waardoor altijd een unieke bestandsnaam wordt gecreëerd.
    Bestand per primair record Hiermee wordt aangegeven of er per primair record 1 xml moet worden aangemaakt (Ja) of dat het is toegestaan dat er meerdere in 1 xml bestand mogen worden opgenomen (Nee). Bijvoorbeeld: moet elke verzending leiden tot 1 xml of mogen er meerdere verzendingen in 1 xml worden opgenomen.
    Geëxporteerd primair record Hiermee kan worden aangegeven of een al geëxporteerd record nogmaals moet worden meegenomen of moet worden uitgesloten:
    - Meenemen: een reeds geëxporteerd record wordt nogmaals meegenomen (NB praktisch gezien is dit met name bij testen handig).
    - Uitsluiten: een reeds geëxporteerd record wordt NIET nogmaals meegenomen
    Verwijderen lege XML elementen Geeft aan of gedefinieerde xml elementen waarin geen waarde is gevuld moeten worden verwijderd in de aan te maken xml.
    Laatste Export datum/tijd i.c.m. Primaire records na laatste exportdatum Indien “Primaire records na laatste exportdatum" aan staat gebeurt het volgende (extra)
    De dataset van het primaire record wordt extra gefilterd op de "Laatste export datum/tijd" met filter groter of gelijk aan die datum/tijd
    - Alleen records die toegevoegd zijn op of na deze tijd worden verwerkt.
    - Hierbij wordt tevens nog de i-connect log gecontroleerd (fouten, record wel of niet verwerkt i.c.m. meenemen/uitsluiten)
    Indien “Primaire records na laatste exportdatum" uit staat wordt niet extra gefilterd op de laatste exportdatum-tijd. Het nieuwe veld met datum/tijd wordt dan niet bijgewerkt.
    Het voordeel van deze instelling is dat de doorlooptijd van schema verwerking veel sneller is en veel beter voor de performance.

    XML Structuur

    In dit deel kan de xml structuur (import of export) worden ingegeven. In geval van een export wordt aangegeven waar de informatie vandaan moet worden gehaald (bv uit een bepaald veld van de verkoopfactuur); in geval van een import wordt aangegeven waar de informatie naartoe moet (bv naar een bepaald veld van de Inbound Sales Order Header).

    De volgorde is van belang. Allereerst dient altijd te worden gestart met een Root element (1e xml groep). Hieronder wordt de xml structuur opgebouwd zoals ook logisch zou moeten zijn, bijvoorbeeld eerst verkoopfactuur header (2e xml groep) en hierna in een 3e groep de verkoopfactuurregels.

    De volgende kolommen zijn aanwezig:

    Kolom Omschrijving
    Primair Het veld primair in de XML structuur is een informatief veld dat aangeeft bij welk element in de XML structuur het primair record voor het eerst aangeroepen wordt.
    Nodenaam Elk element in een XML structuur wordt geïdentificeerd met een element naam ofwel nodenaam. Wanneer I-Connect een XML file genereert wordt de nodenaam meegegeven aan elk element. Bij het importeren van een XML file moet de nodenaam van alle elementen in het I-Connect schema overeenkomen met de elementen in de XML file. Als dit niet het geval is zal de waarde van een element die geen overeenkomende nodenaam heeft in het I-Connect schema, niet geïmporteerd worden. Elke nodenaam mag maximaal één keer voorkomen in de XML structuur. Mocht het toch gewenst zijn om twee nodes dezelfde naam te geven dan dient er gebruik gemaakt te worden van namespaces.
    Prefix In deze kolom kan een prefix worden ingegeven die behoort bij de prefix van de namespace die in het xml element dient te worden opgenomen. Die namespace wordt dan in het element opgenomen. Zie ook functie namespaces.
    Node soort Hier kan worden gekozen tussen Element en Attribuut.
    Attributen worden gebruikt om eigenschappen toe te kennen aan een node van type element. XML is een flexibele methode om data gestructureerd weer te geven en vaak kunnen attributen en element door elkaar gebruikt worden.
    Data Parameter/functie is nog niet geïmplementeerd
    Soort Per element in de XML structuur kan worden aangegeven uit welke bron de waarde gehaald moet worden (export) of waarnaar opgeslagen moet worden (import). De volgende soorten bronnen zijn mogelijk:
    - Leeg: Er is geen bron
    - Tabel: Elementen of attributen met bron tabel kunnen gekoppeld worden aan een veld in een BC tabel. Wanneer er geen tabel veld gekoppeld wordt aan een element met bron tabel wordt er een record geopend bij exporteren of een temporary record aangemaakt bij importeren.
    - Constante: Bron constante is een bron soort die eigenlijk alleen gebruikt wordt met exporteren. Het kan voorkomen dat een element in de XML structuur ten alle tijden dezelfde waarde heeft. Door gebruik te maken van bron constante wordt de waarde in veld Constante altijd toegekend aan het element.
    - Variabel: Deze kan worden gebruikt in het geval er 1 of meerdere functies worden toegekend aan het element. Dit kunnen functies zijn om iets op te halen, of de uitkomst te bewerken, eventueel op basis van een variabele. Zie hiervoor 'Aantal functies'.
    Tabelnr. In dit veld kan het object id van de tabel die als bron dient ingevuld of geselecteerd worden. Bijvoorbeeld tabel 112 = Verkoopfactuurkop
    Tabel Betreft de tabelnaam van de gekozen tabel (tonen)
    Veldnaam Wanneer een element gekoppeld dient te worden aan een veld in een tabel, kan hier de veldnaam geselecteerd worden.
    Soortcode In dit veld kan de constante waarde ingevuld worden indien bij Soort voor Constante is gekozen.
    Aantal functies Via deze optie kunnen 1 of meerdere functies worden aangeroepen. Dit kunnen verschillende soorten functies zijn en het kunnen er meerdere zijn die achter elkaar worden uitgevoerd. Qua soorten functies kunnen we onderscheiden:
    - Opslaan van variabelen voor ‘later gebruik’. Bijvoorbeeld: het documentnummer wordt als variabele opgehaald (in het begin van de xml) en moet gebruikt worden als variabele om iets op te halen. Bijvoorbeeld ophalen van het documentnummer
    - Ophalen of berekenen van waarden die niet in de tabel voorkomen
    - Opmaak van een veld
    Er kunnen dus meerdere functies worden toegepast welke in volgorde worden afgehandeld, bijvoorbeeld: Eerst berekening doen, als tweede stap veld numeriek opmaken met 2 decimalen. Een functie kan 0 tot en met 3 meerdere parameters bevatten, dit is afhankelijk van de functie.
    Voor toelichting op alle functies: middels een variabele kunnen een aantal functies worden uitgevoerd. Dit geldt bv voor functies met als parameter Documentnummer en/of Documentregelnummer.
    In dit geval dient in het begin van de xml (kopsegment en/of regel segment) de gewenste variabele worden bepaald middels een SETVARIABLE functie. Bijvoorbeeld: Bepalen van het documentnummer (bijvoorbeeld factuurnummer bij een verkoopfactuur)
    In dit voorbeeld wordt uit de factuurkop het factuurnummer gehaald. Element overslaan zodat deze niet in de xml terecht komt. En bij de functie:
    - Functie SETVARIABLE, als parameter 1 = DOCNO. NB dit mag ook FACTUURNR zijn of PIETPUK, dat maakt niet uit.
    - Het ophalen van de variabele tbv andere functies, daar dient dan deze parameter met een # ervoor te staan. Bijvoorbeeld: Berekenen van totaal BTW bedrag voor de factuur
    Dit betekent dus: uitvoeren van de berekening CALCVAT voor het document wat eerder is bepaald onder variabele DOCNO (of FACTUURNR of PIETPUK).
    En zo kan bijvoorbeeld het ophalen van iets op regelniveau twee parameters hebben bijvoorbeeld:
    De functies worden onderaan in dit document in een aparte paragraaf verderop benoemd.
    Doelvariabele Parameter/functie is nog niet geïmplementeerd
    Valideren In BC tabellen wordt er vaak code geprogrammeerd in de OnValidate triggers van tabel velden. Tijdens het importeren van data uit een XML file kan er met behulp van deze functie voor gekozen worden om de geïmporteerde data in een veld te valideren en dus de OnValidate trigger van het veld uit te voeren.
    Verplicht Het vinkje verplicht wordt gebruikt om aan te geven welke elementen verplicht aanwezig moeten zijn in de XML file. Standaard zal I-Connect elementen die gekoppeld zijn aan een tabelveld niet aanmaken in de XML file wanneer de waarde van het element leeg is. Wanneer ‘verplicht’ aangevinkt is wordt het element aangemaakt ook al is de waarde leeg.
    Gedeactiveerd Elementen en onderliggende elementen kunnen met deze optie (tijdelijk) gedeactiveerd worden. I-Connect zal deze elementen overslaan tijdens het importeren en exporteren.
    Element overslaan Indien dit wordt aangevinkt betekent dit niet dat het element wordt overgeslagen zoals in geval van deactiveren, in dat geval wordt het element compleet genegeerd. In dit geval wordt het element wel uitgevoerd maar niet opgenomen of verwacht in de xml. Deze functie kan met name gebruikt worden voor het ophalen van een variabele zoals documentnummer welke nodig is in functie van andere elementen die later komen.
    Dit wordt dan wel uitgevoerd alleen komt niet in de xml terecht.
    Gerelateerd Indien het element is gerelateerd aan een bronrelatie (zie verderop) staat dit aangegeven met Ja.
    Beperkt Indien voor het element restricties aanwezig zijn staat dit aangevinkt.
    Gefilterd Indien voor het element een filtering actief is (zie verderop) staat dit aangevinkt.
    Vertaald Indien voor het element vertalingen aanwezig zijn (zie verderop) staat dit aangevinkt.
    Functie voor vertalen Standaard wordt de vertaling toegepast VOOR dat eventuele functie worden toegepast (ofwel Functie toegepast NA vertalen). Soms is het wenselijk te vertalen NA dat de functies zijn toegepast (ofwel Functie voor vertalen), bijvoorbeeld in geval van functie GETVALUEFROMTABLE kan dit wenselijk zijn. Middels de instelling Functie voor vertaling kan worden geregeld dat eerst functies worden uitgevoerd en daarn de vertaling wordt aangeroepen.
    Standaard is het veld false, dus Functie NA vertalen.
    MinOccurs Het veld MinOccurs wordt gebruikt om aan te geven hoe vaak een element minimaal moet voorkomen in een XML file. Deze functionaliteit wordt op dit moment alleen gebruikt voor export.
    - Zero: Het element mag 0 of meer keer voorkomen in de XML file.
    - Once: Het element moet minimaal 1 keer voorkomen in de XML file.
    MaxOccurs Het veld MaxOccurs wordt gebruikt om aan te geven hoe vaak een element max voorkomen in een XML file. Net zoals MinOccurs wordt deze functionaliteit alleen gebruikt voor export.
    - Once: Het element mag maximaal 1 keer voorkomen.
    - Unbounded: Het maakt niet uit hoeveel keer het element voorkomt in de XML file.
    Selectie conditie type Kies hoe het systeem moet selecteren
    - Leeg: Standaard gedrag (eerste match)
    - Attribuut: Selecteer op basis van XML attribuut
    - Vorig Element: Selecteer op basis van voorgaand element (binnen hetzelfde niveau)
    Selectie naam - Bij Attribuut: De naam van het XML attribuut
    - Bij Vorig Element: De naam van het voorgaande element
    Selectie waarde De verwachte waarde voor matching

    Attribuut gebaseerde selectie

    We hebben de XML import functionaliteit aanzienlijk verbeterd om complexe XML-structuren beter te kunnen verwerken. Dit is vooral nuttig wanneer uw XML-bestanden meerdere elementen bevatten met dezelfde naam op hetzelfde niveau. De belangrijkste verbeteringen zijn:

    1. Slimme element selectie
      • Het systeem kan nu automatisch het juiste schema element kiezen, zelfs wanneer er meerdere elementen zijn met dezelfde naam.
      • Ondersteunt selectie op basis van XML attributen en voorgaande elementen
      • Zorgt voor betrouwbare import verwerking door fallback mechanisme
    2. Nieuwe selectie criteria
      • Attribuut gebaseerde selectie: Kies schema elementen op basis van specifieke XML attribuut waarden
      • Vorig element selectie: Kies schema elementen op basis van de inhoud van voorgaande elementen
      • Behoudt volledige compatibiliteit met bestaande configuraties

    Handig voor XML-bestanden zoals:

    <artikel type="product">Product Gegevens</artikel>
    <artikel type="service">Service Gegevens</artikel>
    

    Het systeem kan nu automatisch onderscheid maken tussen product- en service-artikelen.

    VORIG ELEMENT SELECTIE

    Nuttig voor XML-structuren zoals:

    <type>
      <categorie>Elektronica</categorie>
      <artikel>Laptop</artikel>
    </type>
    <type>
      <categorie>Boeken</categorie>
      <artikel>Roman</artikel>
    </type>
    
    Het systeem weet nu dat de laptop bij Elektronica hoort en de roman bij Boeken.
    

    In uw I-Suite schema configuratie kunt u dit middels onderstaande velden inrichten:

    1. SELECTIE CONDITIE TYPE: Kies hoe het systeem moet selecteren

      • Leeg: Standaard gedrag (eerste match)
      • Attribuut: Selecteer op basis van XML attribuut
      • Vorig Element: Selecteer op basis van voorgaand element (binnen hetzelfde niveau)
    2. SELECTIE NAAM:

      • Bij Attribuut: De naam van het XML attribuut
      • Bij Vorig Element: De naam van het voorgaande element
    3. SELECTIE WAARDE: De verwachte waarde voor matching

    XML Structuur opties

    Binnen de XML structuur zijn er nog een aantal opties beschikbaar die van belang zijn.

    Optie Omschrijving
    Boven Hiermee kan een element naar boven worden verplaatst
    Beneden Hiermee kan een element naar beneden worden verplaatst
    Inspringen links/rechts Met inspringen kunnen de xml groepen worden bepaald. Een xml groep wordt vet weergegeven.
    -Links: Hiermee kan een element naar links worden geplaatst, ofwel terug inspringen
    Rechts: Hiermee kan een element naar rechts worden geplaatst, ofwel inspringen
    Brontabel relaties Hiermee moet indien nodig de relatie worden weergegeven worden met de brontabel (eerste tabel van de xml). Bijvoorbeeld: Een xml van de verkoopfactuur met regels bestaat primair uit factuurkoptabel, als tweede zml groep de factuurregel. Bij begin van de factuurregel xml groep dient de relatie met de kop te worden weergegeven. Bijvoorbeeld: In dit voorbeeld wordt de relatie tussen factuurkop en regel gelegd via het veld Factuurnummer (documentnummer).
    Brontabel filters Hiermee kan een filter worden gelegd op de toepassing van het schema. Bijvoorbeeld: alleen toepassen voor verkoopfacturen van klant EDIKLANT
    Vertalingen Hierin kunnen vertalingen worden vastgelegd tussen de waarde in BC en wat in de xml moet worden gezet (export) of tussen de waarde die in de xml staat en richting BC moet worden doorgezet (import).
    Bijvoorbeeld: voor uitgaande factuur moet de valutacode worden meegegeven. In BC is voor de basisvaluta ingericht als lege waarde, maar moet als EUR richting de xml. Of voor Britse pond is in BC de valutacode BP ingericht, maar de ISO standaard die in de xml moet komen is GBP.
    Let op dat de richting ook juist wordt aangegeven.
    Sleutelvelden toevoegen Deze functionaliteit werkt alleen voor elementen waarvoor geld dat de bronsoort tabel is een de veldnaam niet gevuld is. De functie voegt automatisch een element toe aan de XML structuur voor elk veld in de primaire sleutel.
    Velden toevoegen Deze functionaliteit werkt alleen voor elementen waarvoor geld dat de bronsoort tabel is een de veldnaam niet gevuld is. De actie ‘Velden toevoegen’ opent een scherm met alle beschikbare velden in de gekoppelde brontabel. In het scherm kunnen alle velden doormiddel van een vinkje geselecteerd worden waarna deze toegevoegd worden aan de XML structuur.

    Namespace

    Er is in I-Suite functie beheer een nieuwe feature toegvoegd: NamespaceRefactor

    Beschrijving: I-Connect Namespace Refactor - Namespaces worden nu slechts eenmaal gedefinieerd en kunnen worden hergebruikt.

    Wat er verandert wanneer de feature actief is

    1. XML Generatie (Export) - Verbeterde Namespace Handling

      • Zonder Feature

        • Alle namespaces worden toegevoegd aan het root element van het XML document
        • Namespaces worden toegepast op alle elementen die een prefix hebben
      • Met Feature:

        • Selectieve namespace declaraties: Alleen namespaces die specifiek zijn toegewezen aan een node (via "Apply to Node" veld) worden toegevoegd aan het root element
        • Granulaire controle: Namespaces kunnen worden toegevoegd aan specifieke child nodes in plaats van alleen het root element
        • Node-specifieke namespace declaraties: Extra namespaces kunnen worden toegevoegd aan individuele elementen op basis van hun "Apply to Node" instelling
    2. Namespace Manager UI Verbeteringen

      • Nieuwe functionaliteit:
        • Apply to Node Name veld wordt zichtbaar in de Namespace Manager pagina
        • Node selectie: Gebruikers kunnen selecteren op welke specifieke schema elementen een namespace moet worden toegepast

    Zie ook

    • I-Connect
    • I-Connect File Providers
    • I-Connect Schema
    • I-Connect Schema Actions
    • I-Connect Functies
    • Feedback
    In dit artikel
    Terug naar boven © Axians Business Solutions B.V. Alle rechten voorbehouden.