[MDE]
Die nachfolgenden Einstellungen betreffen die Schnittstelle zur mobilen Datenerfassung über das Programm "Mobile Datenerfassung - Verbucher".
Über den Verbucher können weitere Schnittstellen bedient werden. Diese Schnittstellen können in der Sektion [MWI31M] definiert werden. Fehlt die Sektion [MWI31M], wird automatisch nur die Schnittstelle zur Mobilen Datenerfassung [MDE] angeboten. Ein weiteres Beispiel für die Definition einer Verbucher-Schnittstelle ist in der Sektion [HAENEL] für die Hänelsoft-Lagerschnittstelle beschrieben.
Die Schnittstelle zur Mobilen Datenerfassung ist vom Typ SQL, das heißt, die Buchungsdaten werden aus einer SQL-Tabelle einer SQL-Datenbank gelesen. Zusätzlich müssen für den Betrieb und die Bedienung der mobilen Endgeräte die replizierten infra-Daten in der SQL-Datenbank zur Verfügung stehen. Bei der Online-Replikation ist es dabei unerheblich, ob diese clientbasiert, oder - beim Einsatz der Client/Server-Datenbank - serverbasiert stattfindet. Wichtig ist nur, dass auf der Client-Seite der Replikationsdatenbanktreiber (SDBREPL.DLL) mit einer korrekten infraSQL.ini geladen wird. Dazu muss folgender Eintrag in der Datei SIBDB.INI aktiv sein:
Replicate: sdbrepl.dll,infrasql.ini
In der infraSQL.INI muss zudem (auch bei serverbasierter Online-Replikation) der korrekte ConnectionString für den Zugriff auf die infra-SQL-Datenbank eingetragen sein, damit der Verbucher Zugriff auf die Buchungsvorgänge bekommen kann.
AutoStart = Yes; (Default: No)
Mit diesem Eintrag kann die MDE-Schnittstelle automatisch bei Anwahl von 31M Mobile Datenerfassung (MDE) - Verbucher gestartet werden.
Das entspricht der Betätigung der Schaltfläche [ Start ] im Dialog des Programms. Der Eintrag kann z.B. genutzt werden, wenn die Schnittstelle automatisiert z.B. mit Hilfe einer IMA-Datei gestartet werden soll.
Hinweis:
Dieser Eintrag wird nur dann in der Sektion [MDE] ausgewertet, wenn keine Sektion [MWI31M] existiert.
AutoStop = Yes; (Default: No)
Dieser Eintrag belegt die Markierung «Automatisch beenden» im Verbucherdialog vor. Beim Erreichen des eingestellten End-Termins wird die Schnittstelle bei gesetzter Markierung automatische beendet.
Hinweis:
Dieser Eintrag wird nur dann in der Sektion [MDE] ausgewertet, wenn keine Sektion [MWI31M] existiert.
CloseInfra = Yes; (Default: No)
Dieser Eintrag belegt die Markierung «infra schließen» im Verbucherdialog vor. In Kombination mit «Automatisch beenden» wird nicht nur die Schnittstelle beim Erreichen des eingestellten End-Termins beendet, sondern die komplette infra:NET Sitzung geschlossen.
Hinweis:
Dieser Eintrag wird nur dann in der Sektion [MDE] ausgewertet, wenn keine Sektion [MWI31M] existiert.
ConnectionString = Verbindungsangabe
Hier kann eine Verbindungszeichenfolge speziell für die jeweilige Schnittstelle hinterlegt werden. Diese Angabe übersteuert die universelle Verbindungsangabe (StdClientConnectionString) des infra:NET Servers und den ConnectionString aus der infraSQL.INI. So ist ein Verbindungsaufbau zu verschiedenen Datenbanken abhängig von der zu bedienenden Verbucher-Schnittstelle denkbar.
Es sind beliebige ADO-ConnectionStrings zulässg – inklusive der Angaben „Connect Timeout“ und „Command Timeout“, die nicht Bestandteil der Standard-ADO-Konvention sind.
Debug = Yes; (Default: No)
Mit der Einstellung Yes wird im infra-Protokollverzeichnis (i.d.R. INFRA\GRAFIK\PROT) eine XML-Datei DEBUG31M.XML für den zuletzt bearbeiteten Buchungsauftrag erzeugt. Die XML-Datei enthält die Datenstruktur, die an das jeweilige Buchungsprogramm übergeben wurde. Diese Einstellung sollte nur für die Fehlerdiagnose eingesetzt werden.
DefaultAction = Buchungsart
Dieser Eintrag dient als Vorbelegung für die Auswahlliste «Buchungsarten» beim Start des Verbuchers. Fehlt der Eintrag, so wird in der Auswahlliste <Alle> vorbelegt und der Verbucher reagiert auf alle Buchungsvorgänge. Die Auswahl kann manuell nach Aufruf des Verbuchers geändert werden.
Wird eine bestimmte Buchungsart angegeben, muss die Buchungsart in mindestens einem Eintrag der PostingCode-Enträge definiert sein.
Frequency = 5; (Default: 0)
Dieser Wert gibt die Zeit in Sekunden an, die der Verbucher zwischen den Zugriffen auf die SQL-Schnittstellentabelle verstreichen lässt, um zum Beispiel die Netzwerk- oder Computerbelastung zu reduzieren. Bereitstehende Buchungen werden allerdings ohne Wartezeit nacheinander abgeareitet. Ohne diese Angabe (bzw. bei 0) wird die Schnittstellentabelle ca. jede halbe Stunde auf neue Buchungen geprüft.
IgnoreOnlineReplication = Yes; (Default: No)
Mit der Einstellung Yes in dieser Sektion kann die Prüfung auf aktivierte Online-Replikation abgeschaltet werden. Dies macht im Allgemeinen nur Sinn, wenn als Schnittstellentyp CSV verwendet wird oder eine individuelle Schnittstelle ohne Nutzung von infra.mobile realisiert ist. Bei der Default-Einstellung No muss die Online-Replikation aktiviert sein.
IsoInput = No; (Default: Yes)
Sobald die Daten in der SQL-Schnittstellendatei im ASCII-Zeichensatz vorliegen, muss der Eintrag "IsoInput = No" gesetzt werden, damit die Daten korrekt gelesen und die Protokolldaten im ISO-Zeichensatz geschrieben werden können.
Bei der CSV-Schnittstelle ist der Defaultwert „No“.
PostingCode.Code = Buchungsart,ProgrammID/IPS:Dateiname,“Protokolltext“,MakrosOK,MakrosFehler
Über die PostingCode-Einträge wird definiert, welche Buchungsarten der Verbucher beherrschen soll, welches Buchungsprogramm oder welche IPS-Datei gestartet wird und wie der zugehörige Protokolleintrag aussehen soll.
Der Code im Schlüssel entspricht dem Inhalt des Feldes «postingcode» der SQL-Schnittstellentabelle. Findet der Verbucher einen Datensatz mit dem hier angegebenen Code, wird das über diesen Eintrag zugeordnete Programm für die Verarbeitung dieser Buchung gestartet.
Die angegebene Buchungsart ist ein Text, der in der Auswahlliste «Buchungsarten» des Verbuchers angezeigt wird. Wird die gleiche Buchungsart bei verschiedenen PostingCode-Einträgen angegeben, so fasst der Verbucher die verschiedenen PostingCodes für diese Buchungsart zusammen, d.h. alle PostingCodes, die zu dieser Buchungsart passen, werden verarbeitet, wenn diese Buchungsart in der Auswahlliste des Verbuchers ausgewählt wurde (siehe Beispiel).
Die ProgrammID gibt an, welches infra-Programm zum Verarbeiten der mit dem entsprechenden PostingCode gefundenen Buchung gerufen werden soll. Das jeweilige Programm muss für das automatische Verarbeiten von Buchungen vorbereitet sein.
Alternativ kann mit "IPS:Dateiname" auch eine IPS-Datei angegeben werden, die dann direkt vom Verbucher für die entsprechende Buchungsart ausgeführt wird. Auch eine IPS-Datei muss für die Verarbeitung dieser Buchungen vorbereitet sein.
Der angegebene Protokolltext wird im Protokollfenster des Verbuchers angezeigt, wenn eine entsprechende Buchung verarbeitet wird. Innerhalb des Textes können Felder aus dem Buchungsdatensatz der SQL-Schnittstellentabelle ausgegeben werden. Dazu wird im Text das @-Zeichen gefolgt vom gewünschten Feldnamen der SQL-Tabelle angegeben.
Mit den Parametern „MakrosOK“ und „MakrosFehler“ können bei Bedarf infra-Makros angegeben werden, die bei erfolgreicher Buchung (MakrosOK) oder fehlerhafter Buchung (MakrosFehler) ausgeführt werden. In Kombination mit dem Druckausgabe-Makro „Print(…)“ lässt sich so zum Beispiel ein Etikettendruck bei Entnahmebuchungen realisieren und Fehler können protokolliert werden.
Beispiele:
PostingCode.151=Wareneingang,742,"Bestellung: @orderno, Pos: @posno, Teil: @itemno"
PostingCode.152=Wareneingang,742,"Bestellung: @orderno, Pos: @posno, Teil: @itemno“
PostingCode.183=Materialentnahme vollständig,571,"Auftrag: @orderno, Referenznummer: @posno",Print(0,31MOK)
PostingCode.910=Leitstand Fertigungsauftrag,IPS:31M-LS.IPS,"Auftrag: @orderno, Start: @usdate1, Ende: @usdate2, Anw2: @usstring1, Anw6: @usdate3, Prio: @usflag1"
Für die Buchungsart "Wareneingang" wird in der Auswahlliste «Buchungsarten» des Verbuchers ein Eintrag mit zwei PostingCodes angezeigt: "Wareneingang (151,152)"
Findet der Verbucher in der SQL-Schnittstellentabelle einen Datensatz mit "183" im Feld «postingcode», erscheint im Protokollfenster der angegebene Text (@orderno und @posno werden durch die entsprechenden Feldinhalte des SQL-Datensatzes ersetzt) und das infra-Programm "571" wird zur Verarbeitung der Buchung gerufen.
Hinweis:
Bei der Druckausgabe über das Makro „Print(…)“ stehen die Daten aus der Verbucherschnittstelle über das Makro „XMLGVValue(GV_MWI31M_xmldata,…) zur Verfügung. Auf die Daten und Puffer des eigentlichen Buchungsvorgangs kann zu diesem Zeitpunkt nicht mehr zugegriffen werden, d.h. sollten weitere Informationen zu den Daten aus der Verbucherschnittstelle für die Druckausgabe benötigt werden, müssen diese in der MIL-Datei über das Makro „DBSelect(…)“ aus der Datenbank gelesen werden.
MDETable = SQL-Tabellenname; (Default: infMDE)
Hier kann der Name der SQL-Schnittstellentabelle in der infra-SQL-Datenbank festgelegt werden, auf die der Verbucher zugreift, um nach neuen Buchungsvorgängen zu suchen. Als Standardname wird infMDE verwendet.
Hinweis
Für die infra.mobile-Schnittstelle muss aber zwingend der Eintrag "MDETable=USBookNewevents" konfiguriert werden, der in der ausgelieferten Standard-INI-Datei auch enthalten ist.
PostingCodeGroup.Index = Bezeichnung, PostingCode1, PostingCode2, …
Erlaubt die Gruppierung von Buchungsarten (PostingCodes) zur Lastverteilung durch den Einsatz mehrerer paralleler Verbuchersitzungen auf demgleichen oder unterschiedlichen Arbeitsplätzen. Um die einzelnen Sitzungen auf bestimmte Buchungsarten zu spezialisieren, müssen die jeweils von einem Client zu verarbeitenden Buchungsarten zu einer Gruppe zusammengefasst werden. Der anzugebende Index ist eine freie eindeutige Nummerierung der Gruppendefinition. Die Bezeichnung wird in der Auswahlliste „Buchungsarten“ angezeigt und dient gleichzeitig der Vorauswahl über den INI-Eintrag „DefaultAction“. Hinter der Bezeichnung werden durch Kommata getrennt die zusammenzufassenden PostingCodes angegeben.
Die einzelnen PostingCodes müssen jeweils durch einen Eintrag „PostingCode.Code“ in dieser Sektion definiert sein.
Beispiel:
individ.ini
[MDE]
Type=SQL
MDETable=USBookNewevents
PostingCode.910=Leitstand Fertigungsauftrag,IPS:31M-LS.IPS,…
PostingCode.911=Leitstand Arbeitsgang,IPS:31M-LS.IPS,…
PostingCode.183=Materialentnahme vollständig,571,…
PostingCode.184=Materialentnahme Teilentnahme,571,…
PostingCode.192=Ungeplante Entnahme,319C:/StartBV=311-32 /StartDialog=MWI319_32,…
PostingCode.193=Umlagerung,3194:/StartBV=311-4 /StartDialog=MWI319_4,…
PostingCode.194=Bestandskorrektur,3193:/StartBV=311-5 /StartDialog=MWI319_5,…
PostingCode.7=Inventur,383,…
PostingCodeGroup.1=Leitstand Buchungen,910,911
PostingCodeGroup.2=Restliche Buchungen,7,183,184,192,193,194
Verbucher1.ini (z.B. stationsabhängig)
DefaultAction=Leitstand Buchungen
Verbucher2.ini (z.B. stationsabhängig)
DefaultAction=Restliche Buchungen
SessionLOG = 1; (Default: 0)
Mit dieser Einstellung kann festgelegt werden, wie detailliert die Arbeit der Verbucherschnittstelle in der sitzungsabhängigen LOG-Datei protokolliert werden soll:
|
0 =
|
Es werden keine LOG-Einträge erzeugt.
|
|
1 =
|
Es werden nur Fehler protokolliert.
|
|
2 =
|
Es wird jede Buchung protokolliert.
|
ShowErrorsOnly = Yes; (Default: No)
Dieser Eintrag belegt die Markierung «Nur Fehler protokollieren» im Verbucherdialog vor. Bei Aktivierung werden nur Fehler und Warnungen im Protokollfenster angezeigt.
Dies ist besonders bei sehr großen zu verarbeitenden Datenmengen empfehlenswert, damit die Verarbeitungsperformance nicht durch zu viele Protokollfenstereinträge beeinträchtigt wird.
Die aktuell ausgeführte Aktion wird dann zur Information in der Hinweiszeile angezeigt.
Hinweis:
Dieser Eintrag wird nur dann in der Sektion [MDE] ausgewertet, wenn keine Sektion [MWI31M] existiert.
StopTime = Termin; (Format: tt.mm.jjjj hh:mm)
Mit diesem Eintrag kann der End-Termin für das automatische abschalten der MDE-Schnittstelle vorbelegt werden. Der Termin kann aus einer Uhrzeit (Format: hh:mm) oder einem Datum mit Uhrzeit bestehen. Ist nur eine Uhrzeit (oder ein bereits in der Vergangenheit liegendes Datum) angegeben, wird das nächste gültige Datum zur gewünschten Uhrzeit ergänzt.
Hinweis:
Dieser Eintrag wird nur dann in der Sektion [MDE] ausgewertet, wenn keine Sektion [MWI31M] existiert.
