=head4 set_perso_monat_ist

C<set_perso_monat_ist( Monat Person [Prompt] )>

Ändert die Iststundenzahl 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_ist($$;$) {
	my($monat,$id,$kn) = @_;
	return undef unless valid_person($id);

	my $zeit = select_date(2+64+256,"Stunden");
	return undef unless defined $zeit;
	$zeit="NULL" if $zeit eq '-';

	my $ozeit = DoFn("select ist from persomonat where person=$id and monat =$monat") || 0;

	log_update("persomonat","monat",$monat,"person",$id,undef,"ist",undef,
		iso_intervall($ozeit,4));
	Do("update persomonat set diff=diff+$zeit-$ozeit, ist=$zeit where person=$id and monat=$monat");
	Do("update perso set ueberstunde=ueberstunde+$zeit-$ozeit");
	print "...Ueberstunden angepasst.\n";
}
1;
