De lokale informatie in elk FileMaker-bestand

De data in Europa verschillen van die in bijvoorbeeld de Verenigde Staten.

De datum “01.10.2020” wordt in Europa geïnterpreteerd als “1 oktober 2020”,
in de Staten echter als “10 januari 2020”.

Zodat FileMaker weet hoe het een datumspecificatie moet begrijpen, wordt de lokale informatie in het bestand verankerd als een vaste specificatie wanneer een bestand wordt gemaakt. Hierdoor kan de datum worden geïnterpreteerd, maar als het bestand later op een ander besturingssysteem wordt geopend, kan FileMaker nieuwe datumvermeldingen synchroniseren (tussen de systeeminstellingen en de informatie die in het bestand is opgeslagen). Dit garandeert de integriteit van verschillende datumvermeldingen.

Omdat er wereldwijd verschillende interpretaties van datums en tijden zijn, beheert het besturingssysteem verschillende opties. FileMaker zet de systeeminstellingen van de opmaak (de lokale informatie) in het bestand zodra het wordt gemaakt.

Regionale instellingen

FileMaker stelt een vast punt in voor de interpretatie van de datum en dit vaste punt (of lokale informatie) verandert niet wanneer het bestand wordt geopend op een systeem met een andere datumopmaak. Intern blijft het vaste punt behouden, zelfs als een datum anders wordt ingevoerd vanwege een ander besturingssysteem.

Voorbeeld
Als een FileMaker-bestand in Europa wordt gemaakt, maar vervolgens in de VS wordt geopend, doet zich de volgende situatie voor: intern in het bestand is de datuminterpretatie ingesteld op de Europese DAG/Maand/JAAR. Voor gebruikers in de VS zijn de systeeminstellingen echter MAAND/DAG/JAAR. Dit is geen probleem in datumvelden – FileMaker kan de weergave aanpassen (!). Intern zal de Europese structuur echter behouden blijven. Dit kan tot problemen leiden.

Datumberekeningen zijn onvoorspelbaar

Er zijn problemen met datumberekeningen als de bestandsinstellingen anders zijn dan die van de gebruiker. Twee voorbeeldbestanden worden hier als download geleverd: Het is hetzelfde bestand, maar één keer als bestand met een Europese referentie en één keer als bestand met een Amerikaanse referentie. Als je een bestand opent, gebeurt het volgende:

Als je een bestand opent dat niet tot je eigen systeeminstellingen behoort, gebeurt het volgende: Datums die achter tekstvelden worden geschreven, krijgen de interne opmaak van het bestand (die onjuist is). Er zijn ook problemen met datumberekeningen. De beste manier om dit te zien is door beide bestanden parallel te openen.

In dit voorbeeld: Het systeem draait met EU-instellingen. Het EU-bestand is OK.

In dit voorbeeld: Het systeem draait met EU-instellingen. Het bestand is echter gemaakt met Amerikaanse instellingen. Nu zijn de datumberekeningen niet meer OK.

Neutrale opslag van dadels

Een datum kan niet alleen worden opgeslagen als een “datum”, maar ook als een “datumnummer”. FileMaker telt de dagen vanaf 1 januari van het jaar 0001. Elke datum sindsdien kan daarom worden weergegeven als een getal. Dit getal is niet afhankelijk van enige opmaak. De datum kan dus worden gedefinieerd als getallen:

ReadAsNumber ( [DATUM] )

Om dit getal terug te rekenen naar de datum, geldt het volgende:

ReadAsDate ( [ZAHL] )

Met deze twee ingangen kunnen datums neutraal worden opgeslagen of als nummer worden overgedragen van het ene bestand naar het andere. Bij het terugrekenen naar een datum zijn de datuminstellingen van dit bestand van toepassing waar het wordt geïnterpreteerd.

Voorbeeld
1 oktober 2020 heeft het nummer “737699”. In een Europees bestand wordt het geconverteerd naar “01.10.2020”, terwijl het in een Amerikaans bestand wordt geconverteerd naar “10.01.2020”.

Verwijdering van lokale informatie

De lokale informatie die FileMaker opslaat wanneer een bestand wordt gemaakt, kan niet worden gewijzigd. Er is maar één methode om het bestand te “resetten”, namelijk door een lege kloon van het bestand te maken.

Er is een knop in het voorbeeldbestand waarmee je heel eenvoudig zo’n kloon kunt maken. De lokale informatie van het bestand wordt gereset wanneer het wordt geopend en is daarom afhankelijk van het systeem dat de gebruiker gebruikt. De kloonfunctie maakt het relatief eenvoudig om het gedrag in verschillende systeemomgevingen te testen.

Neutrale datum programmering

Geen enkel FileMaker-bestand is vandaag de dag neutraal wat betreft datumverwerking. Je kunt echter overwegen of je moet streven naar een neutrale ontwikkeling van nieuwe oplossingen (met behulp van het datumnummer).

Nieuwe functies vanaf FileMaker Pro 19.1

Claris heeft in de nieuwste versie twee belangrijke functies toegevoegd:

  • Krijgen ( SystemLocaleElements)
  • Get ( BestandsLocaleElementen )

Deze twee functies geven een compleet overzicht van alle instellingen, netjes verpakt in JSON – één keer vanuit het systeem en één keer vanuit het bestand. De huidige gegevens kunnen bijvoorbeeld uit het systeem worden gelezen en worden gebruikt voor feedback, opmaak of andere doeleinden.

Het gaat om systeeminstellingen en bestandsinstellingen. Natuurlijk zijn geprogrammeerde bijzonderheden, zoals taalinstellingen voor een meertalige oplossing, niet inbegrepen.

Date Formatting
Date Formatting

Datumsformatierung. Benötigt FileMaker Pro 19.
Date formatting. Requires FileMaker Pro 19.

Size: 99 kB
Published: 3. March 2021