610 ELO-DMS ankoppeln » Historie » Version 17
[X] Marcus F, 12.01.2022 13:15
1 | 1 | [X] Daniel S | h1. ELO |
---|---|---|---|
2 | |||
3 | 15 | [X] Daniel S | {{toc}} |
4 | |||
5 | 16 | [X] Marcus F | h2. Ablauf |
6 | 1 | [X] Daniel S | |
7 | 16 | [X] Marcus F | * PRODAT: Dokument Druck -> Dokument hat keine @pd_external_dms_id@ -> Erscheint im Elo View @TDMS.External_DMS__get_Documents@ -> wird angenommen -> Elo Tool schreibt ID zurück (siehe Abschnitt 'Einlesetool seitens Elo') |
8 | * PRODAT: Dokument oder Schlagwort wird geändert -> erscheint über Flag "Änderung" (@pd_external_dms_updated@ @pd_external_dms_changed@) in View -> Elo Tool schreibt Übernahme zurück mit Aktualisierungsdatum |
||
9 | 17 | [X] Marcus F | * Administration: PRODAT Systemprogramme > Einstellungen DMS > Dokumenttypen Feld @dt_external_dms_dokutype@ enthält den Namen des Dokumenttypen |
10 | ** Dokumente mit Inhalt für @dt_external_dms_dokutype@ werden für externes DMS abrufbar durch View @TDMS.External_DMS__get_Documents@ |
||
11 | 16 | [X] Marcus F | |
12 | 1 | [X] Daniel S | h3. Algorithmus |
13 | 5 | [X] Daniel S | |
14 | 16 | [X] Marcus F | * Eingangs- und Ausgangsrechung > Anbindung ELO und Ablauf |
15 | 10 | [X] Marcus F | * #9153: ELO: PRODAT-DMS Strukturerweiterungen: Externe DMS Id, Spalte(n) für Änderungsstatus |
16 | 12 | [X] Marcus F | ** #9154: ELO: Abfrage / Funktion: gib mir alle geänderten PRODAT-Dokumente + Schlagworte @TDMS.External_DMS__get_Documents@ |
17 | 11 | [X] Marcus F | ** @dt_external_dms_dokutype@ ODER @pd_external_dms_id@ muss angegeben sein |
18 | 13 | [X] Marcus F | * #9491: ELO: Zusatzinformationen zum Dokument @tdms.picndoku__fetch__metadata@ : Out Adresskurzname, Auftrags-Nr/Bestell-Nr |
19 | 10 | [X] Marcus F | * #9155: ELO: Funktion, welche die ELO-ID an PRODAT zurückgibt |
20 | * #9164: ELO: Funktion, welche die Änderungsübernahme in PRODAT zurückschreibt |
||
21 | 5 | [X] Daniel S | |
22 | 1 | [X] Daniel S | h2. Funktionen und Bsp-Aufrufe |
23 | |||
24 | 4 | [X] Daniel S | #9145 |
25 | 3 | [X] Daniel S | |
26 | 14 | [X] Daniel S | |
27 | * <pre><code class="sql">SELECT * FROM TDMS.External_DMS__get_Documents WHERE is_updated_or_new; </code></pre> |
||
28 | 2 | [X] Daniel S | + Ansatz: bei Änderung von Schlagwort oder am Dokument wird @TIMESTAMP "pd_external_dms_updated"@ gesetzt |
29 | + alle neuen oder geänderten Dokumente |
||
30 | + Änderung von Schlagwort, Änderung |
||
31 | + @(pd_external_dms_updated IS NOT NULL OR pd_external_dms_id IS NULL) AS is_updated_or_new@ |
||
32 | 1 | [X] Daniel S | * TDMS.External_DMS__get_Keywords(pd_id) |
33 | * TDMS.External_DMS__set_ID(pd_id, external_id) |
||
34 | 2 | [X] Daniel S | + ELO-ID an PRODAT DMS |
35 | + Achtung, @TDMS.External_DMS__reset_Updated(pd_id)@ muß aufgerufen werden, wenn vollständig (zB Keyowrds noch übernommen) |
||
36 | 1 | [X] Daniel S | * TDMS.External_DMS__reset_Updated(pd_id) |
37 | 2 | [X] Daniel S | + @TIMESTAMP "pd_external_dms_updated"@ wird zurückgesetzt (NULL) |
38 | 1 | [X] Daniel S | |
39 | Achtung: Zugriff des ELO nur über DMS-User "ELO". |
||
40 | Mindestens TDMS.External_DMS__set_ID und TDMS.External_DMS__reset_Updated müssen mit DMS-User ausgeführt werden. |
||
41 | |||
42 | |||
43 | 7 | [E] Frank S | <pre><code class="sql"> |
44 | 9 | [X] Marcus F | SELECT -- Beispielaufruf |
45 | * |
||
46 | FROM |
||
47 | TDMS.external_dms__get_documents JOIN LATERAL tdms.picndoku__fetch__metadata(pd_id) ON true |
||
48 | JOIN LATERAL tdms.external_dms__adk(picndoku__fetch__metadata->>'adkrz') ON true |
||
49 | WHERE is_updated_or_new |
||
50 | </code></pre> |
||
51 | |||
52 | |||
53 | <pre><code class="sql"> |
||
54 | 7 | [E] Frank S | SELECT * FROM TDMS.External_DMS__get_Documents; -- "geänderte" Dokumente auslesen ... |
55 | SELECT * FROM TDMS.External_DMS__get_Documents WHERE is_updated_or_new; |
||
56 | SELECT * FROM TDMS.External_DMS__get_Documents WHERE is_updated_or_new AND pd_external_dms_id IS NOT NULL; |
||
57 | SELECT * FROM TDMS.External_DMS__get_Documents WHERE pd_external_dms_id = "external_id"; |
||
58 | SELECT TDMS.External_DMS__set_ID(pd_id, "external_id"); -- externe ID speichern |
||
59 | SELECT TDMS.External_DMS__reset_Updated(pd_id); -- Änderungsstatus zurücksetzen |
||
60 | SELECT * FROM TDMS.External_DMS__get_Keywords(pd_id); -- Schlüsselworte auslesen |
||
61 | SELECT TDMS.External_DMS__get_RemoteFilename(pd_id, True); -- "internen" Dateinamen auslesen (siehe auch TDMS.External_DMS__get_Documents pd_dmsremotefile) |
||
62 | 1 | [X] Daniel S | |
63 | 7 | [E] Frank S | --TDMS.External_DMS__get_Documents |
64 | pd_external_dms_id, -- document ID in external DMS |
||
65 | pd_external_dms_updated, -- last changed at |
||
66 | pd_external_dms_changed, -- what has changed (file, annotation, recinfo, keyword) |
||
67 | is_updated_or_new, -- . |
||
68 | is_linked, -- document is linked |
||
69 | pd_dmsremotefile, -- internal file name |
||
70 | |||
71 | pd_revision_id, -- revision (related documents with the same ID) |
||
72 | pd_revision_count, -- count of revisions |
||
73 | pd_revision_pos, -- position in revisions |
||
74 | pd_revision_pdids, -- list of all pd_id of this revision |
||
75 | pd_deletable, -- hidden / deleted (e.g. older revision) |
||
76 | pd_dmscomment, -- has comment/stamp/annotaions on file |
||
77 | |||
78 | pd_id, -- document ID in PRODAT |
||
79 | pd_path, -- caption |
||
80 | pd_txt, -- comment |
||
81 | pd_doktype, -- document type (classification) |
||
82 | pd_external_doktype, -- different from pd_doktype if document type changed, but file has not been moved yet |
||
83 | pd_tablename, pd_dbrid, pd_dokident, -- owner |
||
84 | pd_source, -- file origin (print, scan, file, camera, bi, image, ...) |
||
85 | pd_date, -- date of printing or import |
||
86 | pd_modified -- modified date</code></pre> |
||
87 | </code></pre> |
||
88 | 5 | [X] Daniel S | |
89 | h2. Weitere Funktionen |
||
90 | |||
91 | * TDMS.External_DMS__adk(IN VARCHAR) > Adressdaten, IN: Adresskurzname aus PRODAT (adk) |
||
92 | + Kundennummer > a1_knr |
||
93 | + Lieferantennummer > a2_knr |
||
94 | + AdresseName (Für Ordner) > adressename |
||
95 | 15 | [X] Daniel S | |
96 | h2. Einlesetool seitens Elo |
||
97 | |||
98 | Das Dienstprogramm "" liest permanent die Schnittstelle aus und überträgt die Daten ins ELO. |
||
99 | |||
100 | # Die Anwendung läuft auf: |
||
101 | # Log-Dateien sind zu finden unter: |
||
102 | # Die Konfiguration (IP des Servers) ist angegeben in der Config-File / über die Startparameter: |
||
103 | # Die Anwendung wird neu gestartet, indem: |