Jump to content
  • 0

geautomatiseerd importeren


Roger

Question

Posted

Ik ben me aan het oriënteren op een oplossing om geautomatiseerd tekstbestanden te importeren en kan daarbij wel wat richtingaanwijzing gebruiken.

 

De situatie is dat op een server in een soort hotfolder een variabele hoeveelheid tekstbestanden (in een vast formaat) per dag binnenkomen. Deze tekstbestanden zouden telkens zonder manuele interventie in een FM database moeten worden geïmporteerd. Ik zit te denken aan een script dat door FM Server ieder uur uitgevoerd wordt en dat kijkt of er een file in de 'hotfolder' zit en zo ja, deze file importeert. Na import moet de file verplaatst worden naar een andere folder zodat wordt voorkomen dat de file bij de volgende run opnieuw wordt geïmporteerd.

 

Is deze gedachtegang goed en vooral haalbaar met FM server? Om te beginnen, is er een scriptstap in de trant van: if not isEmpty (hotfolder)

 

Het lijkt me een leuke uitdaging om dit werkend te krijgen. Tips zijn zeer welkom!

5 answers to this question

Recommended Posts

  • 0
Posted

Windows of Mac?

Het is allemaal mogelijk, maar je zal wel buiten de standaard FM mogelijkheden moeten kijken. Veel hangt af van het platform. Het moet kunnen zonder plug-ins, maar bv. Troi File zou het wel gemakkelijker maken.

 

Wat betreft FM server, ik meen te weten dat die niet zomaar van om het even waar importeert, enkel vanuit enkele vooraf gedefinieerde (lokale) mappen:

  • /path_to/file.csv
  • /path_to/file.csv

 

Op Mac kan ik helpen, Windows is voor iemand anders.

  • 0
Posted

Het gaat in mijn geval uitsluitend om Mac. Ik werk nog niet met de Troi file-plugin, maar misschien wordt dit wel een goed excuus om deze eens aan te schaffen :wink:

  • 0
Posted

Zonder plug-in lukt dat ook wel. Met Applescript en shell. Als je je weg een beetje kent in Terminal, lukt dit ook.

Let wel, niet met FM Server, die doet geen Applescript… Voor zulke dingen gebruik ik een "client-robot", FMP die ergens continu draait en de timer-scripts uitvoert.

 

Zo hernoem/verplaats je bv. een bestand na het importeren, met de timestamp er bij. Binnen dezelfde map is het hernoemen, anders verplaatsen+hernoemen.

 

Set Variable: $path1 =  "/Volumes/path_to/file.csv"
Set Variable: $path2 =  "/Volumes/new_path_to/file_processed_" & Substitute ( Substitute ( Substitute ( GetAsText ( Get ( CurrentTimeStamp ) ) ; "/" ; "-" ) ; " "  ; "_" ) ; ":" ; "-" ) & ".csv"
Set Variable: $shell =  Quote ( "mv " & $path1 & " " & $path2 )
Perform Applescript [calculated]: "do shell script " & $shell

 

Dan nog iets brouwen dat de inhoud van de "hotfolder" oplijst (commando ls), en als er iets in staat door die lijst loopen en importen/verplaatsen.

  • 0
Posted

Op de FileMaker Server heb je de /Library/FileMaker Server/Data/Documents folder.

Met de Get ( DocumentsPathListing ) functie kan je de inhoud van deze folder scannen.

Je krijgt dan een lijst van file paths, die je nog even moet omzetten naar een FileMaker pad ( filemac:etc... ).

Loop door deze lijst in een server side script, waarbij je elke keer de nth value met GetValue() in een variabele steekt, en deze variabele als bron instelt van je import script stap.

 

Als ik me niet vergis, kan zoiets perfect server side draaien. Vergeet niet dat je de rechten van de files die in /Library/FileMaker Server/Data/Document goed moet ingesteld hebben, of de server kan er niet aan.

  • 0
Posted
Als ik me niet vergis, kan zoiets perfect server side draaien.

 

Dat zou super zijn. Ik ga ermee aan het experimenteren! Bedankt voor het duwtje in de rug Peter. Trikke ook zeer bedankt voor het meedenken en jouw oplossing.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...