use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(DoFn Do qquote);
use Dbase::Globals qw(content);
use Fehler qw(problem);
use Loader qw(line_in log_update);

# Darf nur verändert werden wenn rrd_typ nicht 1 = COUNTER
# ansonsten hat es immer denn Wert 1
sub set_messtyp_snmp_faktor($;$$) {
    my ( $idi, $kn, $wert ) = @_;

    my $snmp_faktor = $wert;
    unless ( defined $snmp_faktor ) {
        content( $snmp_faktor = line_in 'SNMP Faktor: ' )
          or return;
    }

    return problem( qq(Das ist kein gültiger Faktor (Dezimalformat).) )
      if $snmp_faktor !~ /^\d+(?:.\d+)?\z/ and $snmp_faktor ne '-';

    $snmp_faktor = $snmp_faktor eq '-' ? '1' : qquote $snmp_faktor;
    return $snmp_faktor unless defined $idi;

    log_update mess_typ => id => $idi, undef, 'snmp_faktor', undef,
        DoFn("SELECT snmp_faktor FROM mess_typ WHERE id = $idi");
    Do("UPDATE mess_typ SET snmp_faktor = $snmp_faktor WHERE id = $idi");
}

1;
