Datensatz per Hilfsmittel an eine CSV-Datei anhängen

Ulrich Sticker [Grutzeck Software GmbH]
21.10.2010 15:13

Automatischer Excel- und Text-Export
Anmeldeinformationen der Anwender speichern

Oftmals ist es gewünscht das Ergebnis einer Stufe in einen Export zu übergeben. Dazu wird meistens eine sogenannte Exportstufe erstellt, deren Tickets dann als Textdatei exportiert werden und dann bspw. an den Auftraggeber übermittelt werden.
Nach erfolgtem Export werden die Tickets dann meist mit der Funktion "Stapelverabeitung" in entsprechende Endtöpfe des Workflows verschoben.

Das hier vorgestellte Hilfsmittel "Datensatz für CSV-Datei erzeugen" ermöglicht es, die Exportdatei automatisiert zu erzeugen.

Problem: Eine Textdatei ist eine sequenziell geschriebene Datei. Datensatzsperren u.ä. existieren nicht. Daher ist es NICHT SINNVOLL wenn viele Mitarbeiter parallel versuchen Datensätze zu erzeugen.
(z.B. Als Hilfsmittel einer Reaktion) In diesem Fall wäre es gut möglich das Mitarbeiter A und Mitarbeiter B gleichzeitig versuchen einen Datensatz an die Datei anzuhängen. In dem Fall würde der erste gewinnen und der zweite Datensatz würde beim Export verloren gehen.
Daher sollte der Einsatz dieses Hilfsmittels immer wohl überlegt werden. Wird das Hilfsmittel wie hier vorgestellt in einer Exportstufe verwendet, sollte es keine Probleme geben.

Da eine Stapelverarbeitung alle Tickets auf einmal behandelt, ist es nötig, die Ticketbearbeitung umzustellen, damit die Tickets einzeln bearbeitet werden. Damit dennoch eine automatische Bearbeitung erfolgt, muss dem Ticket noch die Reaktion und die Unterdrückung des Schlussdialogs mitgegeben werden.

Natürlich ist es möglich, daß Hilfsmittel auch für andere Aufgaben einzusetzen. In abgewandelter Form kann es zum Beispiel auch als Makro beim Öffnen und Schließen der Datenbank eingesetzt werden um eine Login/Logout-Datei je Mitarbeiter in einer versteckten Freigabe im Netzwerk zu erzeugen ...
Eine vereinfachte Variante hierfür finden Sie ebenfalls in der Dateianlage zu diesem Artikel.

Das Hilfsmittel erzeugt eine CSV-Datei die den gängigen Normen entspricht und damit direkt in Excel geöffnet werden kann. Sie eignet sich damit ideal als Datenaustauschformat für Ergebnisberichte gegenüber Auftraggebern etc.

Verwendung mit AGVIP SQL:

Installation:

  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "Datensatz für CSV-Datei erzeugen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Datensatz für CSV-Datei erzeugen" entsprechend Ihren Wünschen an. (Speicherort der Ergebnisdatei etc.)

Sie können nun weitere Einstellungen im kommentierten Kopfbereich des Makros vornehmen. Hier geben Sie, wie von den Wordhilfsmitteln bekannt, auch die Felder an, die exportiert werden.

Fallbeispiel A:
Anpassen einer Exportstufe zur automatischen Generierung einer Ergebnisdatei mit automatischer Ticketbewegung und anschließender Outlookemail für den Auftraggeber, die in Anlage die Ergebnisdatei enthält.

