-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathAccountSubLevel13.go
74 lines (57 loc) · 2.99 KB
/
AccountSubLevel13.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package iso20022
// Account and holding of the next sub-level (Level 3).
type AccountSubLevel13 struct {
// Unique and unambiguous identification for the sub-account between the account owner and the account servicer.
AccountIdentification *SecuritiesAccount19 `xml:"AcctId"`
// Party that legally owns the sub-account.
AccountOwner *PartyIdentification100 `xml:"AcctOwnr"`
// Party that manages the sub-level account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.
AccountServicer *PartyIdentification100 `xml:"AcctSvcr"`
// Individual or entity that is ultimately entitled to the benefit of income and rights in a financial instrument, as opposed to a nominal or legal owner.
BeneficialOwner []*BeneficialOwner2 `xml:"BnfclOwnr,omitempty"`
// Report on the net position of a financial instrument on the sub-account (sub-account level 3), for a certain date. The agent, for example, a trade intermediary, may also be specified.
BalanceDetails []*AggregateHoldingBalance3 `xml:"BalDtls,omitempty"`
// Holdings of level 4.
AccountSubLevel4 []*AccountSubLevel14 `xml:"AcctSubLvl4,omitempty"`
// Difference in holdings between the sub-account at level 3 and the sub-accounts of level 4.
AccountSubLevel4Difference []*AggregateHoldingBalance2 `xml:"AcctSubLvl4Diff,omitempty"`
// Additional information that cannot be captured in the structured elements and/or any other specific block.
SupplementaryData []*SupplementaryData1 `xml:"SplmtryData,omitempty"`
}
func (a *AccountSubLevel13) AddAccountIdentification() *SecuritiesAccount19 {
a.AccountIdentification = new(SecuritiesAccount19)
return a.AccountIdentification
}
func (a *AccountSubLevel13) AddAccountOwner() *PartyIdentification100 {
a.AccountOwner = new(PartyIdentification100)
return a.AccountOwner
}
func (a *AccountSubLevel13) AddAccountServicer() *PartyIdentification100 {
a.AccountServicer = new(PartyIdentification100)
return a.AccountServicer
}
func (a *AccountSubLevel13) AddBeneficialOwner() *BeneficialOwner2 {
newValue := new(BeneficialOwner2)
a.BeneficialOwner = append(a.BeneficialOwner, newValue)
return newValue
}
func (a *AccountSubLevel13) AddBalanceDetails() *AggregateHoldingBalance3 {
newValue := new(AggregateHoldingBalance3)
a.BalanceDetails = append(a.BalanceDetails, newValue)
return newValue
}
func (a *AccountSubLevel13) AddAccountSubLevel4() *AccountSubLevel14 {
newValue := new(AccountSubLevel14)
a.AccountSubLevel4 = append(a.AccountSubLevel4, newValue)
return newValue
}
func (a *AccountSubLevel13) AddAccountSubLevel4Difference() *AggregateHoldingBalance2 {
newValue := new(AggregateHoldingBalance2)
a.AccountSubLevel4Difference = append(a.AccountSubLevel4Difference, newValue)
return newValue
}
func (a *AccountSubLevel13) AddSupplementaryData() *SupplementaryData1 {
newValue := new(SupplementaryData1)
a.SupplementaryData = append(a.SupplementaryData, newValue)
return newValue
}