=head2 Änderungen

2001-09-25 smurf Änderungen-POD hinzugefügt
2001-09-25 smurf Warnung wenn Status>3 und kein Handle
2001-09-26 smurf "use Fehler" erweitert
2001-09-27 Importliste (use Fehler)

=cut

use utf8;
use strict;
use warnings; no warnings qw(redefine);
use Dbase::Help qw(DoFn);
use Dbase::Globals qw(get_descr);
use Fehler qw(problem warnung);
use Loader qw(strip_kn valid_person);

sub valid_handle($$;$$) {
	my($pers,$nic,$flag,$kn) = @_;
	$flag = 0 unless $flag;
	my $err;

	return unless valid_person($pers,1);
	return problem "NIC '$nic' gibt es nicht!\n" unless defined get_descr("nic",$nic);

	unless(DoFn("select count(*) from nic where person=$pers and nic=$nic")) {
		return 1 if $flag&16;
		return problem $kn,"Handle '$pers/$nic' gibt es nicht."
	}

	$kn = strip_kn($kn)."Handle_$pers/$nic";
	
	unless($flag & 1) {
		my($handle,$status) = DoFn("select handle,status from nic where person=$pers and nic=$nic");

		warnung "Status=$status, aber kein Handle bekannt" if $handle eq "" and $status > 3;
	}

	$err ? undef : 1;
}
1;
