Revision 642565a3
Von Moritz Bunkus vor 11 Monaten hinzugefügt
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
MT940-Import: Ende-zu-Ende-ID extrahieren & in bank_transactions.end_to_end_id speichern