FlexLend - Leserdatenimport (TAB-separated-Datei)

Import von Leserstammdaten über eine Text-Datei (TAB-separated) unter Allegro-C/a99

Stand: 26.01.2017

Funktion

Import einer TAB-separated-Datei mit Daten aus MS-Office in Leserstammsätze für Allegro-C/$A-Schema
  • die einzulesende Datei wird daraufhin geprüft, ob die erste Zeile mit dem Begriff "Lesername" beginnt; trifft das nicht zu, wird die Datei abgewiesen
  • als Primärschlüssel wird der Lesercode aus #9B$$(1,0) oder, wenn das Feld "Lesername" leer ist,  #9B$i verwendet
  • ist ein Satz mit diesem Code bereits in der Datenbank vorhanden, werden dessen Felder mit den neuen Inhalten überschrieben
  • ist ein Satz mit dem Lesercode nicht vorhanden, wird er neu angelegt
  • steht im Feld "Nachname" ein "-", wird der betreffende Satz gelöscht, wenn keine Medien oder offene Gebühren im Konto vermerkt sind
  • nach dem Import wird die Datei mit einem Zeitstempel im Namen versehen und umbenannt
  • Der Dateiname und die Leserklasse können per Kommandozeile übergeben werden: Beispiel: usr-ben-imp -k c:\datei.csv -k S

Bedienung

Start mit "X ben-imp" im Schreibfeld von a99 oder Auswahl über "Funktionen (0)" - "Import"
       
Danach wird nacheinander vom Programm abgefragt:
  • Auswahl der zu importierenden Datei über den nach Start angebotenen Datei-Dialog
  • Leserklassencode, der für die Stammdatensätze zu verwenden ist
  • Importmodus: sofortiges Speichern oder Testimport
    Beim Testimport werden die Daten eingelesen, aber noch nicht in der Datenbank gespeichert. Dadurch kann man die Daten über die Schaltfläche [Daten in Bearb.] inspizieren und u.U. danach mittels 'Datei - alle bearb. Daten speichern' in die Datenbank übernehmen

Hinweis:

Bei der a99-Funktion 'Datei - alle bearb. Daten speichern' gibt es keine Fortschrittsanzeige - a99 scheint  während der Übernahme wie eingefrohren - es arbeitet  jedoch und meldet sich nach Abschluss mit der Zahl der importierten Sätze im Schreibfeld. Dieses Verhalten ist leider nicht über die Parametrierung beeinflussbar.

Für einen automatischen Start des Imports nach Aufruf von a99.exe trägt man das Script ben-imp mit Parametern in das Feld "Initialisierungen" der Datenbank-Konfiguration ein.

Kommandozeilenparameter

Option Bedeutung Beispiel
-f zu importierende Date mit vollem Pfad -fy:\transfer\leser.txt
-k Standard-Leserklasse für neue Leser -k2

 

Konkordanz

             TSV-Feld         Allegro-Leserstammsatz
          Feldbezeichner  Kategorie      Bedeutung
          -------------------------------------------------------
          Lesername       #9B$$(1,0)     Leser-ID    
          Nachname        #9B$n          Name, Vorname
          Vorname         #9B$n          dto.
          Strasse-Nr      #9B$s          Strasse
          Wohnort         #9B$o          Ort    
          PLZ             #9B$p          PLZ    
          Email           #9B$e          E-Mail-Adresse
          Telefon         #9B$t          Telefon
          Geschlecht      #9B$u          Geschlecht
          Karten_ID       #9B$i          zweite Leser-ID

Satz-ID = Lesername = #9B$$(1,0);
Für neue Leser wird Leserklasse 1 für #9B$k vorgegeben oder der Inhalt aus dem Parameter -k
Der Lesersatz wird gelöscht, wenn im Feld "Nachname" ein "-" übergeben wird, es sei denn, im Konto liegen noch Belastungen vor.

Um die Verwendung von Kennungen aus Feld #9B$i zur Identifizierung der Leserstammsätze zu ermöglichen, muss die Indexierung dieses Teilfeldes in der cat.api ergänzt ( |:B{#9B$i} ) werden.
In diesem Fall wird die Kennung aus dem Feld "Karten_ID" für das Feld #9A$i verwendet und bei neuen Lesern die Leser-ID vom Programm generiert.
Als Codepage wird für die zu importierenden Daten CP1252 angenommen.

History:    

07.01.2009    Urversion        
06.02.2011    überarbeitet
06.03.2011    Löschfunktion ergänzt
31.03.2011    Löschfunktion: Prüfung auf Gebühren ergänzt
24.01.2013    Parameter -f und -k ergänzt
17.01.2017    Dokumentation überarbeitet

Dateien:    ben-imp.flx, ben-imp.rtf
 
Artikel zuletzt bearbeitet am: 02.03.2017 10:21