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