Actions
Externer Dokumente einlesen (Dateien über vorgegebene Liste importieren)¶
Einlesen externer Dokumente ins DMS (Dateien suchen und über Dateinamen verlinken)
Felder und Parameter in Quell-SQL:¶
Liste der zu importierenden Dokumente
&ControlFields = System-Felder als "Spalte" in SELECT aufnehmen (Status, CimRed, CimYellow, CimGreen, ImportedPDID)
:xxx = Parameter aus "Importieren"
* = Pflichtfelder
ImportSource "import" wenn leer -> pd_source
ImportID * externe ID -
ImportFile * Pfad+Dateiname -> pd_dokumentfile / pd_dmsremotefile
FileName Originaler Dateiname -> pd_dokumentfile (nicht für FileLinks)
AlternateFile Anderer Dateiname falls ImportFile nicht existiert
nur Pfad inkl. "/", nur Dateiname oder Beides
Dateiname kann * oder ? enthalten, aber es darf nur eine Datei gefunden werden
Recursive Suche in Unterverzeichnissen von AlternateFile
DestTable * Besitzer -> pd_tablename
DestDBRID * Besitzer -> pd_dbrid
DokIdent wenn leer über Trigger gefüllt -> pd_dokident
DokuType Dokumenttyp -> pd_doktype
DokuParent Pfad in Objektablage -> pd_parentnodeident
implizit über DokuType oder explizit über DokuParent
Pfad siehe Objektablage > NodeID einblenden
Caption Bezeichnung im Baum, Dateiname wenn leer -> pd_path
Description Beschreibungstext -> pd_txt
CreateDate Erstellungsdatum, heute wenn leer -> pd_date
ModifiedDate Änderungsdatum -> pd_modified
Preview als Vorschaudokument -> pd_print
Hidden ausgeblendet, import alter/gelöschter Dokumente -> pd_deletable
Archive Dokument sofort archivieren -> pd_archive
RevisionPDID Dokument revisionieren (über pd_id) -> pd_revision_id
RevisionSID Dokument revisionieren (über SourceID) -> pd_revision_id
LinkFile Datei nur verlinken [BOOL / VARCHAR = FileName, vorm Verlinken umbenennen/verschieben]
DeleteFile Datei nach Import löschen [BOOL]
RenameFile Datei nach Import umbennen [BOOL = *.imported / VARCHAR = NewFileName, mit Pfad = verschieben]
Parameter in Update-SQL:¶
Weitere Updates für jedes importierte Dokument (nach dem Import)
z.B. manuelle Verschlagwortung und Änderungen an den Zieldatensätzen.
:ImportID
:DokuDBRID (picndoku.dbrid)
:DokumentID (pd_id)
&DestTable (pd_tablename als Makro)
:DestTable (pd_tablename)
:DestDBRID (pd_dbrid)
:DokIdent (pd_dokident)
:DokuType (pd_doktype)
:RevisionID (pd_revision_id)
Parameter aus "Importieren"
Felder aus dem SourceSQL
Jedes importierte Dokument bekommt automatisch ein Schlüsselwort mit der ImportID, für spätere Suchen und Rückverfolgung.Neue Imports prüfen, ob das Dokument bereit importiert wurde (ImportID existiert).
- Bei Problemen entweder die Prüfung deaktivieren (Dropdown am Prüfen- und Importknopf)
- oder andere ImportIDs verwenden (Prefix)
Das Schlüsselwort "ImportID" an der picndoku wird von diesem Importmodul verwendet.
ImportID mit z.B. einem anderem Prefix oder an allen anderen Tabellen können frei verwendet werden, um beispielsweise den Dokumentbesitzer (DestTable/DestDBRID) aus einem vorherrigen Tabellenimport zu finden.
ImportIDs¶
-- Alle importierten Dokumente
SELECT pd_id, pd_path FROM picndoku JOIN recnokeyword ON r_dbrid = picndoku.dbrid WHERE /*r_tablename = 'picndoku' AND*/ r_kategorie = 'ImportID';
-- Alles Importierte
SELECT * FROM recnokeyword WHERE /*r_tablename = 'picndoku' AND*/ r_kategorie = 'ImportID';
-- "Überall" suchen
SELECT DestTable, DestDBRID
FROM (
SELECT 'art'::VARCHAR AS DestTable, dbrid AS DestDBRID FROM art
UNION SELECT 'adk', dbrid FROM adk
UNION SELECT 'lifsch', dbrid FROM lifsch
UNION SELECT 'picndoku', dbrid FROM picndoku
) AS x
JOIN recnokeyword ON x.DestDBRID = r_dbrid AND r_kategorie = 'ImportID' AND r_descr = :ImportID
-- ID speichern
SELECT TSystem.CreateKeyword('ImportID', :TableName, :ImportID, :TableDBRID, NULL, NULL);
Beispiele für Quell-SQL und Update-SQL¶
SELECT
('TestA' || pd_id)::VARCHAR AS ImportID,
pd_dokumentfile AS ImportFile,
'art' AS DestTable,
art.dbrid AS DestDBRID,
&ControlFields
FROM picndoku
JOIN art ON ak_nr = 'ART2'
WHERE pd_dmsremotefile IS NULL
AND (pd_dokumentfile ILIKE 'C:\%' OR pd_dokumentfile ILIKE 'H:\%')
UPDATE &DestTable SET irgendwas WHERE dbrid = :DestDBRID;
SELECT CreateRecNoKeyword(:DestTable, :DokIdent, :DokuDBRID);
Updated by [E] Frank S over 4 years ago · 5 revisions