System.ini: Unterschied zwischen den Versionen
Hebel (Diskussion | Beiträge) |
Hebel (Diskussion | Beiträge) |
||
| Zeile 37: | Zeile 37: | ||
(optional, default == ./work) | (optional, default == ./work) | ||
| − | |||
| − | |||
| − | |||
Version vom 5. August 2016, 08:33 Uhr
Die Konfiguration des Scriptes wird in der System.ini, die im System- Verzeichnis unterhalb des Scriptverzeichnisses liegt, vorgenommen. Sie enthält folgende Sections:
- <encoding="enc">
Das Encoding der system.ini kann definiert werden, z.B. als utf-8. Diese Kommentarzeile muss die erste Zeile der ini-Datei sein. Ist diese Zeile nicht definiert, so wird weiterhin das Systemencoding verwendet.
- <encoding="utf-8">
LANGUAGE
Es kann die Sprache definiert werden, die in der messages.ini verwendet werden soll.
optional, Standard = D
CUSTOMER
Kundenname (z.B. WPV)
ersetzt Kunde
WORKDIR
Globales Verzeichnis, in dem z.B. die Triggerdateien (s. TRGPATH und TRGFILE) des Imports bei UseCorsaWebService <> 1 gespeichert werden können.
(optional, default == ./work)
[VARIABLEN]
Es sind folgende Schlüssel enthalten:
CheckDS
Wenn dieser Parameter auf 1 steht, so muss ein DS-Pfad mit Unterstruktur angegeben werden, in dem die aufgelaufenen *.ta-Dateien gezählt werden.
Soll das nicht passieren, so ist der Parameter auf 0 zu stellen!.
Optional, default == 0.
Kunde
Kundenname (z.B. WPV)
wurde durch CUSTOMER ersetzt
ProtPraefix
Praefix der Protokolldatei, z.B. IMPSRV
-> IMPSRV_20041202.pro
Optional, default == IMPSRV_.
ProtPath
Der Pfad, in dem die Protokolldatei abgelegt werden soll. Dieser muss absolut angegeben werden.
Optional, default == <ScriptDir>/Protokolle
Debug
1 = On
0 = Off
Ist das Debugging angeschaltet, so werden viel mehr Informationen in die Protokolldatei geschrieben. Dieses ist nur zu Testzwecken zu empfehlen.
Das Debugging kann über die Console mit dem Befehl:
set main::system(VARIABLEN,DEBUG) 1
zur Laufzeit eingeschaltet werden (und mit 0 wieder ausgeschaltet)
Optional, default == 0
StopOnError
1 = On
0 = Off
Ist der Parameter eingeschaltet, so wird, wenn der Import sich nach einer definierten Zeit nicht zurück meldet, der ganze Import angehalten. Ist der Parameter ausgeschaltet, so wird nur der jeweilige Import abgeschaltet. Es erfolgt, falls die eMailbenachrichtigung aktiv ist, eine Meldung per Mail (z.B. an doc@stratoz.de).
Optional, default == 0.
DSWorkDir
Dieser Parameter kann mit CheckDSdeaktiviert werden.
Ab der Corsa-Version Januar 2006 macht der DS- Dienst keine Threads bei Arc, OCR und FTI mehr auf. Stattdessen wird in den DS- Work- Unterverzeichnissen (ARC,OCR,FTI,DEL) nun pro Vorgang eine .dsa-Datei aufgemacht. Die Anzahl der geschriebenen .dsa-Dateien wird nun verwendet, um die "Startthreads" zu vergleichen.
Dieser Parameter ist ab der Version ein Pflichtparameter.
Bsp.:
graphic
ACHTUNG:
Wenn hier NICHT das richtige Verzeichnis eingetragen ist, startet der ImportService nicht und es wird auch kein Protokoll geschrieben!
AfterTime
Mit diesem Parameter kann eine Bremse eingebaut werden, um die CPU-Anzeige im Taskmanager von nahezu 100% auf Werte nahe 0% zu drücken.
Das ist in den meisten Fällen nicht notwendig und lediglich kosmetisch, da der CPU-Last sofort sinkt, wenn andere Prozesse auch die CPU anfordern.
Der Wert ist eine Pause in Millisekunden. Im Testumfeld hat sich ein Wert von 10 als vernünftig erwiesen. Allerdings sollte im Echtbetrieb noch eine Feinjustierung erfolgen (so klein wie möglich).
Optional, default == 10.
Event_Receiver
Empfängermailadresse der Eventmails. Mehrere Empfänger können per Leerzeichen getrennt angegeben werden.
Die Kontoeinstellungen werden im Abschnitt [SMTP] definiert.
WaitBeforeDeleteEmptyDir
Zeit in ms, wie lange der Importservice wartet, bevor er einen leeren Importordner löscht. Diese Zeit ist notwendig, da er der leere Ordner angelegt wird und danach die Lockdatei geschrieben wird.
Optional, default == 500.
AutoLoadConfiguration
1 = On
0 = Off
Dieser Schalter gibt an, ob die Configurationsdatei system.ini neu geladen werden soll, wenn sich ihr Änderungsdatum geändert hat.
Optional, default == 0.
StartFunction
Hier kann ein benutzerdefinierte Funktion aus dem Include-Verzeichnis aufgerufen werden, die den eigentlichen Start des Dienstes verzögert.
So ist es z.B. möglich, dass der Dienst erst dann aktiv wird, wenn alle Ressourcen zur Verfügung stehen.
Damit der Dienst sich in der Windows Dienstumgebung korrekt verhält (z.B. beim Beenden des Dienstes oder herunterfahren des Servers), ist es notwendig, dass die Prozedur sofort verlassen wird, wenn die Bedingung <$::service(state) != "running"> erfüllt ist. Das bedeutet, der Dienst hat die Aufforderung vom Betriebssystem erhalten, sich schnellstens zu beenden.
Optional.
ProcessMonitor
Für die spätere Integration des Process Monitors ist hier schon der Schalter eingebaut, der die entsprechende Funktionalität steuert.
Wird dieser Schalter auf 1 gesetzt, so ist mindestens OZ3.17 notwendig.
Optional, default == 0.
Internal_Key
Dieser Wert darf nur von StratOz definiert werden. Nähere Informationen befinden sich in der entsprechenden Doku mit Suchbegriff "Importservice Lizenz"
DSActionCMD
Vordefinierter Wert, der beim Upload der Dokumentdatei als Actionwert verwendet wird.
Bei NONE wird nichts übergeben und die CMC-Standardeinstellung verwendet.
Optional, default == -action NONE
DSActionCMD = -action NONE
ENCODING
Hier mit wird das Encoding der Protokolldatei bestimmt. Ohne Einstellung wird diese nun in UTF-8 geschrieben.
UseCorsaWebservice
Dieser Parameter muss auf 1 gestellt werden, wenn die Corsa Webservice verwendet wird - AutoLoadConfiguration wird dann automatisch deaktiviert.
Ist hier 0 konfiguriert, so werden alle Import deaktiviert, bei denen UseCorsaWebService == 1 ist.
Optional, default == 1.
Außerdem gibt es noch den Wert 2, der den Webservice ausschaltet, jedoch die Verarbeitung über die Mapping.ini unterstützt. Der klassische Import wird aber auch nicht aufgerufen.
Im Modus 2 ist der User immer NUKNWON, soll das im Protokoll ausgeblendet werden, so muss PROTUSER auf leer gesetzt werden.
BACKUP_KEEPNAME
Diese Parameter steuert, ob die Dateien im Backupverzeichnis den Originaldateinamen enthalten (1) oder nicht (0)
Optional, default == 0
[DSERROR]
Dieser Block muss definiert werden, wenn die Funktion "Wiederholen beim obskuren DS Fehler" eingeschaltet werden soll. Dies trifft nur auf Progress Importe zu.
Beim Webserviceimport muss es nicht in der system.ini vorhanden sein.
RETRY
1/0
ERRORLOG
Regulärer Ausdruck aus der Logdatei, an dem der obskure Fehler erkannt werden kann.
EVENT
Eventmaske
TXT
z.B.
Wiederholung des Imports, da Dateien nicht abgelegt werden konnten (s. Protokolldatei)
EVENT_GLOBERROR
Eventmaske
TXT_GLOBERROR
z.B.
Wiederholung des Imports konnte aufgrund von Netzwerkproblemen nicht durchgeführt werden
EVENT_OPENERROR
Eventmaske
TXT_OPENERROR
Fehlerlog konnte nicht geöffnet werden: $file
[WEBSERVICE]
Einstellungen, die den Corsa Webservice betreffen.
WSDLPATH
Pfad zur wsdl-Datei vom Corsa Webservice.
Beispiel:
WSDLPATH = http://192.168.1.123/wsCorsa7/Corsa72WS.asmx?WSDL
CONNECTIONID
CORSA
SERVICE
Name des Service
Beispiel:
SERVICE = CORSA72WS
PASSWORD
Hier wird das Standardpasswort des Webservices oder das zum USER gehörende Passwort pwc-verschlüsselt angegeben.
Der Schlüssel muss hier deklariert werden!
REFRESHDELAY
Verzögerung in Millisekunden bei einem Reconnect
USER
Der Corsauser, in dessen Kontext die Daten importiert werden sollen (z.B. SYSTEM)
LINKEDERROR
Der Corsa Webservice hat die Eigenschaft, dass die Verknüpfung von zwei bereits verknüpften Objekten einen Fehler verursacht. Das ist für die Verwendung im Importservice unpraktisch, weshalb die Möglichkeit geschaffen wurden, diesen Fehler im Zwischenpackage auszuschalten.
Damit der Fehler erkannt werden kann, muss der genaue casesensitive Text definiert werden (wenn der Parameter nicht definiert ist, so wird "Die Verknüpfung besteht bereits." verwendet).
Achtung: Bei anderen Ländereinstellungen wird der Text vermutlich anders aussehen!
RETRYTOCONNECT
Nach einem Disconnect wird in einer Schleife immer wieder probiert den Webservice neu zu connecten (1=default/0).
[TIMEOUT]
Es können die Timeoutzeiten in ms für diverse Webservicemethoden definiert werden.
Ist keine explizite Definition vorhanden, so wird der Wert DEFAULT verwenden.
Ist dieser auch nicht vorhanden, so wird das Timeout ausgeschaltet.
DEFAULT
Mit Default wird der Standardwert definiert, der immer dann genommen wird, wenn keine abweichende Einstellung für eine Webservicemethode vorhanden ist.
z.B.
DEFAULT = 5000
<Name der Methode>
Für jede Webservicemethode kann ein individueller Wert hinterlegt werden.
z.B.
DEFAULT = 5000
CONNECT = 2000
[JOBS]
Einstellungen, die den Job betreffen.
TODO
Pfad zum Arbeitsverzeichnis. Relative Pfade beziehen sich auf das Verzeichnis, in dem der Jobservice liegt.
Beispiel:
TODO =./jobs/todo
ERROR
Pfad zum Fehlerverzeichnis. In diesem Verzeichnis werden Fehlertransaktionen temporär abgelegt und die Fehlerprotokolle erstellt.
Relative Pfade beziehen sich auf das Verzeichnis, in dem der Jobservice liegt.
Beispiel:
ERROR =./jobs/error
OK
Pfad zum Ok-Verzeichnis. In diesem Verzeichnis werden korrekte Transaktionen temporär abgelegt und die Ok-Protokolle erstellt.
Relative Pfade beziehen sich auf das Verzeichnis, in dem der Jobservice liegt.
Beispiel:
OK =./jobs/ok
ROLLBACK
Pfad zum Rollback-Verzeichnis. In diesem Verzeichnis werden Transaktionen zum Zurückrollen der Aktion temporär abgelegt und die Rückrollprotokolle erstellt.
Relative Pfade beziehen sich auf das Verzeichnis, in dem der Jobservice liegt.
Beispiel:
ROLLBACK = ./jobs/rollback
PROTOCOL
Pfad und Name der Jobprotokolldatei. Der Bezeichner &JOBID& wird durch die tatsächliche Jobbezeichnung ersetzt.
Relative Pfade beziehen sich auf das Verzeichnis, in dem der Jobservice liegt.
Beispiel:
PROTOCOL = ./protocols/JOBS/&JOBID&.txt
AFTERERRORCMD
Befehle, die nach der Erstellung der Fehlerdatei ausgeführt werden. Damit ist es z.B. möglich, die erstellte Datei zu verschieben.
Die Variable $file enthält die erstellte Datei, mit $::script::scriptDir kann auf das Verzeichnis des Jobservice zugegriffen werden.
Beispiel:
AFTERERRORCMD = if {[file exists $file]} {file rename $file $::jobsns::scriptDir/protocols/jobs/}
AFTEROKCMD
Befehle, die nach der Erstellung der Datei der korrekten Transaktionen ausgeführt werden. Damit ist es z.B. möglich, die erstellte Datei zu verschieben.
Die Variable $file enthält die erstellte Datei, mit $::script::scriptDir kann auf das Verzeichnis des Jobservice zugegriffen werden.
Beispiel:
AFTEROKCMD = if {[file exists $file]} {file rename $file $::jobsns::scriptDir/protocols/jobs/}
AFTERROLLBACKCMD
Befehle, die nach der Erstellung der Rückrolldatei ausgeführt werden. Damit ist es z.B. möglich, die erstellte Datei zu verschieben.
Die Variable $file enthält die erstellte Datei, mit $::script::scriptDir kann auf das Verzeichnis des Jobservice zugegriffen werden.
Beispiel:
AFTERROLLBACKCMD = if {[file exists $file]} {file rename $file $::jobsns::scriptDir/protocols/jobs/}
AFTERJOBCMD
Befehle, die nach dem Schließen des Jobprotokolls ausgeführt werden sollen. So ist es z.B. möglich, die entstandene Jobdatei wieder zu löschen,
Beispiel:
AFTERROLLBACKCMD = catch {file delete [string map [list &JOBID& $jobID] $jobFileName]}
WRITEERRORFILE
default = 1
Ist diese Funktion ausgeschaltet, so werden keine leeren Fehlertransaktionsdateien mehr geschrieben. Fehler werden aber in jedem Fall protokolliert.
WRITEERRORFILE = 0
WRITEOKFILE
default = 1
Ist diese Funktion ausgeschaltet, so werden keine zusammenfassenden Transaktionsprotokolle mehr geschrieben.
WRITEOKFILE = 0
WRITEROLLBACKFILE
default = 1
Ist diese Funktion ausgeschaltet, so werden weder einzelne noch zusammenfassende Rollbacktransaktionsprotokolle mehr geschrieben.
WRITEROLLBACKFILE = 0
PREDELSOURCECMD
Befehle, die vor dem Löschen der Quelldatei ausgeführt werden, um diese z.B. zu sichern.
Dabei können die Variable $sourceFile, die die aktuelle Quelldatei enthält und das Macro &JOBID&, das die JobID repräsentiert, verwendet werden.
Beispiel:
PREDELSOURCECMD = file rename $sourceFile $::script::scriptDir/backup/[file tail [file rootname $sourceFile]]_&JOBID&.txt
QUERYPATH
Der Ordner, in dem Queries verarbeitet werden. Dieser sollte exklusiv für diese Aufgabe definiert sein.
[SHARE]
Beliebige Anzahl von SHARE Sections, wobei mit jeder ein Netzwerkshare eingerichtet wird. Pro Share ist ein Benutzer und ein Passwort zu vergeben.
Die Funktion wird z.B. benötigt, wenn ein externes WORM mit eigener Rechtesteuerung verwendet werden soll.
ACTIVE
Eingeschaltet (1) oder ausgeschaltet (0).
PATH
Netzwerkfreigabe im der Form //host/p1/p2 oder \\\\host\\p1\\p2
USER
Benutzer, der das Recht hat, auf die Freigabe zuzugreifen.
PASSWORD
Passwort des Benutzers.
[IMPORTDIRS]
Es sind folgende Schlüssel enthalten:
DIRxx
xx ist ein Zähler.
Hier werden die Verzeichnisse definiert, die, falls das Importverzeichnis noch nicht erstellt wurde, als Unterverzeichnisse automatisch angelegt werden.
[SMTP]
Es sind folgende Schlüssel enthalten:
Sendmail
1 = Mail bei Fehler versenden
0 = keine Mail versenden
port
z.B. port = 25
Port für smtp
sender
Sendermailadresse
receiver
Empfängermailadresse der Systemmails. Mehrere Empfänger können per Leerzeichen getrennt angegeben werden.
server
Name oder IP des Mailservers
username
Anmeldename des Mailkontos
password
Passwort des Mailkontos. Es muss ab Version 5.1 pwc verschlüsselt sein.