=head4 set_perso_monat_ueberstundenlimit

C<set_perso_monat_ueberstundenlimit( Monat Person [Prompt] )>

Ändert das Überstundenueberstundenlimit für eine Person+Monat.

=cut

use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(Do DoFn);
use Dbase::Globals qw(iso_intervall);
use Loader qw(select_date log_update valid_person);

sub set_perso_monat_ueberstundenlimit($$;$) {
	my($monat,$pers,$kn) = @_;
	return undef if $pers and not valid_person($pers);

	my $zeit = select_date(2+64,"Überstundenlimit",undef,qw(- löschen));
	return undef unless defined $zeit;
	$zeit="NULL" if $zeit eq "-";

	my $sel = $pers ? "person=$pers" : "person IS NULL";
	$sel .= " AND monat=$monat";
	my $ozeit = DoFn("select ueberstundenlimit from persomonat where $sel") || 0;

	log_update("persomonat","monat",$monat,"person",$pers||0,undef,"ueberstundenlimit",undef,
		iso_intervall($ozeit,4));
	Do("update persomonat set ueberstundenlimit=$zeit where $sel");
}
1;
