MT 204 Financial Markets Direct Debit Message金融市场直接借记电文

MT 204 Financial Markets Direct Debit Message金融市场直接借记电文

注意:使用此电文需要在电文用户组(MUG)注册。

MT204 电文范围

此电文由一家交易所或者清算所或者另一家金融机构发给一家SWIFT成员或者子成员,指示收报行借记电文中指定的第三方的账户,并且支付或者贷记电文中发报行相关的金额。

MT204 电文格式

MT204由两个序列组成:

序列A是公共元素-偿付细节,是一个单事件序列,包含序列B中描述的所有单个交易以及偿付总金额等有效默认信息。

序列B是交易详情,是一个重复序列。每个事件都给出一个借记相关的详细信息。

状态

域名

中文域名

定义

内容/选项

序号

注意事项

第一个序列

M

20

Transaction Reference Number

交易编号

发报行生成,唯一标识电文

16x

1

不能以“/”开头或者结束,不能出现连续的两个“/”

M

19

Sum of Amounts

总额

电文中每个事件的32B域的总额

17d

1

 

M

30

Value Date

起息日

电文中所有交易的起息日

6!n

2

 

M

57a

Account With Institution

账户行

标识资金将被转出的金融机构。

A, B, or D

A: [/1!a][/34x]
4!a2!a2!c[3!c]

B:[/1!a][/34x]
[35x]

D: [/1!a][/34x]
4*35x

11

 

M

58a

Beneficiary Institution

受益行

汇款行指定的最终收款行

A or D

A:[/1!a][/34x]
4!a2!a2!c[3!c]

D:[/1!a][/34x]
4*35x

12

 

O

72

Sender to Receiver Information

附加信息

 

6*35x

6

 

第二个序列

M

20

Transaction Reference Number

交易编号

发报行生成,唯一标识电文

16x

7

不能以“/”开头或者结束,不能出现连续的两个“/”

O

21

Related Reference

相关编号

交易相关的编号

16x

8

 

M

32B

Currency Code, Amount

币种、金额

转移的资金的币种、金额

6!n3!a15d

9

日期:YYMMDD

币种:ISO 4217

M

53a

Debit Institution

借记机构

标识交易金额即将要借记的金融机构

A, B, or D

A: [/1!a][/34x]
4!a2!a2!c[3!c]

B:[/1!a][/34x]
[35x]

D: [/1!a][/34x]
4*35x

 

 

O

72

Sender to Receiver Information

附加信息

 

6*35x

13

 

MT204网络校验规则

C1:19域的金额必须等于所有事件32B域金额之和。

C2:电文中所有事件的32B域的币种都必须相同。

C3:重复序列最多出现10次。

MT204使用规则

此电文需要执行特别程序,其使用手双方当事人之间的双边协议管辖。为了发送和接收此电文,感兴趣的客户需要正式请求SWIFT在FIN的子程序组(用于控制电文的使用)中激活。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个Java程序需要定义三个类:学生类、借记卡类和图书馆类。其中,学生类包含学生的姓名和学号等信息;借记卡类包含卡号、学生、已借阅的图书和已借阅的图书数量等信息;图书馆类包含图书馆中所有的书籍信息。下面是一个简单的Java代码示例: ``` import java.util.ArrayList; import java.util.List; import java.util.Random; class Student { private String name; private String id; public Student(String name, String id) { this.name = name; this.id = id; } public String getName() { return name; } public String getId() { return id; } } class Book { private String name; public Book(String name) { this.name = name; } public String getName() { return name; } } class Library { private List<Book> books; public Library() { books = new ArrayList<>(); } public void addBook(Book book) { books.add(book); } public boolean containsBook(Book book) { return books.contains(book); } } class DebitCard { private int cardID; private Student stu; private List<Book> books; private int bookNum; public DebitCard(Student stu) { Random random = new Random(); this.cardID = random.nextInt(900) + 100; this.stu = stu; this.books = new ArrayList<>(); } public void borrowBook(Book book, Library library) throws BookNotExistException { if (library.containsBook(book)) { books.add(book); bookNum = books.size(); System.out.println(stu.getName() + "借到了" + book.getName()); } else { throw new BookNotExistException("没有借到" + book.getName()); } } @Override public String toString() { return "DebitCard{" + "借记卡号:" + cardID + ", 已借阅图书:" + books + ", 已借阅图书数量:" + bookNum + '}'; } } class BookNotExistException extends Exception { public BookNotExistException(String message) { super(message); } } public class Main { public static void main(String[] args) { Student student = new Student("张三", "001"); Book book1 = new Book("Java编程思想"); Book book2 = new Book("Java核心技术"); Library library = new Library(); library.addBook(book1); library.addBook(book2); DebitCard debitCard = new DebitCard(student); try { debitCard.borrowBook(book1, library); debitCard.borrowBook(book2, library); debitCard.borrowBook(new Book("C++ Primer"), library); } catch (BookNotExistException e) { System.out.println(e.getMessage()); } System.out.println(debitCard); } } ``` 在这个程序中,我们首先定义了三个类:学生类、图书类和借记卡类。然后我们创建了一个图书馆对象,并向其中添加了两本书。接着,我们创建了一个学生对象和一个借记卡对象,并将学生对象传递给借记卡对象的构造方法中。最后,我们调用借记卡对象的borrowBook方法来借阅图书,并捕获了可能抛出的异常。如果借阅成功,则输出“***借到了***书”,否则输出“****没有借到****书”。最后,我们输出了借记卡对象的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值