Files
d.velop/BKK Faber Castell/BKKFC_zeich_nr_aendern.jpl
2024-06-19 13:02:26 +02:00

183 lines
4.9 KiB
Plaintext

//////////////////////////////////
//
// 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 )
}
}
}