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