[MWI31M-HYDRA]
Diese Sektion wird vom infra-Verbucher (Menü 31M) ausgewertet, wenn in der Sektion [MWI31M] über den Eintrag "Interface.MWI31M-HYDRA =. . ." eine Schnittstelle mit Verweis auf diese Sektion hinterlegt ist.
Im infra-Standard wird hier die Hydra-Schnittstelle konfiguriert, siehe Schnittstellendokumentation HYDRA.DOC.
Dort sind auch alle programmspezifischen Einstellungen zu der Schnittstelle beschrieben, während nachfolgend "nur" die für den technischen Ablauf notwendigen Einstellungen beschrieben sind.
In den Sektionen [MDE] und [HAENEL] sind weitere Schnittstellenkonfigurationen des infra-Verbuchers am Beispiel der Schnittstelle zur mobilen Datenerfassung (infra.mobile) und zur Lagersoftware HAENEL beschrieben.
Type = FIXED; (Default: SQL)
Dieser Eintrag bestimmt den Typ der Schnittstelle. Abhängig vom Schnittstellentyp werden die weiteren Einstellungen ausgewertet. Manche Einstellungen stehen nur für einen bestimmten Schnittstellentyp zur Verfügung. Folgende Schnittstellentypen werden unterstützt:
|
FIXED
|
Die Daten der Schnittstelle werden aus einer Datei mit fester Satzlänge und festen Feldpositionen gelesen. Der Ablauf beim Verarbeiten der Schnittstellendateien ist unter "Funktionsweise der FIXED-Schnittstelle" beschrieben (s.u.)
|
|
CSV
|
Die Daten der Schnittstelle werden aus einer (oder mehreren) Datei(en) gelesen. CSV steht für Comma-separated Value und bedeutet, dass in der Datei die einzelnen zu importierenden Felder durch Kommata getrennt sind und je Zeile ein Datensatz erwartet wird. Der Ablauf beim Verarbeiten der Schnittstellendateien ist unter "Funktionsweise der CSV-Schnittstelle" beschrieben.
|
|
SQL
|
Die Daten der Schnittstellen werden aus der Tabelle einer SQL-Datenbank gelesen. Ein Beispiel für eine Verbucher-Schnittstelle über eine SQL-Tabelle ist die Schnittstelle zur mobilen Datenerfassung (infra.mobile), die in der Sektion [MDE] beschrieben ist.
|
Funktionsweise der FIXED-Schnittstelle
Für die durch eine Schnittstelle vom Typ FIXED zu verarbeitende Buchungsart wird über einen Eintrag der Form "PostingCode.Code" definiert, welche Datei in regelmäßigen Abständen auf zu verarbeitende Buchungen überprüft werden sollen. Die Abstände, in denen auf die Datei(en) zugegriffen wird, werden über die Einstellung "Frequency" bestimmt.
Es wird versucht die Schnittstellendatei exklusiv zu öffnen, um gleichzeitiges Lesen und Schreiben auf der Datei zu verhindern. Misslingt der Zugriff, erfolgt ein neuer Versuch nach der mit „Frequency“ eingestellten Zeit.
Alle Zeilen, die durch den infra-Verbucher verarbeitet wurden, werden aus der Schnittstellendatei gelöscht. Für jede verarbeitete Zeile aus der Schnittstellendatei wird ein Eintrag in einer Protokolldatei erstellt (siehe Einstellung "ProcessLOG").
Zusätzlich wird im Fehlerfall ein Eintrag in einer Fehler-Protokolldatei abgestellt (siehe Eintrag "ErrorLOG").
In beiden Protokolldateien werden zusätzlich im Fehlerfall (oder bei Warnungen) die Antworten des jeweiligen infra-Buchungsprogramms protokolliert.
Bei Anhalten des Verbuchers aufgrund eines schwerwiegenden Fehlers, bleiben alle nicht verarbeiteten Zeilen in der Schnittstellendatei erhalten.
Wurden alle Zeilen verarbeitet, ist die Schnittstellendatei leer und kann bei Bedarf gelöscht werden (siehe Eintrag „DeleteEmptyFiles“).
Aufbau der FIXED-Schnittstellendatei
FIXED steht für feste Satzlängen und Feldpositionen und bedeutet, dass in der Datei die einzelnen zu importierenden Felder immer an einer ganz bestimmten Position einer Zeile in einer vorgegebenen Länge erwartet werden. Wo die einzelnen Felder zu finden sind, ihre Längen und der Name, unter dem ein Feld dem Buchungsprogramm zur Verfügung gestellt werden soll, wird in INI-Einträgen der Form "PostingCode.Code.Nr" definiert.
Als Zeilenende wird zumindest das Zeilenumbruch-Zeichen (Carriage Return = 0D = ASCII 13) erwartet. Auch die Kombination Zeilenumbruch+Vorschub (CR+LF = 0D+0A = ASCII 13+10) wird korrekt verarbeitet.
ErrorHandling = Wert; (Default: 0)
ErrorLOG = Protokolldatei;
Frequency = 5; (Default: 0)
IsoInput = Yes; (Default: No)
UTF8Input = Yes; (Default: No)
Diese Einstellung erlaubt das Importieren von Daten im UTF8-Format.
DeleteEmptyFiles = Yes; (Default: No)
Wurden alle Datensätze aus einer Schnittstellendatei übernommen, kann mit dieser Einstellung das Löschen der Schnittstellendatei erzwungen werden. Ansonsten bleibt die Schnittstellendatei als leere Datei erhalten.
PostingCode.Code = Buchungsart,Datei,(reserviert),(reserviert),ProgrammID/IPS:Dateiname, “Protokolltext“
Über die PostingCode-Einträge wird definiert, welche Buchungsarten der Schnittstelle der Verbucher unterstützen soll, aus welcher Schnittstellendatei die Buchungen kommen, welches Buchungsprogramm oder welche IPS-Datei gestartet wird und wie der zugehörige Protokolleintrag aussehen soll.
Die Angabe Code bestimmt den an das Buchungsprogramm übermittelten Buchungscode zur Verarbeitung der übergebenen Daten.
Die angegebene Buchungsart ist ein Text, der in der Auswahlliste «Buchungsarten» des Verbuchers angezeigt wird.
Der Parameter Datei gibt Pfad und Namen der Schnittstellendatei an, aus der die Datensätze gelesen werden. Die Inhalte der Datensätze werden entsprechend der Angaben "PostingCode.Code.Nr" aufbereitet und an das Buchungsprogramm übergeben.
Die ProgrammID gibt an, welches infra-Programm zum Verarbeiten der 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 den übernommenen Buchungsdaten der Schnittstellendatei ausgegeben werden. Dazu wird im Text das @-Zeichen gefolgt vom gewünschten Feldnamen angegeben (entspricht dem Feldnamen in den "PostingCode.Code.Nr" Angaben).
Beispiel
PostingCode.200=AG-Rückmeldung,C:\INFRA\Hydra\HY72ADRCK_TIMETICKET.DAT,,,IPS:31M-AG.IPS,"Auftrag: @orderno, Referenz: @posno, Arbeitsplatz: @mopno, Menge: @bookquantity"
PostingCode.Code.Nr = Name,PIS,Len
PostingCode.Code.Nr = Name,“Text“
PostingCode.Code.Nr = Name,(Makros)
Beim Schnittstellentyp „FIXED“ müssen die Feldinhalte eines Datensatzes in eine interne XML-Struktur überführt werden. Die Namen der Felder innerhalb der XML-Struktur und deren Inhalte werden durch INI-Angaben der Form „PostingCode.Code.Nr“ definiert. Code muss dabei mit dem Buchungscode aus der Beschreibung der Buchungsart „PostingCode.Code=…“ übereinstimmen. Als „Nr“ wird eine beliebige aber innerhalb der Sektion eindeutige Nummer angegeben.
Der Name entspricht dem Namen des Feldes unter dem der angegebene Feldinhalt innerhalb der XML-Struktur, die an das jeweilige Buchungsprogramm übergeben wird, gespeichert wird. Die Feldnamen sind durch die jeweilige Buchungsart vorgegeben und in der entsprechenden Schnittstellendokumentation beschrieben.
Es können 3 unterschiedliche Feldtypen definiert werden:
PIS,Len
Ein Feld aus dem übergebenen Datensatz der Schnittstellendatei.
Es werden die Daten an Position PIS (Zählung ab 1) in der Länge Len übernommen und in der XML-Struktur gespeichert.
„Text“
Eine feste Zeichenkette wird in der XML-Struktur gespeichert. Die Anführungszeichen sind obligatorisch und werden nicht mit übernommen.
(Makros)
In runden Klammern können beliebige infra-Makros angegeben werden (z.B. „(GV(GV_datum))“ zur Speicherung des aktuellen Tagesdatums).
Die runden Klammern sind obligatorisch und werden nicht mit übernommen.
