////////////////////////////////// // // Zeichnungs-Nummern ändern // // geschrieben von calb / 2018.06.15 // // (c) d.velop AG 2018 // ////////////////////////////////// ////////////////////////////////// // // Dieses Skript passt die Zeichnungs-Nummern von Verträgen an. // vars vers = "0.1 calb d.AG/PS 2018.06.15 Initialversion" // ////////////////////////////////// // Konfiguration // debug = 1 => es werden keine Änderungen an der DB durchgeführt // debug = 0 => es werden Änderungen an der DB durchgeführt vars debug = 0 ////////////////////////////////// call bkklog( 4, "*********************************************" ) call bkklog( 4, "* BKKFC_zeich_nr_aendern.jpl *" ) call bkklog( 4, "* calb/d.velop AG 15.06.2018 *" ) call bkklog( 4, "*********************************************" ) call bkklog( 4, "* " ## vers ) call bkklog( 4, "* DEBUG : " ## debug ) // Los geht's ...... call bkklog( 4, "*********************************************" ) /////////////////////////////////////////////////////////////////////// vars l_doku_id[ 1000 ] vars anzahl, i vars vertragsnr, ergebnis dbms alias l_doku_id dbms sql select p.doku_id doku_id from phys_datei p, firmen_spezifisch f where f.kue_dokuart = 'EVERT' and p.zeich_nr like 'P%' and f.doku_id = p.doku_id order by p.doku_id anzahl = @dmrowcount dbms alias for i = 1 while i <= anzahl step 1 { call bkklog( 4, i ## " bearbeite Doku-ID " ## l_doku_id[ i ] ) ergebnis = api_function( "attribute_get_single", 1, 0, l_doku_id[ i ] ) vertragsnr = api_single_info call bkklog( 4, i ## " setze Zeichnungs-Nummer des Dokuments " ## l_doku_id[ i ] ## " auf den Wert " ## vertragsnr ) if ( debug == 0 ) { call set_doc_property( l_doku_id[ i ], "doc_number", vertragsnr ) ergebnis = upd_doc_db_data( l_doku_id[ i ] ) if ( ergebnis == "1" ) { call bkklog( 4, i ## " Die Änderung wurde durchgeführt." ) } else { call bkklog( 2, i ## " Es ist ein Fehler aufgetreten, dbi_retcode: " ## dbi_retcode ) } // Kontrolle ergebnis = api_function( "attribute_get_single", "doc_no", 0, l_doku_id[ i ] ) call bkklog( 4, i ## " Ergebnis des Updates: " ## api_single_info ) } else { call bkklog( 4, i ## " debug ist eingeschaltet - es wurden keine Änderungen durchgeführt.") // Kontrolle ergebnis = api_function( "attribute_get_single", "doc_no", 0, l_doku_id[ i ] ) call bkklog( 4, i ## " Ergebnis des Updates: " ## api_single_info ) } call bkklog( 4, "--------------------------------------" ) } proc bkklog( loglevel, message ) { vars l_logdirect = "BEIDE" vars l_logdatei = "D\:\\d3\\apps\\log.txt" vars l_loglevel = 5 vars zeitstempel, loglevel_lang, d3loglevel, logmessage if ( loglevel == 5 ) { loglevel_lang = "DEBUG" // Da die d.3 Server i.d.R. nicht im Debug-Modus laufen, erscheinen DEBUG-Meldungen nicht im Log. d3loglevel = 9 } if ( loglevel == 4 ) { loglevel_lang = "INFO." d3loglevel = 6 } if ( loglevel == 3 ) { loglevel_lang = "WARN." d3loglevel = 6 } if ( loglevel == 2 ) { loglevel_lang = "ERROR" d3loglevel = 0 } if ( loglevel == 1 ) { loglevel_lang = "FATAL" d3loglevel = 0 } if ( loglevel <= l_loglevel ) { if ( ( l_logdirect == "DATEI" ) || ( l_logdirect == "BEIDE" ) ) { // Ausgabe in Datei zeitstempel = sm_sdtime( "n%4y.%0m.%0d %0h\:%0M\:%0s" ) logmessage = zeitstempel ## " " ## loglevel_lang ## " " ## message call api_function( "file_add_line", l_logdatei, logmessage, "APPEND" ) } if ( ( l_logdirect == "D3LOG" ) || ( l_logdirect == "BEIDE" ) ) { // Ausgabe im d.3 Log logmessage = loglevel_lang ## " " ## message call api_log( d3loglevel, logmessage ) } } }