Beispiel - FILECAPTURE
- Former user (Deleted)
Owned by Former user (Deleted)
Feb. 06, 2017
2 min read
Loading data...
Erläuterung
In diesem Beispiel wird der erste und einzige Dateiname im Dokument auf einzelne Indexfelder aufgeteilt. Die Trennung der Feldwerte im Dateinamen erfolgt auf Grund von Unterstrichen über Stringbearbeitung. Das Feld jahrdekade wird zusätzlich in zwei Elemente (jahr und dekade) aufgesplittet.
Das Skript prüft zudem die Gültigkeit der extrahierten Werte und bricht die Verarbeitung ggf. ab.
Beispiel-Dateiname:
201403_00752954_140720_0213_Mustermann AG_1004_0000805549.pdf
Implementierung
Das Skript wird in einem PreProcessing Skript-Schema im FILECAPTURE Agent definiert und später im WARP ausgeführt.
Siehe auch:
Skript
// ------------------------------------------------------------------------------ // Init // ------------------------------------------------------------------------------ g_jahr := ''; h_dekade := ''; d_belnr := ''; e_beldat := ''; f_intnum := ''; i_liefna := ''; a_buchkreis := ''; c_kundnr := ''; // ------------------------------------------------------------------------------ // Dateiname aus Blob // ------------------------------------------------------------------------------ if ccDocument.GetBlobCount = 1 then begin FileName := ExtractFileName(ccDocument.GetFileName(0)); // ------------------------------------------------------------------------------ // Dateinamen zerpflücken // ------------------------------------------------------------------------------ jahrdekade := copy(FileName,1,pos('_',FileName)-1); delete(FileName,1,pos('_',FileName)); g_jahr := copy(jahrdekade, 1, 4); h_dekade := copy(jahrdekade, 5, 2); d_belnr := copy(FileName,1,pos('_',FileName)-1); delete(FileName,1,pos('_',FileName)); e_beldat := copy(FileName,1,pos('_',FileName)-1); delete(FileName,1,pos('_',FileName)); f_intnum := copy(FileName,1,pos('_',FileName)-1); delete(FileName,1,pos('_',FileName)); i_liefna := copy(FileName,1,pos('_',FileName)-1); delete(FileName,1,pos('_',FileName)); a_buchkreis := copy(FileName,1,pos('_',FileName)-1); delete(FileName,1,pos('_',FileName)); c_kundnr := FileName; // ------------------------------------------------------------------------------ // Variablen in Felder übernehmen // ------------------------------------------------------------------------------ ccDocument.SetFieldValue('g_jahr', g_jahr); ccDocument.SetFieldValue('h_dekade', h_dekade); ccDocument.SetFieldValue('d_belnr', d_belnr); ccDocument.SetFieldValue('e_beldat', e_beldat); ccDocument.SetFieldValue('f_intnum', f_intnum); ccDocument.SetFieldValue('i_liefna', i_liefna); ccDocument.SetFieldValue('a_buchkreis', a_buchkreis); ccDocument.SetFieldValue('c_kundnr', c_kundnr); // ------------------------------------------------------------------------------ // Inhaltsprüfung // ------------------------------------------------------------------------------ if (length(g_jahr) = 4) and (length(h_dekade) = 2) and (length(d_belnr) = 8) and (length(e_beldat) = 6) and (length(f_intnum) = 5) and (length(a_buchkreis) = 4) then begin ccDocument.AllowProcessing := true; end else begin ccDocument.AllowProcessing := false; WriteLog('Indexdaten entsprechen nicht den Vorgaben!'); end; end else begin ccDocument.AllowProcessing := false; WriteLog('Das Dokument enthält mehr oder weniger als 1 Datei!'); end; // ------------------------------------------------------------------------------ // eof