use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_in log_view warn_arbeit strip_kn
		set_umrechnung_info set_umrechnung_faktor
		set_umrechnung_ziel flip_umrechnung_rec
		list_umrechnung delete_umrechnung);
use Dbase::Help qw(DoFn);
use Dbase::Globals qw(name_dienst);
use Fehler qw(report_fehler problem);

sub edit_umrechnung($;$) {
	my($dien,$kn) = @_;

	return problem "Diesen Datensatz gibt es nicht"
		unless DoFn("select count(*) from tarifeq where dienst = $dien");

	$kn = strip_kn($kn)."Umrechnung_".name_dienst($dien);
	my $work = warn_arbeit("umrechnung",$dien,"*",$kn);

	tarifeq: while(1) {
		my $act = line_in "$kn >",4; last if $act eq "";
		
		if($act eq "?") {
			print <<'END';
l  auflisten
i  Infostring setzen        f  Faktor ändern
r  rekursiv-Flag toggeln    z  Zieldienst ändern

del löschen
END
			next;
		}
		if($act eq "H") { log_view($kn,"umrechnung","dienst",$dien); next; }
		if($act eq "i") { set_umrechnung_info($dien,$kn); next; }
		if($act eq "f") { set_umrechnung_faktor($dien,$kn); next; }
		if($act eq "z") { set_umrechnung_ziel($dien,$kn); next; }
		if($act eq "r") { flip_umrechnung_rec($dien,$kn); next; }
		if($act eq "l") { list_umrechnung($dien,$kn); next; }
		if($act eq "del") { return unless delete_umrechnung($dien,$kn); next; }
		print "Aktion '$act' kenne ich nicht.\n";
		next; fehler: report_fehler(4);
	}
	$dien;
}
1;
