=head1 list_zustandss

Listet eine Zustandstabelle auf.

=head2 Argumente

=over 4

=item $typ

Name der Tabelle (ohne "zustand" hintendran).

=item $kn

Standard-Prompt.

Wird hier ignoriert.

=back

=head2 Ergebnis

Nix.

=cut

use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_printer);
use Dbase::Help qw(DoSelect);
use Dbase::Globals qw(get_descr);

sub list_zustandss($;$$$) {
	my($typ,$flag,$kn,$tkn) = @_;
	$flag=0 unless defined $flag;
	my %dienst;
	my $hdr;
	my $ovon = -1;

	line_printer;

	my $res = DoSelect {
		my($von,$erkannt,$rs,$nach,$tstatus,$status) = @_;
		my $vtext = get_descr("${typ}status",$von);
		my $etext = get_descr("${typ}status",$erkannt);

		my $nvon = ($flag&1)?$erkannt:$von;
		if($nvon != $ovon) {
			$ovon = $nvon;
		} else {
			(($flag&1)?$etext:$vtext) = "";
		}

		print $Db::pr_fh <<END unless $hdr++;
R von              Event             nach             TStatus  Text
END

		goto out unless 
		printf $Db::pr_fh "%1s %-16s %-16s  %-16s %-8s %-17.17s\n",
			$rs,$vtext,$etext, $nach?get_descr("${typ}status",$nach):"-", $tstatus?get_descr("tickets",$tstatus):"-", (defined $status)?$status:"";
	} "select von,erkannt,reseller,nach,ticketstatus,statusinfo from ${typ}zustand order by ".(($flag&1)?"erkannt,von":"von,erkannt")
		or print "(leer)\n";
out:
	$res;
}
1;