Vorgehensweise:
Installieren Sie die Hilfsmittel "Datensatz für CSV-Datei erzeugen.agtool" und "Reportmail mit Exportdaten für den Auftraggeber.agtool"
Passen Sie die Hilfsmittel (Name, Emailvorlage, Empfänger unf Felder für den Export) entsprechend Ihren Bedürfnissen an. Einstellungen die nicht über den Dialog des Hilfsmittels vorgenommen werden können, werden im Kopfbereich des Makros mit entsprechenden Erklärungen definiert.
Wechseln Sie anschließend in den Projektexplorer und Öffnen Sie die Exportstufe.
Stellen Sie auf der Registerkarte "Allgemein" im Modus auf "Nächstes Ticket wird vorgeschlagen" um und "Wartezeit für nächstes Ticket" auf 1 Sekunde.
Wechseln Sie auf die Registerkarte "Reaktionen" und wählen Sie die Reaktion aus, die Sie normalerweise nach dem Export ausführen. Wählen Sie hier als Hilfsmittel das ausgeführt werden soll "Datensatz für CSV-Datei erzeugen".
Wechseln Sie nun auf die Registerkarte "Ansichten" und ordnen Sie der Stufe eine Ansicht zu.
Wechseln Sie nun auf die Registerkarte "Makros"
Im Makro "Beim Laden" tragen Sie bitte folgende Zeilen ein: (<Reaktionsname> ersetzen Sie bitte durch den Namen Ihrer Reaktion für den Export.)

 
ActiveTicket.Transition="<Reaktionsname>"
ActiveTicket.SuppressFinalDialog=true 
 

 

Im Makro "Nach Einstufung" hinterlegen Sie bitte folgende Zeilen:

 
If Application.Globaldata("CSV-Dateizugriffehler")=true Then
 ActiveTicket.Transition=""
 PostReaction.Abort
End If
 

 

Ab sofort klappt Ihr Export automatisch. Sie können nun den Tickets zusehen, wie diese im Sekundentakt exportiert werden. Sind alle Tickets verarbeitet, lösen Sie direkt anschließend einfach das Emailhilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" manuell aus, und erhalten eine Email mit der Ergebnisdatei im Anhang.

Alternativ können Sie natürlich auch die 'klassische' Exportstufe erhalten.
Dabei führen Sie wie gewohnt den Exportfilter in der Stufe aus und durch Auswahl der Reaktion wird die Reportemail generiert. 
Treffen Sie eine Vereinbarung wie die Exportdatei benannt ist, und wo sie abgelegt ist.
Anschließend können Sie im Hilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" unter Makro, in der Zeile 18 Anlage="<Pfad und Dateiname zur Exportdatei" den Pfad der Ergebnisdatei definieren.
Nun können Sie das Hilfsmittel am Ende des Exports in der Reaktion hinterlegen.

Fallbeispiel B:
Erzeugen einer CSV-Datei um den Login eines Benutzers unter AGVIP SQL mitzuloggen.

Installieren Sie die Hilfsmittel "Login.agtool" und "Logoff.agtool"

Erstellen Sie nun auf Ihrem Server eine versteckte Dateifreigabe mit Schreibrechten für Ihre Anwender. (Dies kann beispielsweise die Freigabe versteckt$ sein. Der UNC Pfad lautet dann \\SERVER\versteckt$ )

Passen Sie nun die Pfade der Zieldatei der Hilfsmittel Login und Logoff an. Verwenden Sie für jeden User eine eigene Datei. (Namensgebung der Datei, Voreinstellung.) Hiermit verhindern Sie Dateizugriffsfehler.
In diesem Beispiel lautet dann der Pfad für das Zielverzeichnis der Zieldatei \\SERVER\versteckt$

Fügen Sie nun die folgende Zeile unter Administration->Datenbank->Adresstabellen-> <Name Ihrer Adressdatei> ->Ändern -> Makro beim öffnen ein:

 
Application.ExecuteTool("Login")
 

 

Im Makro beim Schließen fügen Sie folgende Zeile ein:

 
Application.ExecuteTool("Logoff")
 

 

Ab sofort finden Sie im Verzeichnis \\SERVER\versteckt$ für jeden Anwender eine Datei mit den Anmelde- und Abmeldeinformationen.

Wenn Sie sicherstellen möchten, daß ein Anwender beim Start von AGVIP SQL auch gleich in der Adresstabelle ist, können Sie in der Verküpfung von AGVIP SQL die Adresstabelle gleich mit übergeben.
z.B. C:\Programme\AGVIP SQL\AGVIP.exe /ad:<Adresstabelle>
Auch der direkte Start eines Projektes ist möglich.

Siehe auch KB-Artikel "Text-Datei als Auftragsblatt erzeugen"

angehängte Dateien: CSV-Datei-01.zip

Tags: CSV-Datei, Excel, Export
Durchschnittliche Bewertung: 0 (0 Abstimmungen)

Kommentieren nicht möglich