Das Programm (dsinfo.exe) kann im Batch-Modus (Stapelverarbeitung) ausgeführt werden. Das wiederkehrende Ausführen eines Sets von Auswertungen wird dadurch wesentlich erleichtert. Es genügt die Befehlsdatei zu starten, um die betreffenden Auswertungen auszuführen. Weitere Benutzereingaben sind nicht notwendig.
Eine Batch-Datei ist eine ASCII-Datei (unformatierte Textdatei) mit zeilenweise angeordneten Befehlen. Der Dateiname einer Batch-Datei besitzt die Erweiterung .bat oder .cmd. Für die Stapelverarbeitung können auch PowerShell-Skripte (.ps1) verwendet werden. In beiden Fällen erzeugen Sie zunächst eine neue Textdatei, geben dort die entsprechenden Befehle und Parameter an und speichern Sie mit einer dieser Endungen. Bei der Ausführung werden die Befehle zeilenweise abgearbeitet.
Achtung: In der Auswertung festgelegte Filter, die bei der Ausführung der Auswertung vom Bearbeiter anzugeben sind, werden hier ignoriert. Legen Sie deshalb für Auswertungen, die im Batchmodus ausgeführt werden können, nur konstante Filter fest.
Im Zusammenhang mit einem Programm zum zeitlich gesteuerten Programmaufruf (z. B. über die Windows-Aufgabenplanung) können damit periodisch wiederkehrende Auswertungsaufgaben automatisiert werden.
Die Windows-Aufgabenplanung finden Sie in Windows 7 unter 'Systemsteuerung - System und Sicherheit - Verwaltung - Aufgaben planen'. Dort können Sie z. B. den Assistenten verwenden über das Menü 'Aktion - Einfache Aufgabe erstellen'. Auf der Seite 'Programm starten' wählen Sie für BAT- bzw. CMD-Datei diese Befehlsdatei an, für PowerShell-Skripte die powershell.exe (in Windows 7 vorinstalliert). Das PowerShell-Skript ist im Feld 'Starten in:' mit Pfad anzugeben.
Zum Ausführen der PowerShell-Skripte müssen die Ausführungsrichtlinien mit folgendem Befehl geändert werden, starten Sie dazu powershell.exe als Administrator:
Set-ExecutionPolicy Unrestricted (mit J = Ja bestätigen)
Folgende Parameter werden verwendet:
\n=
Nummer der Auswertung, die ausgeführt werden soll; muss angegeben werden, getrennt durch Kommas können mehrere Auswertungen angegeben werden (siehe Auswertungs-Nr. in den Eigenschaften der Auswertung)
\path=
Pfad für die Ausgabedatei(en), optional; gibt an, wo die Ausgabedatei(en) gespeichert werden. Existiert der Pfad nicht oder ist kein Pfad angegeben, erfolgt die Ausgabe in das mention-Programmverzeichnis. Enthält die Pfadangabe Leerzeichen, ist die komplette Pfadangabe inkl. Parameter in doppelte Anführungszeichen (") zu setzen.
\file=
Name der Ausgabedatei, optional. Wenn nicht angegeben, wird der Standard: sa- Benutzer name_ JJJJMMTT_ HHMM_ausw NNN. ext verwendet (sa = Systemadministrator in SQL Server, JJJJ = Jahr, MM =Monat, TT=Tag, HH=Stunde, MM=Minute der Ausführung der Auswertung, ext= Endung für Ausgabeformat [XLS | TXT | DBF | HTM | XML | CSV | TXS | TXP | TXG] - siehe \ext); wird ignoriert, wenn mehrere Auswertungen angegeben werden. Mit \ file = [Name_DDDDDDDD ] wird im Dateinamen das aktuelle Datum eingefügt. Mit den Konstanten {JJJJ} bzw. {MM} in \file= werden das aktuelle Jahr bzw. der aktuelle Monat im Dateinamen übergeben.
\type=
Format der Ausgabedatei [XLS | TXT | DBF | HTM | XML | CSV | TXS | TXP | TXG], optional; wenn nicht oder nicht korrekt angegeben, wird standardmäßig XLS angenommen; wird ignoriert, wenn die Endung beim Parameter \file mit angegeben wurde (siehe auch Auswertung anzeigen, Schaltfläche Exportieren).
Für Textdateien mit anweichendem Trennzeichen verwenden Sie:
TXS - mit Trennzeichen ;
TXP - mit Trennzeichen |
TXG - mit Trennzeichen ; und Texterkennungszeichen '
Hinweis: Bei der Ausgabe als Exceldatei erfolgt erst in einem zweiten Schritt die Übernahme der Spaltenbeschriftungen und das Speichern als XLSX. Dazu erfolgt ein interner Aufruf von Excel (diese Microsoft-Anwendung muss auf dem Rechner installiert sein, auf dem das Infomodul ausgeführt wird).
\ext=
Festlegung einer abweichenden Dateiendung (z. B. \type=txp \ext=TXT, damit eine TXP-Datei mit der Endung .TXT erzeugt wird)
\FCSV=1
Zur Übergabe der Spaltenbeschriftungen in CSV-Dateien verwenden Sie den Parameter \FCSV=1. Andernfalls werden für diesen Typ keine Spaltenbeschriftungen übergeben.
\xxxx=Y
Zur Übergabe der Spaltenbeschriftungen für Textdateien (z.B. für Typ TXS, TXP) verwenden Sie den Parameter \xxxx=Y. Andernfalls werden für diesen Typ keine Spaltenbeschriftungen übergeben.
\MAND=
Verwenden Sie diesen Parameter zum Setzen des Mandantenfilters (z. B. für Auswertungen mit Importfunktion). Geben Sie die Nummer des entsprechenden Mandanten an.
Verfügbar ab Version V2024:
\SQLPROT=Y oder \SQLPROT=1 (bzw. SQLPROT=Y oder SQLPROT=1)
zum Ausführen der Auswertung mit SQL-Protokoll ohne Aktivierung in den DSMAIN-Voreinstellungen
\CR=1
Verwenden Sie diesen Parameter für die Ausgabe von CSV-Dateien zur Übergabe von Umbrüchen mit (CR+LF) statt CHR(13)+CHR(10).
Die Parameter können in der Kommandozeile, im Fenster Eigenschaften der Desktop-Verknüpfung (Feld Ziel der Registerkarte Verknüpfung ) oder in einer entsprechenden Batch-Datei bzw. einem PowerShell-Skript angegeben werden.
Es gelten folgende Regeln:
Leerzeichen werden als Trennzeichen zwischen den Parametern verwendet.
Der Parameter mit der Pfadangabe ist in doppelte Hochkommas (") zu setzen, falls diese Leerzeichen enthält.
Die Reihenfolge der Parameter spielt keine Rolle.
Interaktive Filter (mit Benutzereingabe zur Auswertungszeit) werden ignoriert, d. h. für diese Auswertungen sind notwendige Filter fest zu definieren.
1. Aufruf von dsinfo.exe und Ausführen einer Auswertung
M:
cd mention
dsinfo.exe \n=103
M: - Laufwerksbuchstabe, auf dem sich das mention-Programmverzeichnis befindet
cd mention - Ordner auf dem oben angegebenen Laufwerk, in dem sich das mention-Programmverzeichnis mit dsinfo.exe befindet (hier im Verzeichnis mention auf Laufwerk M)
Hinweis: Der Aufruf von dsinfo.exe ist beim Ausführen über eine BAT-Datei nicht über die Angabe eines UNC-Pfades möglich.
Die Auswertung mit der Nummer 103 wird ausgeführt. Das Ergebnis wird in der Excel-Datei 'sa_[Datum]_[Uhrzeit]_ausw103.xls' im mention-Verzeichnis gespeichert (sa - Systemadministrator in SQL Server, über den die Verbindung zur mention-Datenbank erfolgt).
2. Verwendung einer eigenen Bezeichnung für das Auswertungsergebnis
dsinfo.exe \n=783 \file=auswertung783
Die Auswertung mit der Nummer 783 wird ausgeführt. Das Ergebnis wird in der Excel-Datei 'auswertung783.xls' im mention-Programmverzeichnis gespeichert.
3. Ausführen mehrere Auswertungen, Speichern der Auswertungsergebnisse in ein lokales Verzeichnis
dsinfo.exe \type=TXT \n=222,223 " \path=c:\Auswertungen Artikel"
Die Auswertungen mit der Nummer 222 und 223 werden ausgeführt. Die Ergebnisse werden im Laufwerk C im Verzeichnis auswertungen artikel z.B. in den ASCII-Dateien:
C:\auswertungen artikel\sa_[Datum]_[Uhrzeit]_ausw222.txt
C:\auswertungen artikel\sa_[Datum]_[Uhrzeit]_ausw223.txt
gespeichert (mit Datum und Uhrzeit des Speicherns).
4. Vorgabe des Dateityps für das Auswertungsergebnis (CSV mit Übernahme der Spaltenbeschriftungen)
dsinfo.exe \n=51 \ext=CSV \file=auswertung \type=CSV \FCSV=1
Das Ergebnis der Auswertung 51 wird als 'auswertung.csv' im mention-Programmverzeichnis gespeichert, die in der Auswertung festgelegten Spaltenbeschriftungen werden übergeben.
5. Speichern des Ergebnisses auf einem Netzlaufwerk
dsinfo.exe \n=55 "path=\\server\mention\auswertungen\kunden" \file=kundenliste \type=TXS \ext=TXT
Das Ergebnis der Auswertung 55 wird als 'kundenliste.txt' mit Trennzeichen Semikolon auf dem Server im Verzeichnis mention\auswertungen\kunden gespeichert.
6. Speichern des Ergebnisses auf ein FTP-Verzeichnis
dsinfo.exe \n=112 \path=ftp://Benutzer:Passwort@ftp.Server.tld/Verzeichnis \file=preisliste.xls
Das FTP-Verzeichnis muss vollständig inkl. Benutzername und Passwort angegeben werden.
Ab Version V2024 können die Parameter in der BAT-Datei auch ohne vorangestelltem '\' verwendet werden.
Beispiel 1
Beispiel-Skript in der Datei script.ps1, die sich im Verzeichnis D:\Scripte befindet: Ausführen der Auswertung 5, zu speichern in der Datei Artikelliste.csv im Verzeichnis \\server\mention\auswertung; mention-Programmverzeichnis mit dsinfo.exe unter \\server\mention
# Kommentar
$path_dsinfo = "\\server\mention\auswertung"
Start-Process dsinfo.exe -ArgumentList "\n=5 \file=Artikelliste \typ=csv \path=$path_dsinfo" -workingdirectory \\server\mention
Beispiel 2
Ausführen der Auswertung 33, zu speichern in der Datei preisliste.txt im Verzeichnis \\server\mention\listen; mention-Programmverzeichnis mit dsinfo.exe unter \\server\mention
Start-Process dsinfo.exe -ArgumentList "\n=33 \file=preisliste \typ=txt \path=\\server\mention\listen" -workingdirectory \\server\mention
Bedeutung der Parameter:
$path_dsinfo = - optional - Pfadangabe für das Auswertungsergebnis, der Pfad ist hier in Anführungszeichen anzugeben (einfache oder doppelte), die Pfadangabe kann als UNC-Pfad oder mit Laufwerksbuchstaben erfolgen; alternativ kann die Pfadangabe direkt in den Parametern für die Infoauswertung enthalten sein (siehe -ArgumentList)
Start-Process - Befehl zum Aufruf der Programmdatei mit den folgenden Parametern im angegebenen Verzeichnis
-ArgumentList - Parameter für die Infoauswertung (siehe oben), in Anführungszeichen einschließen
-workingdirectory - Pfadangabe für info.exe
PowerShell-Ausführung des Skriptes im Windows-Aufgabenplaner einrichten:
für Beispiel 1 (siehe oben):
Aktion: Programm starten
Programm/Skript: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Argument: -noninteractive -command "&{D:\Scripte\script.ps1}"
Starten in: D:\Scripte