Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 642565a3

Von Moritz Bunkus vor 11 Monaten hinzugefügt

  • ID 642565a34de3ad9f4fc1c78ce86851f377d982a0
  • Vorgänger 78061e54
  • Nachfolger 9c0429ad

MT940-Import: Ende-zu-Ende-ID extrahieren & in bank_transactions.end_to_end_id speichern

Unterschiede anzeigen:

SL/MT940.pm
($from..$to);
}
sub _extract_end_to_end_id {
my ($parts) = @_;
foreach my $value (values %{ $parts }) {
if ($value =~ m{^(?:endtoend:|eref\+) *(.+)}i) {
my $id = $1;
return $id =~ m{notprovided}i ? undef : $id;
}
}
return undef;
}
sub parse {
my ($class, $file_name, %params) = @_;
......
my ($separator, $rest) = ($1, $2);
my %parts = map { ((substr($_, 0, 2) // '0') * 1 => substr($_, 2)) } split quotemeta($separator), $rest;
$transaction{end_to_end_id} = _extract_end_to_end_id(\%parts);
$transaction{purpose} = join ' ', grep({ $_ ne '' } _join_entries(\%parts, 20, 29), _join_entries(\%parts, 60, 63));
$transaction{remote_name} = _join_entries(\%parts, 32, 33, '');
$transaction{remote_bank_code} = $parts{30};

Auch abrufbar als: Unified diff