use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_in log_update edit_recheinheit
	set_recheinheit_start set_recheinheit_name);
use Fehler qw(problem);
use Dbase::Help qw(Do DoFn qquote);
use Dbase::Globals qw(content);

sub add_recheinheit($$;$) {
	my($sid,$typ,$kn) = @_;

    content ( my $name = set_recheinheit_name(undef) ) or return;
	content ( my $start = set_recheinheit_start(undef) ) or return;

	if(DoFn("select id from recheinheit where rechstep=$sid and typ=${\qquote $typ} and name=${\qquote $name}")) {
		return problem "Eine Einheit '$name' gibt es hier bereits.";
	}
	if(DoFn("select id from recheinheit where rechstep=$sid and typ=${\qquote $typ} and start=$start")) {
		return problem "Eine Einheit ab '$start' gibt es hier bereits.";
	}

	my $id = Do("insert into recheinheit set name=${\qquote $name}, rechstep=$sid, typ=${\qquote $typ}, info=${\qquote $name}, start=$start, faktor=$start");
	log_update("recheinheit","id",$id,undef,"*");
	log_update("rechstep","id",$sid,undef,"recheinheit","typ","name","*",undef,$typ,$name,$id);
	edit_recheinheit($id,$kn);
}
1;
