Revision bf2dd76f
Von Moritz Bunkus vor 4 Monaten hinzugefügt
SL/MT940.pm | ||
---|---|---|
23 | 23 |
($from..$to); |
24 | 24 |
} |
25 | 25 |
|
26 |
sub _extract_end_to_end_id { |
|
27 |
my ($parts) = @_; |
|
28 |
|
|
29 |
foreach my $value (values %{ $parts }) { |
|
30 |
if ($value =~ m{^(?:endtoend:|eref\+) *(.+)}i) { |
|
31 |
my $id = $1; |
|
32 |
return $id =~ m{notprovided}i ? undef : $id; |
|
33 |
} |
|
34 |
} |
|
35 |
|
|
36 |
return undef; |
|
37 |
} |
|
38 |
|
|
26 | 39 |
sub parse { |
27 | 40 |
my ($class, $file_name, %params) = @_; |
28 | 41 |
|
... | ... | |
117 | 130 |
my ($separator, $rest) = ($1, $2); |
118 | 131 |
my %parts = map { ((substr($_, 0, 2) // '0') * 1 => substr($_, 2)) } split quotemeta($separator), $rest; |
119 | 132 |
|
133 |
$transaction{end_to_end_id} = _extract_end_to_end_id(\%parts); |
|
120 | 134 |
$transaction{purpose} = join ' ', grep({ $_ ne '' } _join_entries(\%parts, 20, 29), _join_entries(\%parts, 60, 63)); |
121 | 135 |
$transaction{remote_name} = _join_entries(\%parts, 32, 33, ''); |
122 | 136 |
$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