Skip to content

mmalcek/mt940

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mt940

Parse mt940 message to struct

  • Package don't handle any logic on fields level it just simply returns struct with all fields from mt940 message as strings.

this package is developed for BaFi project

BaFi allows additional parsing on fields level and create formated output using go templates https://github.com/mmalcek/bafi

struct

type tMessage struct {
	Header       string // Message header {1:......{4:
	Fields       map[string]interface{} // :20:......, :25:......, ...
	Transactions []map[string]interface{} // []{:61:......, :86:......}
}

example

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/mmalcek/mt940"
)

func main() {
	file, err := os.ReadFile("test.sta")
	if err != nil {
		log.Fatal(err)
	}
	message, err := mt940.Parse(file)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(message.Fields["F_20"])
}
  • Parse multiple messages in one file (eg: Multicash)
messages, err := mt940.ParseMultimessage(file, "\r\n$\r\n") // message separator = "\r\n$\r\n"

About

Parse mt940 message to struct

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages