Syntax van velden in de UpdateConnector (XML)

De velden die je aanlevert in de xml moeten aan verschillende voorwaarden voldoen. Je beschikt over verschillende informatiebronnen voor het vullen van de UpdateConnector. De belangrijkste informatiebron is het xsd-schema. Het XSD-schema bepaalt:

  • De structuur van de XML die je moet aanleveren.
  • De veldeigenschappen van elk veld, zoals het veldtype, de maximale lengte, verplicht of niet verplicht, etc.

In Profit gelden meestal extra validaties, dit zijn controles die niet in het xsd-schema zijn opgenomen. Dit zijn de validaties die ook worden uitgevoerd als je gegevens handmatig toevoegt. Deze controles staan niet in het xsd-schema, maar als een UpdateConnector gegevens toevoegt, wijzigt of verwijdert, worden deze controles wel uitgevoerd.

Voorbeeld:

Veld: geboortedatum.

In het XSD-schema zie je alleen dat je een datum moet aanbieden.

In Profit geldt echter een extra controle: een geboortedatum moet altijd in het verleden liggen. Het is aan te raden bewerkingen eerst in Profit te testen, dan krijg je een goed beeld van de functionaliteit en de controles.

Inhoud

Syntax van velden

Hieronder worden verschillende veldtypen toegelicht. Als je een waarde aanbiedt, moet deze geldig zijn op basis van het veldtype. Een datum bijvoorbeeld, heeft bijvoorbeeld altijd een vaste indeling. Bij codes kan sprake zijn van een maximum lengte.

Verwijzingen naar andere tabellen (foreign keys)

In Profit moet je bij bepaalde velden een waarde selecteren uit een tabel. Andere waarden dan de waarden uit de tabel zijn niet toegestaan. Dit geldt ook in de UpdateConnector: als je bij het uitvoeren van een UpdateConnector een waarde aanbiedt die niet is toegestaan, zal een foutmelding volgen.

Elk veld heeft een Remark en achter de Remark staat eventueel een verwijzing naar een andere tabel. Kijk in Profit welke waarden zijn toegestaan, bijvoorbeeld door in een testomgeving handmatig een nieuw record toe te voegen.

Voorbeeld: Het veld ViAT (Type verlof) verwijst naar een andere tabel.

<!--Type verlof (verwijzing naar: Type verlof => AfasHrAbsLeaveTypePrior)-->

Bij bepaalde tabellen hebben de records zowel een interne als een externe code. De externe code is de code die je in Profit gebruikt en dit is ook de code die je via de UpdateConnector moet aanleveren. De interne code wordt in de database gebruikt en is doorgaans niet van belang bij het gebruik van Profit of de UpdateConnector. In uitzonderingsgevallen wordt dit vermeld.

Toegestane veldwaarden

Bij sommige velden zijn de toegestane waarden vermeld. Andere waarden zijn niet toegestaan.

Voorbeeld XSD uit de UpdateConnector FiEntries. Bij een veld zijn alleen de waarden 1, 2 en 3 toegestaan.

<!--Kenmerk rekening (verwijzing naar: Tabelwaarde,Kenmerk rekening => AfasKnCodeTableValue)-->

<!--Values: 1:Grootboekrekening 2:Debiteur 3:Crediteur-->

<xsd:element name="VaAs" minOccurs="0">

Veldtype 'boolean' (Ja/Nee-veld)

Toegestane waarden:

  • 1 (Ja/aangevinkt/waar)
  • 0 (Nee/niet aangevinkt/onwaar)

Voorbeeld XSD:

<!--Afwijkende tijden vastleggen-->

<xsd:element name="LeDt" minOccurs="0" type="xsd:boolean"/>

Veldtype 'string' (Tekst)

Deze velden hebben betrekking op namen, omschrijvingen, etc. Er kan een maximum veldlengte van toepassing zijn.

Voorbeeld XSD:

<!--Opmerking-->

<xsd:element name="Re" minOccurs="0" nillable="true">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

Veldtype 'date' (Datum)

Verplichte syntax: jjjj-mm-dd.

Voorbeeld XSD:

<!--Datum boeking-->

<xsd:element name="EnDa" minOccurs="0" type="xsd:date"/>

Voorbeeld XML:

<EnDa>2019-03-01</EnDa>

Veldtype 'dateTime' (Datum en tijd)

Velden voor een datum en tijd.

Verplichte syntax: jjjj-mm-ddTuu:mm:ss

Voorbeeld XSD van de begindatum /-tijd van een verlofboeking.

<!--Begindatum/-tijd-->

<xsd:element name="DaBe" minOccurs="0" type="xsd:dateTime"/>

Voorbeeld XML:

<DaBe>2020-10-22T13:40:00</DaBe>

Bedragen, aantallen, nummers, etc.

Let op de maximumlengte en controleer of decimalen toegestaan zijn. Bij tellers, autonummering, etc. kunnen specifieke voorwaarden gelden. Bepaalde codes kunnen bestaan uit bijvoorbeeld een combinatie van letters en cijfers.

Veld leegmaken

Zorg ervoor dat de velden in de XML worden aangeleverd in de dezelfde volgorde als aangegeven in de definities.

Velden op nul stellen of leegmaken

Je kunt een veld nooit leegmaken of op nul stellen door een leeg veld aan te leveren in de XML. Bij een leeg veld zal de UpdateConnector het veld namelijk helemaal niet bijwerken.

  • Getalvelden

    Je kunt een getalveld op nul zetten door de waarde 0 aan te leveren in de XML.

    Voorbeeld:

    <PrFc>0</PrFc>

Dit is alleen mogelijk bij velden die de waarde nul mogen bevatten. Er zijn getalvelden die niet verplicht zijn, maar als je ze vult moet de aangeleverde waarde in een bepaald bereik vallen. Bij deze velden kun je het veld leegmaken (via de onderstaande methode voor strings) of een toegestane waarde aanleveren.

  • Strings

    Als je een stringveld (bijvoorbeeld een omschrijving) wilt leegmaken, gebruik je de volgende methode. Je kunt alleen niet-verplichte velden leegmaken.

    xsi:nil="true"

    Voorbeeld:

    <PrVn xsi:nil="true"/>

    <PrVn xsi:nil="true"></PrVn>

  • Ja/Nee-velden

    Deze velden (in de interface zijn dit vinkvelden) hebben altijd een waarde, je kunt deze velden niet leegmaken. Als je deze waarde niet aanlevert, zal Profit de voorkeurswaarde toekennen. Deze kan per veld verschillen.

Gereserveerde tekens

Houd in de XML rekening met gereserveerde tekens. Hieronder staan de belangrijkste.

Let op:

Dit onderwerp is alleen geschikt voor XML. Voor JSON raadpleeg je dit onderwerp.

Teken

Aanbieden als

<

&lt;

>

&gt;

&

&amp;

'

&apos;

"

&quot;

Voor het opmaken van de inhoud van een string kun je deze codes gebruiken:

Teken

Aanbieden als

newline

&#10;

carriage return

&#13;

Hoofdletters met accenten (diakritische tekens):

Teken

Aanbieden als

À

&#192;

Á

&#193;

Ä

&#196;

Ç

&#199;

È

&#200;

É

&#201;

Ê

&#202;

Ë

&#203;

Ï

&#207;

Ö

&#214;

Ü

&#220;

Kleine letters met accenten (diakritische tekens):

Teken

Aanbieden als

à

&#224;

á

&#225;

ä

&#228;

ç

&#231;

è

&#232;

é

&#233;

ê

&#234;

ë

&#235;

ï

&#239;

ö

&#246;

ü

&#252;

Memovelden met opmaak

Memovelden kunnen opmaak bevatten, dit geldt niet voor alle memovelden.

Je kunt snel zien of een memoveld in Profit opmaak mag bevatten, want dan wordt de opmaakbalk bovenaan getoond. Als het veld geen opmaak mag bevatten, zie je de balk niet.

Mogelijkheden

Bij memovelden met opmaak heb je de volgende mogelijkheden bij het uitvoeren van een insert of een Update:

  • Je importeert tekst met opmaakcodes. De tekst wordt omgezet in opgemaakte tekst en als zodanig getoond in Profit.
  • Je importeert tekst zonder opmaakcodes.

Als je tekst met opmaakcodes importeert in een memoveld dat hier niet voor geschikt is, verschijnen de opmaakcodes in het memoveld.

Opmaakcodes in de XML

Hieronder zie je een voorbeeld van een memoveld met opmaak en de code in de XML:

<SbTx>**VET**

_Cursief_

++Onderstrepen++

~~Doorhalen~~

- opsommingsteken

1. Nummering

# KOP 1

## KOP 2

### KOP 3

Normaal

</SbTx>

Een voorbeeld van de tekst in Profit:

Gebruik alleen de onderstaande codes in de XML:

Opmaak

Invoer UpdateConnector

Vet

**VET**

Cursief

_Cursief_

Onderstrepen

++Onderstrepen++

Doorhalen

~~Doorhalen~~

Opsommen

- Opsommingsteken

Nummering

1.Nummering

Kop 1

# KOP 1

Kop 2

## KOP 2

Kop 3

### KOP 3

Normaal

Normaal

Direct naar

  1. UpdateConnector (XML)
  2. UpdateConnector testen via AFAS Connect
  3. Syntax van velden in de UpdateConnector
  4. Vrije velden aanleveren via de UpdateConnector
  5. XSD-schema ophalen met DataConnector