use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(Do DoFn);
use Loader qw(edit_kunden log_update);
use Fehler qw(warnung problem);

sub set_kunde_uebergeordnet($;$) {
	my($id,$kn) = @_;
	$kn .= " Unterkunde von";
	my $akn = edit_kunden(1+4,$kn); return unless defined $akn;
	if($akn eq "-") {
		$akn = "NULL";
		my ($mber,$oid) = DoFn("select zuletzt,kunde from kunde where id=$id");
		if( $oid && !defined $mber ) {
			my($kber) = DoFn("select zuletzt from kunde where id=$oid");
			if($kber) {
				log_update("kunde","id",$id,undef,"zuletzt",undef,0);
				Do("update kunde set zuletzt=$kber where id=$id");
				warnung "Zeitpunkt der letzten Rechnung leer: gesetzt auf $kber\n";
			}
		}
	} elsif(ist_unterkunde($id,$akn) or ist_unterkunde($akn,$id)) {
		return problem "Kunden #$id und #$akn sind schon Unterkunden voneinander!\n";
	}
	log_update("kunde","id",$id,undef,"kunde",undef,
		DoFn("select kunde from kunde where id=$id"));
	Do("update kunde set kunde=$akn, geaendert=UNIX_TIMESTAMP(NOW()) where id=$id");
}
1;
