-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathAggregateBalancePerSafekeepingPlace21.go
112 lines (85 loc) · 4.68 KB
/
AggregateBalancePerSafekeepingPlace21.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package iso20022
// Net position of a segregated holding, in a single security, within the overall position held in a securities account at a specified place of safekeeping.
type AggregateBalancePerSafekeepingPlace21 struct {
// Place where the securities are safe-kept, physically or notionally. This place can be, for example, a local custodian, a Central Securities Depository (CSD) or an International Central Securities Depository (ICSD).
SafekeepingPlace *SafekeepingPlaceFormat3Choice `xml:"SfkpgPlc"`
// Market(s) on which the security is listed.
PlaceOfListing *MarketIdentification3Choice `xml:"PlcOfListg,omitempty"`
// Total quantity of financial instruments of the balance.
AggregateBalance *Balance1 `xml:"AggtBal"`
// Price of the financial instrument in one or more currencies.
PriceDetails []*PriceInformation5 `xml:"PricDtls"`
// Information needed to process a currency exchange or conversion.
ForeignExchangeDetails []*ForeignExchangeTerms14 `xml:"FXDtls,omitempty"`
// Specifies the number of days used for calculating the accrued interest amount.
DaysAccrued *Number `xml:"DaysAcrd,omitempty"`
// Valuation amounts provided in the base currency of the account.
AccountBaseCurrencyAmounts *BalanceAmounts1 `xml:"AcctBaseCcyAmts"`
// Valuation amounts provided in the currency of the financial instrument.
InstrumentCurrencyAmounts *BalanceAmounts1 `xml:"InstrmCcyAmts,omitempty"`
// Valuation amounts provided in another currency than the base currency of the account.
AlternateReportingCurrencyAmounts *BalanceAmounts1 `xml:"AltrnRptgCcyAmts,omitempty"`
// Breakdown of the aggregate quantity reported into significant lots, for example, tax lots.
QuantityBreakdown []*QuantityBreakdown24 `xml:"QtyBrkdwn,omitempty"`
// Breakdown of the aggregate balance per meaningful sub-balances and availability.
BalanceBreakdown []*SubBalanceInformation6 `xml:"BalBrkdwn,omitempty"`
// Provides additional instrument sub-balance information on all or parts of the reported financial instrument (unregistered, tax exempt, etc.).
AdditionalBalanceBreakdown []*AdditionalBalanceInformation6 `xml:"AddtlBalBrkdwn,omitempty"`
// Provides additional information on the holding.
HoldingAdditionalDetails *Max350Text `xml:"HldgAddtlDtls,omitempty"`
}
func (a *AggregateBalancePerSafekeepingPlace21) AddSafekeepingPlace() *SafekeepingPlaceFormat3Choice {
a.SafekeepingPlace = new(SafekeepingPlaceFormat3Choice)
return a.SafekeepingPlace
}
func (a *AggregateBalancePerSafekeepingPlace21) AddPlaceOfListing() *MarketIdentification3Choice {
a.PlaceOfListing = new(MarketIdentification3Choice)
return a.PlaceOfListing
}
func (a *AggregateBalancePerSafekeepingPlace21) AddAggregateBalance() *Balance1 {
a.AggregateBalance = new(Balance1)
return a.AggregateBalance
}
func (a *AggregateBalancePerSafekeepingPlace21) AddPriceDetails() *PriceInformation5 {
newValue := new(PriceInformation5)
a.PriceDetails = append(a.PriceDetails, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace21) AddForeignExchangeDetails() *ForeignExchangeTerms14 {
newValue := new(ForeignExchangeTerms14)
a.ForeignExchangeDetails = append(a.ForeignExchangeDetails, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace21) SetDaysAccrued(value string) {
a.DaysAccrued = (*Number)(&value)
}
func (a *AggregateBalancePerSafekeepingPlace21) AddAccountBaseCurrencyAmounts() *BalanceAmounts1 {
a.AccountBaseCurrencyAmounts = new(BalanceAmounts1)
return a.AccountBaseCurrencyAmounts
}
func (a *AggregateBalancePerSafekeepingPlace21) AddInstrumentCurrencyAmounts() *BalanceAmounts1 {
a.InstrumentCurrencyAmounts = new(BalanceAmounts1)
return a.InstrumentCurrencyAmounts
}
func (a *AggregateBalancePerSafekeepingPlace21) AddAlternateReportingCurrencyAmounts() *BalanceAmounts1 {
a.AlternateReportingCurrencyAmounts = new(BalanceAmounts1)
return a.AlternateReportingCurrencyAmounts
}
func (a *AggregateBalancePerSafekeepingPlace21) AddQuantityBreakdown() *QuantityBreakdown24 {
newValue := new(QuantityBreakdown24)
a.QuantityBreakdown = append(a.QuantityBreakdown, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace21) AddBalanceBreakdown() *SubBalanceInformation6 {
newValue := new(SubBalanceInformation6)
a.BalanceBreakdown = append(a.BalanceBreakdown, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace21) AddAdditionalBalanceBreakdown() *AdditionalBalanceInformation6 {
newValue := new(AdditionalBalanceInformation6)
a.AdditionalBalanceBreakdown = append(a.AdditionalBalanceBreakdown, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace21) SetHoldingAdditionalDetails(value string) {
a.HoldingAdditionalDetails = (*Max350Text)(&value)
}