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

sub set_messstelle_oid($;$) {
    my ( $idi, $kn ) = @_;
    content( my $oid_suffix= line_in 'OID Suffix: ' ) or return;

    $oid_suffix = $oid_suffix eq '-' ? 'NULL' : qquote $oid_suffix;
    return $oid_suffix unless defined $idi;

    my ($other_oid) = DoFn <<_;
SELECT id
  FROM mess_stelle
 WHERE oid_suffix = $oid_suffix
   AND snmp_host = ( SELECT snmp_host FROM mess_stelle WHERE id = $idi )
_

    return problem("Dieser OID Suffix ist schon in der Mess Stelle #$other_oid vergeben.")
      if ( defined $other_oid );

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

1;
