Zitat geschrieben von vnt
... das Problem an der Sache ist, dass MP alle übertragenen Felder in den Verwendungszweck packt und mit Doppelleerzeichen trennt. Gleichzeitig besteht aber auch die Möglichkeit, dass der Buchungstext ebenfalls ein Doppelleerzeichen enthält
...
Im moneyplex-XML-Format sieht man, dass aus dem Mehrzweckfeld (86) des MT940-Datensatzes der Verwendungszweck exportiert wird. Es werden alle mit ?20 -?29 und ?60 -?63 markierten Subfelder zusammengefasst und dabei die Markierungen in Doppelleerzeichen umgewandelt. Das ist schlecht für den Erhalt der Struktur/Subfelder, wenn wirklich ein Doppelleerzeichen im Text vorkommt. Will man den kompletten Verwendungszweck in die benutzten Subfelder aufgeteilt haben, kann man die im MT940-Format exportierten Buchungen verwenden und dann die (markierten Sub-)Felder zeilenweise ausgeben mit:
Code
grep '^:86' Buchungen.940 | sed 's/.*?20/?20/' | sed 's/?2./\n/g' | sed 's/?6./\n/g' |sed 's/?30.*$//'
Es funktioniert nicht, wenn kein Subfeld benutzt wurde. Bei Buchungen meines ISPs sehe ich, dass der "Auftraggeber:" nicht wie üblich in einem eigenen Subfeld steht.
Ich sehe auch Subfelder mit mehr als 27 Zeichen, was lt. Spezifikation nicht sein sollte, Ob die Bank das so übertragen hat, sehe ich natürlich nicht.
Aber vielleicht hilft der bash-Einzeiler trotzdem, um die gewünschten Felder bei gängigen Buchungen zu separieren.
Aus dem exportierten MT940-Format bekommt man die Buchungstypen mit:
Code
grep '^:86' Buchungen.940 | sed 's/.*?2[0-9]//' |sed 's/.*?6[0-3]//' |sed 's/?.*$//' |sort -u