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