Einlesen externer Dokumente ins DMS » Historie » Revision 2
Revision 1 ([X] Lutz G, 27.08.2014 12:34) → Revision 2/5 ([E] Frank S, 04.09.2015 10:32)
h1. Einlesen externer Dokumente ins DMS (Aus alter Admin-Hilfe) h2. Einlesen in Dokumentenverwaltung - Grundlagen Die Dokumentenverwaltung erlaubt das automatisierte Einlesen von Dateien deren Name einem bestimmten Schema genügt, das Anhängen derselben an einen vorgegebenen Datensatz und den Zugriff auf abgelegte Dokumente über den internen Dokumentenbrowser. Alle Dokumente werden in der DB-Tabelle "picndoku" abgelegt. Eine eindeutige Zuordnung wird über den Tabellennamen und das DBRID-Feld des Datensatzes hergestellt. Um Zugriff auf die Konfigurationsoberfläche zu erhalten müssen Sie als Administrator am System angemeldet sein, wenn Sie die Dokumentenverwaltung öffnen. h3. Vorgehen Zum Konfiguration der Dokumentenverwaltung sind folgende Schritte notwendig: *1. Anlegen einer neuen Konfiguration* Über das Dropdown-Menü "Anzeigename" haben Sie Zugriff auf die im System verfügbaren Konfigurationen und können diese anpassen. Geben Sie in das Feld einen neuen Namen ein, werden Sie beim Verlassen des Feldes gefragt ob Sie einen neuen Dokumententyp konfigurieren wollen. Der gewählte Name muss eindeutig sein und wird dem Benutzer in der Oberfläche angezeigt, sollte also möglichst aussagekräftig sein. *2. Festlegen der DB-Tabelle, an deren Sätze Dokumente angehangen werden* Im nächsten Schritt geben Sie an, an welche Tabelle die eingelesenen Dokumente angehangen werden. Damit legen Sie zugleich fest wie und wo in Prodat auf die eingelesenen Dokumente zugegriffen werden kann. Dies setzt eine entsprechende Konfiguration des Dokumenten-Browsers voraus, wie sie etwa für den Einkauf, Verkauf, AVOR oder ABKs gegeben ist. Das Formular muss also bereits eine Verlinkung auf Dokumente anbieten oder entsprechend konfiguriert werden. *3. Definition von Bezeichnern für Schlüsselfelder* In diesem Schritt geben Sie im Feld "Keyfields" die Parameter an, die von der SQL-Abfrage benutzt werden und im Dateinamen als Schlüssel dienen. Jeder Eintrag muss von eckigen Klammern umschlossen sein, ein Trennzeichen wird nicht verwendet. Im Beispiel wird hier "[abix]" als Schlüssel für den Index einer ABK verwendet. Um Dokumente an Positionen einer externen Bestellung einzulesen, würde man beispielsweise zwei Schlüssel, für Auftragsnummer und Position, benutzen, etwa "[ldauftg][ldpos]". Die Einschränkung des Bestellstatus auf externe Bestellungen würde hier im SQL-Statement realisiert werden. *4.Definition eines Schemas für Dateinamen* Die in Schritt 3 definierten Parameter müssen sich hier im Dateinamen wieder finden. Beim Einlesen der Dateien werden die Parameternamen später durch den Platzhalter * ersetzt. Aus "ABK[abix]_*.txt" wird hier also "ABK*_*.txt", wobei * für 0 oder beliebig viele Zeichen steht. Bei der Verwendung mehrerer Parameter muss zwischen den Parametern mindestens ein Trennzeichen vorhanden sein. Es muss auf die Eindeutigkeit nach der Ersetzung mit * geachtet werden (siehe Beispiele). Weiterhin sollte es vermieden werden Trennzeichen zu verwenden, die im Entsprechenden DB-Feld häufig verwendet werden. Sieht eine Bestellnummer im System beispielsweise so aus "2007-11-04-NR1", ist "-" als Trennzeichen im Dateischema natürlich ungeeignet. Beispiele: *Falsch:* ABK[abix]*.txt = ABK**.txt, es ist unklar wo die Parameter zu trennen sind Best[ldauftg][ldpos].txt = Best**.txt ,ebenso Best[ldauftg]*[ldpos].txt = Best**.txt, ebenso *Richtig:* ABK[abix].txt = ABK*.txt, * ist immer Parameter abix ABK[abix]_*.* = ABK*_*.*, Alles zwischen "ABK" und "-"Stern ist immer Parameter abix Best[ldauftg]-[ldpos].txt = ...... *5. Definition eines SQL-Statements zur Selektion der Datensätze* Alle im letzten Schritt erfassten Dateien werden nach dem Einlesen zerlegt und die angegebenen Parameter ausgelesen. Diese werden in das SQL-Statement eingesetzt und bestimmen damit letztlich den Datensatz an den das Dokument angehangen werden soll. Das Statement sollte daher so verfasst sein, dass die Ergebnismenge nur einen Datensatz enthält, um eine eindeutige Zuordnung zum Dokument zu erlauben. Im angegebenen Beispiel wird dieser natürlich eindeutig bestimmt, da durch der ABK-Index im Dokumentname gegeben ist. Alle hier angegebenen Ergebnisspalten werden dem Benutzer auch angezeigt damit er kontrollieren kann ob die momentan gewählte Datei an die richtigen Daten angehangen wird. Für die Spalten sollten also alle FieldAlias-Einträge gesetzt sein. Joins und ähnliches können natürlich verwendet werden um zusätzliche Spalten zur Information des Benutzers anzuzeigen. Das DBRID-Feld der in "Tabellenbezeichnung" angegebenen DB-Tabelle wird automatisch abgefragt, muss also nicht extra angegeben werden. *6. Angabe eines Ordners in dem Dokumente intern abgelegt werden* Im hier angegebenen Ordner werden die Dokumente intern abgelegt, sind also im Dokumenten-Browser in diesem Ordner zu finden. Der hier angegebene Name muss entweder schon angelegt sein oder ein neuer Hauptordner sein. Wird also einer der Standardordner (AVOR, QS etc...) angegeben werden die Dokumente dort abgelegt. Wird ein neuer Ordnername angegeben, wird dieser angelegt, ist damit allerdings automatisch Hauptordner. Eine Ablage in einem noch nicht im System vorhandenem Unterordner "QS\Messmittel\" ist derzeit nicht möglich. Existiert der Ordner "QS\Messmittel" bereits, muss als Ablageordner "Messmittel" angegeben werden und das Dokument wird unter "QS\Messmittel" abgelegt. *7. Aktivieren der Konfiguration / Standarddokument* Der Aktivitätsstatus wird derzeit nicht verwendet und wird beim Anlegen einer Konfiguration standardmäßig auf "Wahr" gesetzt. (Ist über Hauptmenu-Einträge geregelt). Bei Aktivierung des Hakens "Standarddokument", werden alle eingelesenen Dokumente als Standarddokumente an die entsprechenden Datensätze angehangen. Ist schon ein Standarddokument vorhanden, wird dieses vorher zum normalen Dokument gemacht. Das Standarddokument wird an einigen Stellen im Programm zur Anzeige genutzt sobald auf den Datensatz zugegriffen wird. (Beispiel: Artikelverwaltung, AVOR ... ) *8. Angabe des Leseverzeichnisses / Testen* Wählen Sie zuerst eine Dokument-Konfiguration über das Dropdown-Menü aus und geben Sie hier an, in welchem Ordner nach Dateien gesucht werden soll, die dem angegebenen Schema entsprechen. * Alle Unterordner des angegebenen Suchpfades werden rekursiv durchlaufen und ebenfalls überprüft, wenn die entsprechende Optione aktiviert ist * Einzige Ausnahme sind Ordner mit dem Namen "Backup" und "Imported". Diese sind aus der Suche ausgeschlossen, da in hier nach dem Einlesen der Dateien eine Sicherheitskopie hinterlegt wird, die natürlich nicht noch einmal erfasst werden soll. * Es ist möglich nur Dateien einzulesen, deren _Änderungsdatum_ höchstens 'X Tage' zurückliegt. *9. Anlegen eines Hauptmenüpunktes* Als letzter Schritt muss ein neuer Hauptmenüpunkt angelegt werden, damit der Nutzer Zugriff auf die Formulare zum Einlesen der Dokumente bekommt. Für jeden Dokumenttyp muss ein eigener Hauptmenüpunkt definiert werden. Hierbei muss muss: | * mm_action | = 6 Doku | | * mm_library = SSYSTEM.M * mm_proc | = Anzeigename (z.B. (im Bsp: "ABK-Prüfprotokoll") | | -mm_library- | -SSYSTEM.M- | | -mm_formclassname- | -TFormDokVerwaltung- | * mm_formclassname = TFormDokVerwaltung gesetzt werden. Damit wird beim Aufrufen des Menüpunktes das Formular für diesen Dokumenttyp vorbereitet, geöffnet und die Verzeichnisse werden automatisch nach neuen Dokumenten durchsucht.