Projekt

Allgemein

Profil

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: