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

sub set_person_gebtag($;$) {
	my($pers,$kn) = @_;

	my $gebtag = line_in "Geburtstag (JJJJ-MM-TT / MM-TT): ";
	return undef if $gebtag eq "";
	if($gebtag eq "-") {
		$gebtag = "NULL";
	} elsif($gebtag eq "--") {
		$gebtag = "NULL";
		log_update("person","id",$pers,undef,"gebjahr",undef,
			DoFn("select gebjahr from person where id=$pers"));
		Do("update person set gebjahr=NULL where id=$pers");
	} else {
		return problem "'$gebtag' ist kein Datum (MM-TT)" unless $gebtag =~ /^(?:(\d\d\d?\d?)-)?(\d\d?)-(\d\d?)$/;
		$gebtag = $2*100+$3;
		if($1) {
			log_update("person","id",$pers,undef,"gebjahr",undef,
				DoFn("select gebjahr from person where id=$pers"));
			Do("update person set gebjahr=$1 where id=$pers");
		}
	}
	log_update("person","id",$pers,undef,"gebtag",undef,
		DoFn("select gebtag from person where id=$pers"));
	Do("update person set gebtag=$gebtag where id=$pers");
}

1;
