Fuege Optima hinzu

This commit is contained in:
2024-12-06 15:31:59 +01:00
parent af3b6fb343
commit 325ecbe3ea
7 changed files with 33234 additions and 0 deletions

BIN
Optima/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,383 @@
import com.dvelop.d3.server.Document
import com.dvelop.d3.server.core.D3Interface
import com.dvelop.d3.server.exceptions.SQLException
import com.dvelop.d3.server.exceptions.D3Exception
import groovy.transform.Field
D3Interface d3 = getProperty( "d3" );
@Field prg = "anlegen_equipm_akten.groovy";
@Field version = "0.1";
@Field kunde = "Optima";
//////////////////////////////////////////////////////////////////////////////////////////
// debug:
// 0 => es finden Änderungen am Datenbestand statt
// 1 => es finden keine Änderungen am Datenbestand statt
@Field debug = 0;
// Dokumente pro Durchlauf
// Gibt an, wie viele Dokumente maximal pro Durchlauf verarbeitet werden
@Field dokumente_pro_durchlauf = 1000000;
//////////////////////////////////////////////////////////////////////////////////////////
def debugtext;
switch ( debug )
{
case 0:
debugtext = "ausgeschaltet";
break;
default:
debugtext = "eingeschaltet (keine Aenderungen am Datenbestand)";
break;
}
def aktengruppe = ['AG101', 'AG102', 'AG103'];
//def aktengruppe = ['Projektorganisation', 'Spezifikation', 'Technik'];
def ag_sortmap = [ "AG101":"50", "AG102":"60", "AG103":"70" ];
def ua_sortmap = [ "AK029":"51", "AK007":"52", "AK008":"53", "AK016":"54", "AK003":"55", "AK024":"61", "AK012":"62", "AK013":"63", "AK028":"64", "AK006":"71", "AK018":"72", "AK015":"73", "AK001":"74", "AK020":"75", "AK023":"76", "AK019":"77" ];
xlog( d3, 4, "********************************************************" );
xlog( d3, 4, "* Programm : " + prg );
xlog( d3, 4, "* Version : " + version );
xlog( d3, 4, "* Kunde : " + kunde );
xlog( d3, 4, "* geschrieben von : calb / d.velop AG" );
xlog( d3, 4, "* (c) d.velop AG " );
xlog( d3, 4, "********************************************************" );
xlog( d3, 4, "Parameter: " );
xlog( d3, 4, "* Debug : " + debugtext );
xlog( d3, 4, "* Dokumente pro Durchlauf : " + dokumente_pro_durchlauf );
xlog( d3, 4, "********************************************************" );
def sqlQuery = "select top " + dokumente_pro_durchlauf + " doku_id, dok_dat_feld_9 from firmen_spezifisch where kue_dokuart = 'AEQUI'";
resultRows = d3.sql.executeAndGet( (String) sqlQuery );
if ( resultRows.size() > 0 )
{
xlog( d3, 4, " Es wurden " + resultRows.size() + " Treffer gefunden." );
xlog( d3, 4, "********************************************************" );
def i = 0;
def allesgut = true;
for ( i = 0; i < resultRows.size(); i++ )
{
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmentakte Doku-ID " + resultRows[ i ].doku_id + " / E-Nr. " + resultRows[ i ].dok_dat_feld_9 );
xlog( d3, 4, "*************************************" );
// Lade Equipment:
def eq_akte = d3.archive.getDocument( resultRows[ i ].doku_id );
// Lege die Aktengruppe-Akten an:
def doku_id_eq;
aktengruppe.each
{
//xlog( d3, 3, "Nr. " + (i+1) + ": Aktengruppe. " + it );
// Prüfen, ob diee Aktengruppe bereits für dieses Equipment existiert
xlog( d3, 4, "Nr. " + (i+1) + ": pruefe: Equpmentaktegruppe | DDF16 = " + it + " | DDF9 = " + eq_akte.field[ 9 ] );
def STATEMENT_1 = "select doku_id from firmen_spezifisch where kue_dokuart = 'AEQE1' and dok_dat_feld_9 = '" + eq_akte.field[ 9 ] + "' and dok_dat_feld_16 = '" + it + "'";
xlog( d3, 5, "Nr. " + (i+1) + ": " + STATEMENT_1 );
def ergebnis_1 = d3.sql.executeAndGet( STATEMENT_1 );
if ( ergebnis_1.size() == 0 )
{
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmentaktengruppe. " + it + " existiert nicht. Lege Aktengruppe an ..." )
Document neue_akte = d3.archive.newDocument();
neue_akte.type = "AEQE1";
neue_akte.status = Document.DocStatus.DOC_STAT_RELEASE;
//neue_akte.editor = "d3tadm";
neue_akte.field[ 9 ] = eq_akte.field[ 9 ]; // Equipmentnummer
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmentnummer : " + neue_akte.field[ 9 ] );
neue_akte.field[ 22 ] = eq_akte.field[ 22 ]; // Kundennummer
xlog( d3, 4, "Nr. " + (i+1) + ": Kundennummer : " + neue_akte.field[ 22 ] );
neue_akte.field[ 36 ] = eq_akte.field[ 36 ]; // Linie
xlog( d3, 4, "Nr. " + (i+1) + ": Linie : " + neue_akte.field[ 36 ] );
neue_akte.field[ 12 ] = eq_akte.field[ 12 ]; // Netzplan_Nr
xlog( d3, 4, "Nr. " + (i+1) + ": Netzplan_Nr : " + neue_akte.field[ 12 ] );
neue_akte.field[ 19 ] = eq_akte.field[ 19 ]; // Projekt-Nr
xlog( d3, 4, "Nr. " + (i+1) + ": Projekt-Nr : " + neue_akte.field[ 19 ] );
neue_akte.field[ 2 ] = eq_akte.field[ 2 ]; // PSP-Element
xlog( d3, 4, "Nr. " + (i+1) + ": PSP-Element : " + neue_akte.field[ 2 ] );
neue_akte.field[ 1 ] = eq_akte.field[ 1 ]; // SAP-Status
xlog( d3, 4, "Nr. " + (i+1) + ": SAP-Status : " + neue_akte.field[ 1 ] );
neue_akte.field[ 40 ] = eq_akte.field[ 40 ]; // Beschreibung
xlog( d3, 4, "Nr. " + (i+1) + ": Beschreibung : " + neue_akte.field[ 40 ] );
neue_akte.field[ 28 ] = eq_akte.field[ 28 ]; // Buchungskreis
xlog( d3, 4, "Nr. " + (i+1) + ": Buchungskreis : " + neue_akte.field[ 28 ] );
neue_akte.field[ 35 ] = eq_akte.field[ 35 ]; // Equipmenttyp
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmenttyp : " + neue_akte.field[ 35 ] );
neue_akte.field[ 23 ] = eq_akte.field[ 23 ]; // Kunden_Name
xlog( d3, 4, "Nr. " + (i+1) + ": Kunden_Name : " + neue_akte.field[ 23 ] );
neue_akte.field[ 37 ] = eq_akte.field[ 37 ]; // Submission
xlog( d3, 4, "Nr. " + (i+1) + ": Submission : " + neue_akte.field[ 37 ] );
neue_akte.field[ 3 ] = eq_akte.field[ 3 ]; // Prozess
xlog( d3, 4, "Nr. " + (i+1) + ": Prozess : " + neue_akte.field[ 3 ] );
neue_akte.field[ 16 ] = it; // Aktengruppe
xlog( d3, 4, "Nr. " + (i+1) + ": Aktengruppe : " + it );
neue_akte.field[ 30 ] = ag_sortmap[ it ] ; // Sortierreihenfolge
xlog( d3, 4, "Nr. " + (i+1) + ": Sortierreihenfolge : " + neue_akte.field[ 30 ] );
//xlog( d3, 4, "Nr. " + (i+1) + ": Setze Mehrfachfelder Regionalorganisation und Intercompany ..." );
for ( int j = 1; j <= Integer.valueOf( d3.config.value( "CUR_60er_FIELD_NR" ) ); j++ )
{
neue_akte.field[ 68 ][ j ] = eq_akte.field[ 68 ][ j ]; // Intercompany
neue_akte.field[ 67 ][ j ] = eq_akte.field[ 67 ][ j ]; // Regionalorganisation
}
xlog( d3, 4, "Nr. " + (i+1) + ": Setze Mehrfachfelder Regionalorganisation und Intercompany => fertig." );
allesgut = true;
try
{
if ( debug == 0 )
{
neue_akte = d3.archive.importDocument( neue_akte );
xlog( d3, 4, "Nr. " + (i+1) + ": Aktengruppe. " + it + " angelegt mit Doku-ID " + neue_akte.id() );
doku_id_eq = neue_akte.id();
}
else
{
xlog( d3, 3, "Nr. " + (i+1) + ": keine Aktenanlage, da DEBUG-Modus eingeschaltet. " );
}
}
catch ( D3Exception e )
{
xlog( d3, 2, "Nr. " + (i+1) + ": Akte konnte nicht angelegt werden: " + e.message )
allesgut = false;
}
}
else
{
xlog( d3, 3, "Nr. " + (i+1) + ": Aktengruppe " + it + " existiert mit Doku-ID " + ergebnis_1[ 0 ].doku_id + ". Keine Aktion erforderlich." )
doku_id_eq = ergebnis_1[ 0 ].doku_id;
}
if ( allesgut )
{
xlog( d3, 4, "Nr. " + (i+1) + ": Doku_id Equipmentaktengruppe: " + doku_id_eq );
xlog( d3, 4, "*************************************" );
// Lege nun die Unterakten an:
// Feststellen, welche Unterakten angelegt werden müssen:
def STATEMENT_2 = "select dok_dat_feld_26 from firmen_spezifisch where kue_dokuart = 'aafol' and dok_dat_feld_45 = 'DEQUI' and dok_dat_feld_48 = '" + it + "' ";
def ergebnis_2 = d3.sql.executeAndGet( STATEMENT_2 );
if ( ergebnis_2.size() > 0 )
{
for ( int m = 0; m < ergebnis_2.size(); m++ )
{
xlog( d3, 4, "Nr. " + (i+1) + ": pruefe: Equpmentunterakte | DDF16 = " + it + " | DDF9 = " + eq_akte.field[ 9 ] + " | DDF48 = " + ergebnis_2[ m ].dok_dat_feld_26 );
// Feststellen, ob die Unterakte bereits existiert
def STATEMENT_3 = " select doku_id from firmen_spezifisch where kue_dokuart = 'AEQE2' and dok_dat_feld_16 = '" + it + "' and dok_dat_feld_9 = '" + eq_akte.field[ 9 ] + "' and dok_dat_feld_48 = '" + ergebnis_2[ m ].dok_dat_feld_26 + "'";
xlog( d3, 5, "Nr. " + (i+1) + ": Statement zum Test ob Unterakte existiert: " + STATEMENT_3 );
def ergebnis_3 = d3.sql.executeAndGet( STATEMENT_3 );
if ( ergebnis_3.size() == 0 )
{
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmentunterakte " + it + " / " + ergebnis_2[ m ].dok_dat_feld_26 + " existiert nicht. Lege Equipmentunterakte an ..." )
Document eua = d3.archive.newDocument();
eua.type = "AEQE2";
//eua.status = Document.DocStatus.DOC_STAT_PROCESSING;
eua.status = Document.DocStatus.DOC_STAT_RELEASE;
//eua.editor = "d3tadm";
eua.field[ 9 ] = eq_akte.field[ 9 ]; // Equipmentnummer
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmentnummer : " + eq_akte.field[ 9 ] );
eua.field[ 16 ] = it; // Aktengruppe
xlog( d3, 4, "Nr. " + (i+1) + ": Aktengruppe : " + it );
eua.field[ 48 ] = ergebnis_2[ m ].dok_dat_feld_26; // Akte
xlog( d3, 4, "Nr. " + (i+1) + ": Akte : " + ergebnis_2[ m ].dok_dat_feld_26 );
eua.field[ 30 ] = ua_sortmap[ ergebnis_2[ m ].dok_dat_feld_26 ] ; // Sortierreihenfolge
xlog( d3, 4, "Nr. " + (i+1) + ": Sortierreihenfolge: " + eua.field[ 30 ] );
try
{
if ( debug == 0 )
{
eua = d3.archive.importDocument( eua );
xlog( d3, 4, "Nr. " + (i+1) + ": Equipmentunterakte " + eua.field[ 16 ] + " / Akte " + eua.field[ 48 ] + " angelegt mit Doku-ID " + eua.id() );
}
else
{
xlog( d3, 3, "Nr. " + (i+1) + ": keine Aktenanlage, da DEBUG-Modus eingeschaltet. " );
}
}
catch ( D3Exception e )
{
xlog( d3, 2, "Nr. " + (i+1) + ": Equipmentunterakte konnte nicht angelegt werden: " + e.message )
}
xlog( d3, 4, "***************************" );
}
else
{
xlog( d3, 3, "Nr. " + (i+1) + ": Kombination existiert bereits mit Doku-ID " + ergebnis_3[ 0 ].doku_id );
}
}
}
else
{
xlog( d3, 2, "Nr. " + (i+1) + ": keine Unterakten fuer " + it + " gefunden." );
}
}
xlog( d3, 4, "*************************************" );
}
}
xlog( d3, 4, "*************************************************" );
}
def xlog( D3Interface d3, int loglevel, String logtext )
{
def logdatei = "d:\\d3\\logs\\" + prg + ".txt";
def g_loglevel = 4;
def g_logdirect = "BEIDE";
def date = new Date();
def zeitstempel = date.format( "yyyy.MM.dd HH:mm:ss", TimeZone.getTimeZone('CET') );
def loglevel_lang = "[INFO ]";
if ( loglevel <= g_loglevel )
{
switch ( loglevel )
{
case 1:
loglevel_lang = "[FATAL]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.critical( logtext );
}
break;
case 2:
loglevel_lang = "[ERROR]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.error( logtext );
}
break;
case 3:
loglevel_lang = "[WARN ]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.warn( logtext );
}
break;
case 4:
loglevel_lang = "[INFO ]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.info( logtext );
}
break;
case 5:
loglevel_lang = "[DEBUG]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.debug( logtext );
}
break;
}
if ( ( g_logdirect == "DATEI" ) || ( g_logdirect == "BEIDE" ) )
{
new File( logdatei ).append( zeitstempel + " " + loglevel_lang + " " + logtext + "\n", "UTF8" );
}
return 0;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
Anlegen von Aktenstrukturen
In der Equipmentakte gibt es aktuell die Struktur
Equipmentakte
=> Equipmentdokument
Hier sollen zwei weitere Zwischenebenen eingezogen werden. Dies erledigt dieses Skript.

