-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathAggregateBalanceInformation4.go
131 lines (98 loc) · 6.1 KB
/
AggregateBalanceInformation4.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
129
130
131
package iso20022
// Net position of a segregated holding, in a single security, within the overall position held in a securities account. A securities balance is calculated from the sum of securities' receipts minus the sum of securities' deliveries.
type AggregateBalanceInformation4 struct {
// Total quantity of financial instrument for the referenced holding.
AggregateQuantity *BalanceQuantity1Choice `xml:"AggtQty"`
// Total quantity of financial instrument for the referenced holding that is available.
AvailableQuantity *BalanceQuantity1Choice `xml:"AvlblQty,omitempty"`
// Total quantity of financial instrument for the referenced holding that is not available.
NotAvailableQuantity *BalanceQuantity1Choice `xml:"NotAvlblQty,omitempty"`
// Specifies the number of days used for calculating the accrued interest amount.
DaysAccrued *Number `xml:"DaysAcrd,omitempty"`
// Total value of a balance of the securities account for a specific financial instrument, expressed in one or more currencies.
HoldingValue []*ActiveOrHistoricCurrencyAndAmount `xml:"HldgVal,omitempty"`
// Previous total value of a balance of the securities account for a specific financial instrument, expressed in one or more currencies.
PreviousHoldingValue *ActiveOrHistoricCurrencyAndAmount `xml:"PrvsHldgVal,omitempty"`
// Interest amount that has accrued in between coupon payment periods.
AccruedInterestAmount *ActiveOrHistoricCurrencyAndAmount `xml:"AcrdIntrstAmt,omitempty"`
// Indicates whether the accrued interest is a positive or negative amount.
AccruedInterestAmountSign *PlusOrMinusIndicator `xml:"AcrdIntrstAmtSgn,omitempty"`
// Value of a security, as booked in an account. Book value is often different from the current market value of the security.
BookValue *ActiveOrHistoricCurrencyAndAmount `xml:"BookVal,omitempty"`
// 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 *SafekeepingPlaceFormatChoice `xml:"SfkpgPlc,omitempty"`
// Security held on the account for which the balance is calculated.
FinancialInstrumentDetails *FinancialInstrument13 `xml:"FinInstrmDtls"`
// Price of the financial instrument in one or more currencies.
PriceDetails []*PriceInformation2 `xml:"PricDtls,omitempty"`
// Currency exchange related to a securities order.
ForeignExchangeDetails *ForeignExchangeTerms6 `xml:"FXDtls,omitempty"`
// Net position of a segregated holding of a single security within the overall position held in a securities account, eg, sub-balance per status.
BalanceBreakdownDetails []*SubBalanceInformation2 `xml:"BalBrkdwnDtls,omitempty"`
// Net position of a segregated holding of a single security within the overall position held in a securities account, eg, sub-balance per status.
AdditionalBalanceBreakdownDetails []*AdditionalBalanceInformation2 `xml:"AddtlBalBrkdwnDtls,omitempty"`
// 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.
BalanceAtSafekeepingPlace []*AggregateBalancePerSafekeepingPlace3 `xml:"BalAtSfkpgPlc,omitempty"`
}
func (a *AggregateBalanceInformation4) AddAggregateQuantity() *BalanceQuantity1Choice {
a.AggregateQuantity = new(BalanceQuantity1Choice)
return a.AggregateQuantity
}
func (a *AggregateBalanceInformation4) AddAvailableQuantity() *BalanceQuantity1Choice {
a.AvailableQuantity = new(BalanceQuantity1Choice)
return a.AvailableQuantity
}
func (a *AggregateBalanceInformation4) AddNotAvailableQuantity() *BalanceQuantity1Choice {
a.NotAvailableQuantity = new(BalanceQuantity1Choice)
return a.NotAvailableQuantity
}
func (a *AggregateBalanceInformation4) SetDaysAccrued(value string) {
a.DaysAccrued = (*Number)(&value)
}
func (a *AggregateBalanceInformation4) AddHoldingValue(value, currency string) {
a.HoldingValue = append(a.HoldingValue, NewActiveOrHistoricCurrencyAndAmount(value, currency))
}
func (a *AggregateBalanceInformation4) SetPreviousHoldingValue(value, currency string) {
a.PreviousHoldingValue = NewActiveOrHistoricCurrencyAndAmount(value, currency)
}
func (a *AggregateBalanceInformation4) SetAccruedInterestAmount(value, currency string) {
a.AccruedInterestAmount = NewActiveOrHistoricCurrencyAndAmount(value, currency)
}
func (a *AggregateBalanceInformation4) SetAccruedInterestAmountSign(value string) {
a.AccruedInterestAmountSign = (*PlusOrMinusIndicator)(&value)
}
func (a *AggregateBalanceInformation4) SetBookValue(value, currency string) {
a.BookValue = NewActiveOrHistoricCurrencyAndAmount(value, currency)
}
func (a *AggregateBalanceInformation4) AddSafekeepingPlace() *SafekeepingPlaceFormatChoice {
a.SafekeepingPlace = new(SafekeepingPlaceFormatChoice)
return a.SafekeepingPlace
}
func (a *AggregateBalanceInformation4) AddFinancialInstrumentDetails() *FinancialInstrument13 {
a.FinancialInstrumentDetails = new(FinancialInstrument13)
return a.FinancialInstrumentDetails
}
func (a *AggregateBalanceInformation4) AddPriceDetails() *PriceInformation2 {
newValue := new(PriceInformation2)
a.PriceDetails = append(a.PriceDetails, newValue)
return newValue
}
func (a *AggregateBalanceInformation4) AddForeignExchangeDetails() *ForeignExchangeTerms6 {
a.ForeignExchangeDetails = new(ForeignExchangeTerms6)
return a.ForeignExchangeDetails
}
func (a *AggregateBalanceInformation4) AddBalanceBreakdownDetails() *SubBalanceInformation2 {
newValue := new(SubBalanceInformation2)
a.BalanceBreakdownDetails = append(a.BalanceBreakdownDetails, newValue)
return newValue
}
func (a *AggregateBalanceInformation4) AddAdditionalBalanceBreakdownDetails() *AdditionalBalanceInformation2 {
newValue := new(AdditionalBalanceInformation2)
a.AdditionalBalanceBreakdownDetails = append(a.AdditionalBalanceBreakdownDetails, newValue)
return newValue
}
func (a *AggregateBalanceInformation4) AddBalanceAtSafekeepingPlace() *AggregateBalancePerSafekeepingPlace3 {
newValue := new(AggregateBalancePerSafekeepingPlace3)
a.BalanceAtSafekeepingPlace = append(a.BalanceAtSafekeepingPlace, newValue)
return newValue
}