X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44..53593baa211863fbf66540cf1bcc36c8fb37257f:/SL/DATEV/KNEFile.pm diff --git a/SL/DATEV/KNEFile.pm b/SL/DATEV/KNEFile.pm deleted file mode 100644 index 9816ac0b7..000000000 --- a/SL/DATEV/KNEFile.pm +++ /dev/null @@ -1,93 +0,0 @@ -package SL::DATEV::KNEFile; - -use strict; - -sub new { - my $type = shift; - my $self = {}; - - bless $self, $type; - - $self->_init(@_); - - return $self; -} - -sub _init { - my $self = shift; - my %params = @_; - - map { $self->{$_} = $params{$_} } keys %params; - - $self->{remaining_bytes} = 250; - $self->{block_count} = 0; - $self->{data} = ''; -} - -sub get_data { - my $self = shift; - - return $self->{data} || ''; -} - -sub get_block_count { - my $self = shift; - - return $self->{block_count}; -} - -sub add_block { - my $self = shift; - my $block = shift; - - my $block_len = length $block; - - - $self->flush() if ($block_len > $self->{remaining_bytes}); - - $self->{data} .= $block; - $self->{remaining_bytes} -= $block_len; - - return $self; -} - -sub flush { - my $self = shift; - - if (250 == $self->{remaining_bytes}) { - return $self; - } - - my $num_zeros = 6 + $self->{remaining_bytes}; - $self->{data} .= "\x00" x $num_zeros; - - $self->{remaining_bytes} = 250; - $self->{block_count}++; - - return $self; -} - -sub format_amount { - my $self = shift; - my $amount = shift; - my $width = shift; - - $amount =~ s/-//; - my ($places, $decimal_places) = split m/\./, "$amount"; - - $places *= 1; - $decimal_places ||= 0; - - if (0 < $width) { - $width -= 2; - $places = sprintf("\%0${width}d", $places); - } - - $decimal_places .= '0' if (2 > length $decimal_places); - $amount = $places . substr($decimal_places, 0, 2); - $amount *= 1 if (!$width); - - return $amount; -} - -1;