View File

@@ -0,0 +1 @@
Dieses Skript soll Dokumenteigenschaften basierend auf einer CSV-Datei ändern. Durch die Änderung wird das Dokument dann auch im Aktenplan umgehangen, aber das ist nicht Thema des Skripts.

View File

@@ -0,0 +1,273 @@
import com.dvelop.d3.server.Document
import com.dvelop.d3.server.core.D3Interface
import com.dvelop.d3.server.exceptions.SQLException
import com.dvelop.d3.server.exceptions.D3Exception
import groovy.transform.Field
D3Interface d3 = getProperty( "d3" );
@Field prg = "verkn_equipm_dokumente.groovy";
@Field version = "0.1";
@Field kunde = "Optima";
//////////////////////////////////////////////////////////////////////////////////////////
// debug:
// 0 => es finden Änderungen am Datenbestand statt
// 1 => es finden keine Änderungen am Datenbestand statt
@Field debug = 0;
// Dokumente pro Durchlauf
// Gibt an, wie viele Dokumente maximal pro Durchlauf verarbeitet werden
@Field dokumente_pro_durchlauf = 10;
// CSV-Datei, enthält die Zuordnungen von Dokumentgruppe zu Akte
// Wird erwartet ohne Spaltenüberschriften. Sollte aber auch kein Problem sein, wenn welche drin wären.
@Field CSV_FILE = "D:\\d3\\d3server.prg\\ext_groovy\\mapping_equipm_dokumente.csv"
//////////////////////////////////////////////////////////////////////////////////////////
def debugtext;
switch ( debug )
{
case 0:
debugtext = "ausgeschaltet";
break;
default:
debugtext = "eingeschaltet (keine Aenderungen am Datenbestand)";
break;
}
xlog( d3, 4, "********************************************************" );
xlog( d3, 4, "* Programm : " + prg );
xlog( d3, 4, "* Version : " + version );
xlog( d3, 4, "* Kunde : " + kunde );
xlog( d3, 4, "* geschrieben von : calb / d.velop AG" );
xlog( d3, 4, "* (c) d.velop AG " );
xlog( d3, 4, "********************************************************" );
xlog( d3, 4, "Parameter: " );
xlog( d3, 4, "* Debug : " + debugtext );
xlog( d3, 4, "* Dokumente pro Durchlauf : " + dokumente_pro_durchlauf );
xlog( d3, 4, "* CSV-Datei : " + CSV_FILE );
xlog( d3, 4, "********************************************************" );
xlog( d3, 4, "* Lese CSV-Datei: " );
def csvanzahl = 0; // Wie viele Zeilen sind in der CSV-Datei enthalten
def csvdatei = new File( CSV_FILE );
def csvzeilen = csvdatei.readLines().collect{ it.split( ";" ) };
csvzeilen.each{ csvanzahl++; xlog( d3, 5, "* Zeile " + csvanzahl + ": " + it ); }
xlog( d3, 4, "* " + csvanzahl + " Zeilen gelesen." )
xlog( d3, 4, "********************************************************" );
def sqlQuery = "select top " + dokumente_pro_durchlauf + " doku_id, dok_dat_feld_9, dok_dat_feld_21 from firmen_spezifisch where kue_dokuart = 'DEQUI' and dok_dat_feld_48 is null";
resultRows = d3.sql.executeAndGet( (String) sqlQuery );
if ( resultRows.size() > 0 )
{
xlog( d3, 4, " Es wurden " + resultRows.size() + " Treffer gefunden." );
xlog( d3, 4, "********************************************************" );
def i = 0;
def allesgut = true;
def allesgut_2 = true;
for ( i = 0; i < resultRows.size(); i++ )
{
xlog( d3, 4, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": Equipmentdokument Doku-ID " + resultRows[ i ].doku_id + " / E-Nr. " + resultRows[ i ].dok_dat_feld_9 + " / Dokumentgruppe " + resultRows[ i ].dok_dat_feld_21 );
// Lade das Dokument
equidok = d3.archive.getDocument( resultRows[ i ].doku_id );
def gefunden = false;
// DDF21 => Dokumentgruppe
// DDF48 => Akte
// Suche in den CSV-Daten:
csvzeilen.each
{
if ( it[ 0 ] == equidok.field[ 21 ] )
{
gefunden = true;
// Setze Akte:
xlog( d3, 4, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": setze Akte " + it[ 2 ] + " bei Dokument " + resultRows[ i ].doku_id );
equidok.field[ 48 ] = it[ 2 ];
// Wenn neue Dokumentgruppe verschieden ist von alter Dokumentgruppe, dann ändere Dokumentgruppe:
if ( it[ 0 ] != it[ 1 ] )
{
xlog( d3, 4, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": Dokumentgruppe bei Dokument " + resultRows[ i ].doku_id + " wird gesetzt (alt/neu) " + equidok.field[ 21 ] + " / " + it[ 1 ] );
equidok.field[ 21 ] = it[ 1 ];
}
}
}
if ( gefunden == true )
{
try
{
if ( debug == 0 )
{
equidok.updateAttributes("Master");
xlog( d3, 4, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": Dokument " + equidok.id() + " wurde aktualisiert.");
}
else
{
xlog( d3, 4, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": keine Dokumentaktualisierung, da DEBUG-Modus eingeschaltet." );
}
}
catch ( D3Exception e )
{
xlog( d3, 2, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": Equipmentdokument konnte nicht aktualisiert werden: " + e.message )
}
}
else
{
xlog( d3, 3, "Nr. " + (i+1) + "/" + resultRows[ i ].doku_id + ": Dokumentgruppe " + equidok.field[ 21 ] + " wurde nicht in der CSV-Datei gefunden.");
}
xlog( d3, 4, "*************************************" );
}
xlog( d3, 4, "*************************************************" );
}
else
{
xlog( d3, 4, "* Es wurden keine Dokumente zur Bearbeitung gefunden." );
xlog( d3, 4, "*************************************" );
}
def xlog( D3Interface d3, int loglevel, String logtext )
{
def logdatei = "d:\\d3\\logs\\" + prg + ".txt";
def g_loglevel = 5;
def g_logdirect = "BEIDE";
def date = new Date();
def zeitstempel = date.format( "yyyy.MM.dd HH:mm:ss", TimeZone.getTimeZone('CET') );
def loglevel_lang = "[INFO ]";
if ( loglevel <= g_loglevel )
{
switch ( loglevel )
{
case 1:
loglevel_lang = "[FATAL]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.critical( logtext );
}
break;
case 2:
loglevel_lang = "[ERROR]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.error( logtext );
}
break;
case 3:
loglevel_lang = "[WARN ]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.warn( logtext );
}
break;
case 4:
loglevel_lang = "[INFO ]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.info( logtext );
}
break;
case 5:
loglevel_lang = "[DEBUG]";
if ( ( g_logdirect == "D3LOG" ) || ( g_logdirect == "BEIDE" ) )
{
d3.log.debug( logtext );
}
break;
}
if ( ( g_logdirect == "DATEI" ) || ( g_logdirect == "BEIDE" ) )
{
new File( logdatei ).append( zeitstempel + " " + loglevel_lang + " " + logtext + "\n", "UTF8" );
}
return 0;
}
}

