-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathAggregateBalancePerSafekeepingPlace25.go
128 lines (97 loc) · 5.27 KB
/
AggregateBalancePerSafekeepingPlace25.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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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 AggregateBalancePerSafekeepingPlace25 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"`
// Choice between formats for the entity to which the financial instruments are pledged.
Pledgee *PledgeeFormat1Choice `xml:"Pldgee,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"`
// Specifies the underlying business area/type of trade causing the collateral movement.
ExposureType *ExposureType12Choice `xml:"XpsrTp,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 *AggregateBalancePerSafekeepingPlace25) AddSafekeepingPlace() *SafekeepingPlaceFormat3Choice {
a.SafekeepingPlace = new(SafekeepingPlaceFormat3Choice)
return a.SafekeepingPlace
}
func (a *AggregateBalancePerSafekeepingPlace25) AddPlaceOfListing() *MarketIdentification3Choice {
a.PlaceOfListing = new(MarketIdentification3Choice)
return a.PlaceOfListing
}
func (a *AggregateBalancePerSafekeepingPlace25) AddPledgee() *PledgeeFormat1Choice {
a.Pledgee = new(PledgeeFormat1Choice)
return a.Pledgee
}
func (a *AggregateBalancePerSafekeepingPlace25) AddAggregateBalance() *Balance1 {
a.AggregateBalance = new(Balance1)
return a.AggregateBalance
}
func (a *AggregateBalancePerSafekeepingPlace25) AddPriceDetails() *PriceInformation5 {
newValue := new(PriceInformation5)
a.PriceDetails = append(a.PriceDetails, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace25) AddForeignExchangeDetails() *ForeignExchangeTerms14 {
newValue := new(ForeignExchangeTerms14)
a.ForeignExchangeDetails = append(a.ForeignExchangeDetails, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace25) SetDaysAccrued(value string) {
a.DaysAccrued = (*Number)(&value)
}
func (a *AggregateBalancePerSafekeepingPlace25) AddAccountBaseCurrencyAmounts() *BalanceAmounts1 {
a.AccountBaseCurrencyAmounts = new(BalanceAmounts1)
return a.AccountBaseCurrencyAmounts
}
func (a *AggregateBalancePerSafekeepingPlace25) AddInstrumentCurrencyAmounts() *BalanceAmounts1 {
a.InstrumentCurrencyAmounts = new(BalanceAmounts1)
return a.InstrumentCurrencyAmounts
}
func (a *AggregateBalancePerSafekeepingPlace25) AddAlternateReportingCurrencyAmounts() *BalanceAmounts1 {
a.AlternateReportingCurrencyAmounts = new(BalanceAmounts1)
return a.AlternateReportingCurrencyAmounts
}
func (a *AggregateBalancePerSafekeepingPlace25) AddQuantityBreakdown() *QuantityBreakdown24 {
newValue := new(QuantityBreakdown24)
a.QuantityBreakdown = append(a.QuantityBreakdown, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace25) AddExposureType() *ExposureType12Choice {
a.ExposureType = new(ExposureType12Choice)
return a.ExposureType
}
func (a *AggregateBalancePerSafekeepingPlace25) AddBalanceBreakdown() *SubBalanceInformation6 {
newValue := new(SubBalanceInformation6)
a.BalanceBreakdown = append(a.BalanceBreakdown, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace25) AddAdditionalBalanceBreakdown() *AdditionalBalanceInformation6 {
newValue := new(AdditionalBalanceInformation6)
a.AdditionalBalanceBreakdown = append(a.AdditionalBalanceBreakdown, newValue)
return newValue
}
func (a *AggregateBalancePerSafekeepingPlace25) SetHoldingAdditionalDetails(value string) {
a.HoldingAdditionalDetails = (*Max350Text)(&value)
}