use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(log_update edit_personen);
use Dbase::Help qw(Do DoFn);
use Dbase::Globals qw(kkpersinfo content);

sub set_ipnr_person($;$$$$) {
	my($idi,$kn,$feld,$rev,$pp) = @_;
	$feld = "person" unless $feld;

	my($kk,$opp) = DoFn("select kunde,$feld from ipkunde where id=$idi");
	$pp = edit_personen($kk,1+4+128,$kn) unless content $pp;
	return undef unless content $pp;
	if($pp eq "-") {
		return unless defined $opp;
		$pp = "NULL" if $pp eq "-";
	} else {
		return $pp if defined $opp and $pp == $opp;
	}

	log_update("ipkunde","id",$idi,undef,$feld,$feld,undef,$opp,kkpersinfo($opp,2));
	Do("update ipkunde set $feld=$pp where id=$idi");

	Do("update kunde set geaendert=UNIX_TIMESTAMP(NOW()) where id=$kk");

	$pp;
}
1;