View File

@@ -0,0 +1,116 @@
2024.12.05 12:04:34 [INFO ] ********************************************************
2024.12.05 12:04:34 [INFO ] * Programm : verkn_equipm_dokumente.groovy
2024.12.05 12:04:34 [INFO ] * Version : 0.1
2024.12.05 12:04:34 [INFO ] * Kunde : Optima
2024.12.05 12:04:34 [INFO ] * geschrieben von : calb / d.velop AG
2024.12.05 12:04:34 [INFO ] * (c) d.velop AG
2024.12.05 12:04:34 [INFO ] ********************************************************
2024.12.05 12:04:34 [INFO ] Parameter:
2024.12.05 12:04:34 [INFO ] * Debug : ausgeschaltet
2024.12.05 12:04:34 [INFO ] * Dokumente pro Durchlauf : 10
2024.12.05 12:04:34 [INFO ] * CSV-Datei : D:\d3\d3server.prg\ext_groovy\mapping_equipm_dokumente.csv
2024.12.05 12:04:34 [INFO ] ********************************************************
2024.12.05 12:04:34 [INFO ] * Lese CSV-Datei:
2024.12.05 12:04:34 [DEBUG] * Zeile 1: [DG131, DG131, AK029, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 2: [DG088, DG088, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 3: [DG133, DG133, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 4: [DG089, DG089, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 5: [DG090, DG090, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 6: [DG091, DG091, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 7: [DG092, DG092, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 8: [DG093, DG093, AK007, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 9: [DG015, DG015, AK008, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 10: [DG019, DG019, AK008, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 11: [DG096, DG096, AK008, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 12: [DG116, DG116, AK008, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 13: [DG080, DG080, AK016, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 14: [DG081, DG081, AK016, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 15: [DG106, DG106, AK003, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 16: [DG035, DG035, AK003, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 17: [DG043, DG043, AK003, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 18: [DG104, DG104, AK003, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 19: [DG122, DG122, AK024, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 20: [DG054, DG054, AK012, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 21: [DG055, DG055, AK012, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 22: [DG059, DG059, AK013, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 23: [DG025, DG025, AK028, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 24: [DG129, DG129, AK028, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 25: [DG006, DG006, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 26: [DG013, DG013, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 27: [DG021, DG021, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 28: [DG037, DG037, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 29: [DG160, DG160, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 30: [DG051, DG051, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 31: [DG197, DG105, AK006, x]
2024.12.05 12:04:34 [DEBUG] * Zeile 32: [DG110, DG110, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 33: [DG117, DG117, AK006, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 34: [DG024, DG024, AK018, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 35: [DG075, DG075, AK018, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 36: [DG086, DG086, AK018, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 37: [DG001, DG001, AK015, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 38: [DG002, DG002, AK015, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 39: [DG038, DG038, AK015, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 40: [DG072, DG072, AK015, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 41: [DG073, DG073, AK015, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 42: [DG027, DG027, AK001, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 43: [DG028, DG028, AK001, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 44: [DG029, DG029, AK001, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 45: [DG042, DG042, AK020, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 46: [DG111, DG111, AK020, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 47: [DG112, DG112, AK020, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 48: [DG121, DG121, AK020, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 49: [DG192, DG016, AK023, x]
2024.12.05 12:04:34 [DEBUG] * Zeile 50: [DG195, DG016, AK023, x]
2024.12.05 12:04:34 [DEBUG] * Zeile 51: [DG188, DG018, AK023, x]
2024.12.05 12:04:34 [DEBUG] * Zeile 52: [DG189, DG033, AK023, x]
2024.12.05 12:04:34 [DEBUG] * Zeile 53: [DG076, DG076, AK023, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 54: [DG099, DG099, AK023, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 55: [DG107, DG107, AK023, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 56: [DG109, DG109, AK023, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 57: [DG113, DG113, AK023, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 58: [DG020, DG020, AK019, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 59: [DG045, DG045, AK019, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 60: [DG083, DG083, AK019, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 61: [DG100, DG100, AK019, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 62: [DG162, DG162, AK019, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 63: [DG199, DG199, AK019, ]
2024.12.05 12:04:34 [DEBUG] * Zeile 64: [DG198, DG198, AK019, ]
2024.12.05 12:04:34 [INFO ] * 64 Zeilen gelesen.
2024.12.05 12:04:34 [INFO ] ********************************************************
2024.12.05 12:04:34 [INFO ] Es wurden 10 Treffer gefunden.
2024.12.05 12:04:34 [INFO ] ********************************************************
2024.12.05 12:04:34 [INFO ] Nr. 1/T000327409: Equipmentdokument Doku-ID T000327409 / E-Nr. 26239321202 / Dokumentgruppe DG187
2024.12.05 12:04:34 [WARN ] Nr. 1/T000327409: Dokumentgruppe DG187 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 2/T000327413: Equipmentdokument Doku-ID T000327413 / E-Nr. 26239321202 / Dokumentgruppe DG191
2024.12.05 12:04:34 [WARN ] Nr. 2/T000327413: Dokumentgruppe DG191 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 3/T000498917: Equipmentdokument Doku-ID T000498917 / E-Nr. SFV0140000 / Dokumentgruppe DG192
2024.12.05 12:04:34 [INFO ] Nr. 3/T000498917: setze Akte AK023 bei Dokument T000498917
2024.12.05 12:04:34 [INFO ] Nr. 3/T000498917: Dokumentgruppe bei Dokument T000498917 wird gesetzt (alt/neu) DG192 / DG016
2024.12.05 12:04:34 [ERROR] Nr. 3/T000498917: Equipmentdokument konnte nicht aktualisiert werden: Error <-170> on updating attributes for document <T000498917>
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 4/T000498919: Equipmentdokument Doku-ID T000498919 / E-Nr. SFV0140000 / Dokumentgruppe DG190
2024.12.05 12:04:34 [WARN ] Nr. 4/T000498919: Dokumentgruppe DG190 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 5/T000498920: Equipmentdokument Doku-ID T000498920 / E-Nr. 26308571101 / Dokumentgruppe DG187
2024.12.05 12:04:34 [WARN ] Nr. 5/T000498920: Dokumentgruppe DG187 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 6/T000498968: Equipmentdokument Doku-ID T000498968 / E-Nr. SFV0140004 / Dokumentgruppe DG192
2024.12.05 12:04:34 [INFO ] Nr. 6/T000498968: setze Akte AK023 bei Dokument T000498968
2024.12.05 12:04:34 [INFO ] Nr. 6/T000498968: Dokumentgruppe bei Dokument T000498968 wird gesetzt (alt/neu) DG192 / DG016
2024.12.05 12:04:34 [ERROR] Nr. 6/T000498968: Equipmentdokument konnte nicht aktualisiert werden: Error <-170> on updating attributes for document <T000498968>
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 7/T000498970: Equipmentdokument Doku-ID T000498970 / E-Nr. 26308571102 / Dokumentgruppe DG187
2024.12.05 12:04:34 [WARN ] Nr. 7/T000498970: Dokumentgruppe DG187 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 8/T000498973: Equipmentdokument Doku-ID T000498973 / E-Nr. 26308571102 / Dokumentgruppe DG185
2024.12.05 12:04:34 [WARN ] Nr. 8/T000498973: Dokumentgruppe DG185 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 9/T000498974: Equipmentdokument Doku-ID T000498974 / E-Nr. KUG014690 / Dokumentgruppe DG187
2024.12.05 12:04:34 [WARN ] Nr. 9/T000498974: Dokumentgruppe DG187 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] Nr. 10/T000498975: Equipmentdokument Doku-ID T000498975 / E-Nr. KUG014690 / Dokumentgruppe DG185
2024.12.05 12:04:34 [WARN ] Nr. 10/T000498975: Dokumentgruppe DG185 wurde nicht in der CSV-Datei gefunden.
2024.12.05 12:04:34 [INFO ] *************************************
2024.12.05 12:04:34 [INFO ] *************************************************