2008

Aug

29

Av Rolf

FileMaker Server 9 har ett klart mycket bättre administrationsverktyg än sina föregångare. Det finns många funktioner som underlättar, t.ex överföra databas till servern utan att behöva gå till den och möjlighet att köra script på servern. Det går både att köra manus gjorda i ScriptMaker och ”systemnivåmanus”, t.ex. bat-filer på Windows. 

Det finns dock en liten ”luring” som inte är helt självklar. Ett vanligt manus är att nattetid uppdatera t.ex. ett icke-indexerat fält för sökning eller tilldela ett värde till ett antal poster beroende på dagens datum eller liknande. Ett enkelt manus kan se ut så här:

Gå till layout["Layout 1"]
Visa alla
Gå till post[Första]
Loop
   Tilldela fält[Fältet; If(Datum >  Get ( AktuelltDatum );1;0)]
   Verkställ post[]
   Gå till post/sökpost/sida[Nästa; Avbryt efter sista]
End Loop

Manuset går helt enkelt genom alla poster i layouten ”Layout 1” och tilldelar fältet ”Fältet” värdet 1 om innehållet i fältet ”Datum” är större än dagens datum, annars 0. Tänk på att du endast kan använda webbkompatibla manussteg i manuset.

Gör du ett schema i FileMaker Server som kör manuset regelbundet får du dock ett felmeddelande varje gång, fel 101. Det är lätt att tro att manuset inte fungerar, men det gör det faktiskt!

Manuset returnerar senaste felkoden, vilket i det här fallet är att det finns ingen nästa post och loopen måste avbrytas. Det är egentligen inget fel utan just det du vill att manuset ska göra.

För att undvika att FileMaker Server ger felmeddelandet tillbaka lägger du helt enkelt till ett sista steg som inte ger felmeddelande, t.ex. manussteget ”Visa alla” eller ”Ange variabel”, utan att det påverkar databasens innehåll.

Om du vill kan du också låta FileMaker Server skicka epostmeddelande varje gång manuset utförs, ett bra sätt att hålla kontrollen på.

Skriv en kommentar

Din epost-adress stannar hos oss.