DDBAC S.W.I.F.T. Format Component Application Programmers Reference Manual.
The DDBAC SWIFT format parser component is used to decode the contents of downloaded
customer statements, interim transaction reports or a statement of holdings for an
account. In HBCI customer statements are downloaded in SWIFT MT-940 format embedded
as a transparent data blob inside a segment. Interim transaction reports are
downloaded in SWIFT MT-942 format, and statements of holdings are downloaded in
SWIFT MT-571 format. The DDBAC automatically instantiate a BACSwiftStatement object
in order to decode MT-940, a BACSwiftInterimTransactionReport object in order to
decode MT-942 data, and a BACSwiftStatementOfHoldings object in order to decode
MT-571 data. An application program accesses these objects, and thus the decoded data,
through the corresponding data element of the HBCI response segment.
It is an application object offering general methods of parsing and generating SWIFT formated strings. So unqualified access to the Application object's members is allowed.
String BACSwift::FormatSwiftNumber(
[in] Decimal nNumber);
Format a number in a string and considering the SWIFT notaition. Use this function to generate an string which you would like to insert in a SWIFT format.
Returns a string which represents the number in correct SWIFT format.
Date BACSwift::ParseDateTime(
[in] String sSourceString,
[in] String sFormat);
Extract a Date of an string which is formated in SWIFT format.
Parsed date.
Variant BACSwift::ParseSwiftNumber(
[in] String sSourceString);
Extract a Number of an string which is formated in SWIFT format.
Number as decimal.
Representation of an individual generic SWIFT field. BACSwiftField objects are
stored in the BACSwiftTextBlock::Fields collection of the BACSwiftTextBlock
object. BACSwiftField objects are not creatable and can only exist inside the
BACSwiftFields collection.
The SWIFT End-of-Text sequence is represented as a BACSwiftField object with
the BACSwiftField::Tag property being a single hyphen '-' and the
BACSwiftField::Content property being empty.
String BACSwiftField::Content;
This property holds the content data of this SWIFT field. The format rules of
the field content are defined in the SWIFT User Handbook, Standards General
Information, Chapter 5: "Field Structure".
If this field represents an End-of-Text marker, the Content property
is empty.
String BACSwiftField::Tag;
This property holds the SWIFT field tag. The format of a field tag is defined
in the SWIFT User Handbook, Standards General Information, Chapter 5: "Field
Structure". Each field is identified by a tag which consists of two digits, or
two digits followed by a letter option. Only the tag number and the letter
option are stored here, the delimiters are omitted. Thus, the maximum length
of this string is three characters.
If this field represents an End-of-Text marker, the Tag property
contains a single hyphen '-'.
The special value "CRLF" represent a CRLF ("\r\n") sequence.
Add this at the beginning of a SWIFT file, every SWIFT must start with CRLF!
This object contains an ordered collection of BACSwiftField objects. The BACSwiftTextBlock::Fields property of the BACSwiftTextBlock object stores an instance of this class.
IBACSwiftField* BACSwiftFields::Add(
[in] BSTR sTag,
[in] BSTR sContent,
[in] long lBeforeIndex);
Creates a new BACSwiftField object with the given property values and inserts it into this collection.
This method returns a reference to the inserted BACSwiftField object.
void BACSwiftFields::Clear();
Removes all BACSwiftField objects from this collection. Leaving an all empty collection.
long BACSwiftFields::Count;
Read only property that indicates the number of BACSwiftField objects in this collection.
IBACSwiftField* BACSwiftFields::Item(long lIndex);
Indexed read only property that provides direct access to the BACSwiftField objects in this collection.
The index must be in the range from zero through Count-1.
This property is the value property of this object.
void BACSwiftFields::Remove(
[in] long lIndex);
Removes the indicated BACSwiftField object from this collection.
The BACSwiftInterimTransactionReport object is a persistent object that contains a downloaded interim transaction report according to S.W.I.F.T. MT-942. It can only be used to parse such message, not to generate them.
BSTR BACSwiftInterimTransactionReport::AccountIdentificationCode;
This property holds the contents of the first account identification field
(SWIFT field :25:) found in the interim transaction report. If no account
identification field was present, then this is an empty string.
Usually this field contains the two subfields bank code and account number
delimited by a slash. However, not all account identification fields are
formatted in this manner, therefore the interpretation is left to the
application program.
DATE BACSwiftInterimTransactionReport::DateTimeIndicator;
This property indicates the local date and time up to which the report covers activities in the account (SWIFT field :13:). The presence of a valid date time indicator is mandatory for an interim transaction report.
CURRENCY BACSwiftInterimTransactionReport::FloorLimitAmount;
This property specifies the minimum value (transaction amount) reported in the message (SWIFT field :34F:).
BSTR BACSwiftInterimTransactionReport::FloorLimitCurrencyCode;
This property holds the three letter ISO 4217 currency code of the floor limit in FloorLimitAmount (SWIFT field :34F:).
long BACSwiftInterimTransactionReport::NumberOfCreditEntries;
This field indicates the total number of credit entries in this interim transaction report (SWIFT field :90C:). This field is optional and contains -1 if not present.
long BACSwiftInterimTransactionReport::NumberOfDebitEntries;
This field indicates the total number of debit entries in this interim transaction report (SWIFT field :90D:). This field is optional and contains -1 if not present.
BSTR BACSwiftInterimTransactionReport::RelatedReference;
This property holds the contents of the first related reference field (SWIFT field :21:) that was found in the interim transaction report. If no such field was present, then this is an empty string.
BACSwiftStatementLines BACSwiftInterimTransactionReport::StatementLines;
This property holds a collection of BACSwiftStatementLine objects that represent the individual statement lines of the interim transaction report. The details of each statement line are derived from the SWIFT fields :61: (Statement Line) and :86: (Information to Account Owner).
BSTR BACSwiftInterimTransactionReport::StatementNumber;
This property holds the contents of the first statement number/sequence number field (SWIFT field :28: or :28C:) that was found in the interim transaction report. If no such field was present, then this is an empty string.
CURRENCY BACSwiftInterimTransactionReport::SumOfCreditEntriesAmount;
This property holds the total amount of credit entries (SWIFT field :90C:). This field is optional and contains a zero value if not present.
BSTR BACSwiftInterimTransactionReport::SumOfCreditEntriesCurrencyCode;
This property holds the three letter ISO 4217 currency code of the total amount of credit entries (SWIFT field :90C:). This field is optional and contains an empty string if not present.
CURRENCY BACSwiftInterimTransactionReport::SumOfDebitEntriesAmount;
This property holds the total amount of debit entries (SWIFT field :90D:). This field is optional and contains a zero value if not present.
BSTR BACSwiftInterimTransactionReport::SumOfDebitEntriesCurrencyCode;
This property holds the three letter ISO 4217 currency code of the total amount of debit entries (SWIFT field :90D:). This field is optional and contains an empty string if not present.
BSTR BACSwiftInterimTransactionReport::TransactionReferenceNumber;
This property holds the contents of the first transaction reference number field (SWIFT field :20:) that was found in the interim transaction report. If no such field was present, then this is an empty string.
The BACSwiftStatement object is a persistent object that contains a downloaded
customer statement. It is generically useful to read customer statement messages
formatted according to S.W.I.F.T. MT-940. It cannot be used, however, to generate
such messages.
The new default interface of the BACSwiftStatement object is the new
IBACSwiftStatement2 interface. The IBACSwiftStatement2 interface is
a backward compatible extension that derives from the IBACSwiftStatement
interface. The new interface adds the TransactionReferenceNumber and
RelatedReference properties. Of course, the old IBACSwiftStatement
interface is still implemented by the BACSwiftStatement object and therefore
is completely binary compatible with existing code.
Visual Basic programms using simple BACSwiftStatement object declarations
are automatically bound to the default interface of that object at compile time.
This means that Visual Basic applications compiled with the new DDBAC will be
bound to the new IBACSwiftStatement2 interface. This means that the
compiled applications won't work with old DDBAC installations. In order to remain
backward compatible with DDBAC release 2.0.1 exactly that release must be installed
on the development machine.
C++ applications that want to access the new interface should use QueryInterface
to get the IBACSwiftStatement2 interface dynamically and fall back to
IBACSwiftStatement if this fails.
The BACSwiftStatement can be converted to an XML representation through the IBACTransmogrifer interface.
<!DOCTYPE OBJECT [ <!ELEMENT OBJECT (AccountIdentificationCode, ClosingAvailableBalanceAmount, ClosingAvailableBalanceCurrencyCode, ClosingAvailableBalanceDate, ClosingBalanceAmount, ClosingBalanceCurrencyCode, ClosingBalanceDate, OpeningBalanceAmount, OpeningBalanceCurrencyCode, OpeningBalanceDate, StatementLines)> <!ATTLIST OBJECT FORMAT CDATA #IMPLIED > <!ELEMENT AccountIdentificationCode (#PCDATA)> <!ELEMENT ClosingAvailableBalanceAmount (#PCDATA)> <!ELEMENT ClosingAvailableBalanceCurrencyCode (#PCDATA)> <!ELEMENT ClosingAvailableBalanceDate (#PCDATA)> <!ELEMENT ClosingBalanceAmount (#PCDATA)> <!ELEMENT ClosingBalanceCurrencyCode (#PCDATA)> <!ELEMENT ClosingBalanceDate (#PCDATA)> <!ELEMENT OpeningBalanceAmount (#PCDATA)> <!ELEMENT OpeningBalanceCurrencyCode (#PCDATA)> <!ELEMENT OpeningBalanceDate (#PCDATA)> <!ELEMENT StatementLines (StatementLine+)> <!ELEMENT StatementLine (ValidityDate, EntryDate, Amount, TransactionType, CustomerReference, InstitutionReference, SupplementaryDetails, Purpose, BusinessTransactionCode, BusinessTransactionText, PrimaNoteNumber, BankCode, AccountNumber, Name, TextKeySupplement, OriginalCurrencyCode, OriginalAmount, ChargesCurrencyCode, ChargesAmount)> <!ELEMENT ValidityDate (#PCDATA)> <!ELEMENT EntryDate (#PCDATA)> <!ELEMENT Amount (#PCDATA)> <!ELEMENT TransactionType (#PCDATA)> <!ELEMENT CustomerReference (#PCDATA)> <!ELEMENT InstitutionReference (#PCDATA)> <!ELEMENT SupplementaryDetails (#PCDATA)> <!ELEMENT Purpose (TEXT*)> <!ELEMENT TEXT (#PCDATA)> <!ELEMENT BusinessTransactionCode (#PCDATA)> <!ELEMENT BusinessTransactionText (#PCDATA)> <!ELEMENT PrimaNoteNumber (#PCDATA)> <!ELEMENT BankCode (#PCDATA)> <!ELEMENT AccountNumber (#PCDATA)> <!ELEMENT Name (#PCDATA)> <!ELEMENT TextKeySupplement (#PCDATA)> <!ELEMENT OriginalCurrencyCode (#PCDATA)> <!ELEMENT OriginalAmount (#PCDATA)> <!ELEMENT ChargesCurrencyCode (#PCDATA)> <!ELEMENT ChargesAmount (#PCDATA)> ]>
BSTR BACSwiftStatement::AccountIdentificationCode;
This property holds the contents of the first account identification field
(SWIFT field :25:) found in the customer statement message. If no account
identification field was present, then this is an empty string. If multiple
account identification fields were encountered, only the contents of the first
field that was encountered are considered.
Usually this field contains the two subfields bank code and account number
delimited by a slash. However, not all account identification fields are
formatted in this manner, therefore the interpretation is left to the
application program.
CURRENCY BACSwiftStatement::ClosingAvailableBalanceAmount;
This property holds the actual amount of the final closing available balance of this customer statement (SWIFT field :64:). The presence of a closing available balance is optional for a customer statement message. If it is not present, then the value of this field is identical to ClosingBalanceAmount.
BSTR BACSwiftStatement::ClosingAvailableBalanceCurrencyCode;
This property holds the three letter ISO 4217 currency code of the final closing available balance of this customer statement (SWIFT field :64:). The presence of a closing available balance is optional for a customer statement message. If it is not present, then the value of this field is identical to ClosingBalanceCurrencyCode.
DATE BACSwiftStatement::ClosingAvailableBalanceDate;
This property holds the date of the final closing available balance of this customer statement (SWIFT field :64:). The presence of a closing available balance is optional for a customer statement message. If it is not present, then the value of this field is identical to ClosingBalanceDate.
CURRENCY BACSwiftStatement::ClosingBalanceAmount;
This property holds the actual amount of the final closing balance of this customer statement (SWIFT field :62F:). The presence of a valid closing balance is mandatory for a customer statement message. This value is negative if the balance is a debit balance.
BSTR BACSwiftStatement::ClosingBalanceCurrencyCode;
This property holds the three letter ISO 4217 currency code of the final closing balance of this customer statement (SWIFT field :62F:). The presence of a valid closing balance is mandatory for a customer statement message.
DATE BACSwiftStatement::ClosingBalanceDate;
This property holds the date of the final closing balance of this customer statement (SWIFT field :62F:). The presence of a valid closing balance is mandatory for a customer statement message.
CURRENCY BACSwiftStatement::OpeningBalanceAmount;
This property holds the actual amount of the opening balance of this customer statement (SWIFT field :60F:). The presence of a valid opening balance is mandatory for a customer statement message. This value is negative if the balance is a debit balance.
BSTR BACSwiftStatement::OpeningBalanceCurrencyCode;
This property holds the three letter ISO 4217 currency code of the opening balance of this customer statement (SWIFT field :60F:). The presence of a valid opening balance is mandatory for a customer statement message.
DATE BACSwiftStatement::OpeningBalanceDate;
This property holds the date of the opening balance of this customer statement (SWIFT field :60F:). The presence of a valid opening balance is mandatory for a customer statement message.
BSTR BACSwiftStatement::RelatedReference;
This property holds the contents of the first related reference field (SWIFT field :21:) that was found in the customer statement message. If no such field was present, then this is an empty string.
This property is implemented in the IBACSwiftStatement2 interface.
BACSwiftStatementLines BACSwiftStatement::StatementLines;
This property holds a collection of BACSwiftStatementLine objects that represent the individual statement lines. The details of each statement line are derived from the SWIFT fields :61: (Statement Line) and :86: (Information to Account Owner).
BSTR BACSwiftStatement::StatementNumber;
This property holds the contents of the first statement number/sequence number field (SWIFT field :28: or :28C:) that was found in the customer statement message. If no such field was present, then this is an empty string. If multiple statement number fields were encountered, only the contents of the first field that was encountered are considered.
BSTR BACSwiftStatement::TransactionReferenceNumber;
This property holds the contents of the first transaction reference number field (SWIFT field :20:) that was found in the customer statement message. If no such field was present, then this is an empty string.
This property is implemented in the IBACSwiftStatement2 interface.
A customer statement may contain an arbitrary number of statement lines. Each
statement line contains the details of a single transaction. An application
accesses these details through the properties of this object.
There is a IBACSwiftStatementLine2 interface that derives from the
IBACSwiftStatementLine interface. And another IBACSwiftStatementLine3
interface that derives from IBACSwiftStatementLine2.
The IBACSwiftStatementLine2 interface adds the EquivalentCurrencyCode and
EquivalentAmount properties. Of course, the old IBACSwiftStatementLine
interface is still implemented by the BACSwiftStatementLine object and
therefore is completely binary compatible with existing code. The
IBACSwiftStatementLine3 interface adds the CurrencyCode property.
The default interface of the BACSwiftStatementLine object is the new
IBACSwiftStatementLine3 interface.
Visual Basic programms using simple BACSwiftStatementLine object declarations
are automatically bound to the default interface of that object at compile time.
This means that Visual Basic applications compiled with the new DDBAC will be
bound to the new IBACSwiftStatementLine7 interface. This means that the
compiled applications won't work with old DDBAC installations. In order to remain
backward compatible with a particular DDBAC release, exactly that release must be
installed on the development machine.
C++ applications that want to access the new interface should use QueryInterface
to get an older interface IBACSwiftStatementLine2 or IBACSwiftStatementLine3
dynamically and fall back to IBACSwiftStatementLine if this fails.
BSTR BACSwiftStatementLine::AccountNumber;
If the ZKA structure of the information to account owner field was used, then this property contains the account number of the remitter/payee of this transaction.
CURRENCY BACSwiftStatementLine::Amount;
This field holds the actual transaction amount. If the transaction is a debit transaction or a reversal of credit transaction, then this value is negative.
The new property CurrencyCode in the IBACSwiftStatementLine3 interface provides the currency code to this amount.
BSTR BACSwiftStatementLine::BankCode;
If the ZKA structure of the information to account owner field was used, then this property contains the bank code (german Bankleitzahl) of the remitter/payee of this transaction. Thus it either contains an 8 digit bank code or is empty to indicate absence.
long BACSwiftStatementLine::BusinessTransactionCode;
This property holds the ZKA business transaction code (if present). This value
is in the range 1 through 999 if it was present. It is 0 if no ZKA business
transaction code was present.
This property can also be interpreted as an indicator whether the information
to account owner field was structured according to the ZKA or not. If this
property has the value zero, then the ZKA format was not used and the entire
SWIFT field :86: is contained in the property Purpose.
If the first digit if the business transaction code is 9, then the remaining
information to account owner field was not structured according to the ZKA and
thus the entire remainder (without the business transaction code) is placed in
the property Purpose.
BSTR BACSwiftStatementLine::BusinessTransactionText;
If the ZKA structure of the information to account owner field was used, then this property contains the descriptive business transaction text. This is optional and limited to a maximum length of 27 characters.
CURRENCY BACSwiftStatementLine::ChargesAmount;
If this transaction includes Euro related information (ERI), then this property contains the amount of the optional transaction charges. If no charges were indicated, then this property contains a zero value. See also ChargesCurrencyCode.
BSTR BACSwiftStatementLine::ChargesCurrencyCode;
If this transaction includes Euro related information (ERI), then this property contains the currency code of the optional transaction charges. If no charges were indicated, then this property contains an empty string. The actual amount of charge can be found in the property ChargesAmount.
BSTR BACSwiftStatementLine::CustomerReference;
This field holds the value from the subfield "Reference for the Account Owner".
According to SWIFT, if no customer reference information is available, then the
code NONREF shall be used. The account servicing institution must then supply,
in subfield SupplementaryDetails, what it considers to be the best
alternative information.
Sepa: Contains the Value of the KREF+ Tag in Field 86.
DATE BACSwiftStatementLine::EntryDate;
This field contains the optional entry date (Buchungsdatum).
If the customer statement line did not contain such a date, then this property
is set equal to the most recent balance date of the MT-940. It remains zero in
MT-942.
Exception: In case of "Deutsche Bank" the Entrydate is set to the
closing date
BSTR BACSwiftStatementLine::InstitutionReference;
This field holds the value from the optional subfield "Account Servicing Institution's Reference". The content of this subfield is the account servicing institution's own reference for the transaction. If the fields was absent, then this property holds an empty string.
BSTR BACSwiftStatementLine::Name;
If the ZKA structure of the information to account owner field was used, then this property contains the name of the remitter/payee of this transaction. The maximum length of this property is 27 characters.
CURRENCY BACSwiftStatementLine::OriginalAmount;
If this transaction includes Euro related information (ERI), then this property contains the original currency amount of this transaction, otherwise it holds a zero value. See also OriginalCurrencyCode.
BSTR BACSwiftStatementLine::OriginalCurrencyCode;
If this transaction includes Euro related information (ERI), then this property
contains the currency code of the original currency of this transaction.
For example, if an Euro money transfer is settled on a DM account, then this
field contains the currency code EUR. If a DM money transfer is settled on an
Euro account, then this field contains the currency code DEM. The corresponding
orginal currency amount can be found in the property OriginalAmount.
If no Euro related information is present, then this property contains an empty
string and the property OriginalAmount holds a zero value.
BSTR BACSwiftStatementLine::PrimaNoteNumber;
If the ZKA structure of the information to account owner field was used, then this property contains the prima-nota-number. This is optional and limited to a maximum length of 10 characters.
BSTR BACSwiftStatementLine::Purpose;
This property contains one or more lines of information to the account owner.
If multiple lines are present they are separated by newline (CRLF) sequences.
If no such information is available for this transaction then this property
holds an empty string.
This property is derived from the SWIFT field :86: "Information to the Account
Owner". If that field is structured according to the ZKA requirements, then
this property holds the concatenation of all contained purpose lines. If the
SWIFT field :86: is not structured, then this property contains the entire
SWIFT field.
VARIANT_BOOL BACSwiftStatementLine::Reversal;
This field is set to VARIANT_TRUE if the transaction details are a reversal of an earlier transaction. Otherwise it is set to VARIANT_FALSE.
BSTR BACSwiftStatementLine::SupplementaryDetails;
Optional supplementary details of the transaction. This is extracted from subfield 9 of the SWIFT field :61: which is commonly unused. It is only included for completeness. This field does not contain information to the account owner. Such information is available through the property Purpose.
BSTR BACSwiftStatementLine::TextKeySupplement;
If the ZKA structure of the information to account owner field was used, then this property contains the text key supplement (german Textschlüsselergänzung) of this transaction. If present, the text key supplement consists of 3 digits.
BSTR BACSwiftStatementLine::TransactionType;
This property holds the value from the corresponding SWIFT subfield. (Buchungsschlüssel). The meaning of this field is detailed in the SWIFT User Handbook.
DATE BACSwiftStatementLine::ValidityDate;
The value date (Valuta, or Wertstellungsdatum) of this transaction.
Since version 2,9,4,7 of the DDBACMT9.DLL the property RealValidityDate
is implemented by the new interface IBACSwiftStatementLine4. The property
RealValidityDate should be preferred, as it provides the real value,
whereas the property ValidityDate fails to provide the appropriate value for
virtual dates such as the 30th of february.
If a virtual date is found, then the returned ValidityDate is adjusted to
the last day of the month, e.g. the 31st of April will be returned as the 30th
of April.
The BACSwiftStatementLines object is an OLE Automation collection that holds all BACSwiftStatementLine objects of a customer statement. The collection is accessed through the BACSwiftStatement::StatementLines property.
long BACSwiftStatementLines::Count;
Read only property that indicates the number of BACSwiftStatementLine objects in this collection.
IBACSwiftStatementLine* BACSwiftStatementLines::Item(long lIndex);
Indexed read only property that provides access to the BACSwiftStatementLine objects in this collection.
The index must be in the range from zero through Count-1.
This property is the value property of this object.
The BACSwiftStatementOfHoldings object is object that holds all information of statement of holdings. This message is used to report, at a specified moment in time, the quantity and identification of securities and other holdings which the account servicer holds for the account owner.
At Version 2.1.5.1 this object can parse also the SWIFT format MT 535, at this version we offer also new properties for more details at SWIFT MT 535 in contrast to SWIFT MT 571. With the new property BACSwiftStatementOfHoldings2::Fields all raw fields are available.
The BACSwiftStatementOfHoldings can be converted to an XML representation through the IBACTransmogrifer interface. Setting an XML is not implemented yet.
<!DOCTYPE OBJECT [ <!ELEMENT OBJECT (FinalValueAmount, FinalValueCurrencyCode, RelatedReference, SafekeepingAccount, TransactionReferenceNumber, StatementPeriod, Entries)> <!ATTLIST OBJECT FORMAT CDATA #IMPLIED> <!ELEMENT FinalValueAmount (#PCDATA)> <!ELEMENT FinalValueCurrencyCode (#PCDATA)> <!ELEMENT RelatedReference (#PCDATA)> <!ELEMENT SafekeepingAccount (#PCDATA)> <!ELEMENT TransactionReferenceNumber (#PCDATA)> <!ELEMENT StatementPeriod (#PCDATA)> <!ELEMENT Entries (Entry+)> <!ELEMENT Entry (ISIN, WKN, IdentificationOfSecurities, PricePerUnitAmount, PricePerUnitCurrencyCode, SecuritiesQuantity, SecuritiesType, SenderToReceiverInformation, ValueAmount, ValueCurrencyCode, AccruedInterestAmount, AccruedInterestCurrencyCode, AccruedInterestDays)> <!ELEMENT ISIN (#PCDATA)> <!ELEMENT WKN (#PCDATA)> <!ELEMENT IdentificationOfSecurities (#PCDATA)> <!ELEMENT PricePerUnitAmount (#PCDATA)> <!ELEMENT PricePerUnitCurrencyCode (#PCDATA)> <!ELEMENT SecuritiesQuantity (#PCDATA)> <!ELEMENT SecuritiesType (#PCDATA)> <!ELEMENT SenderToReceiverInformation (#PCDATA)> <!ELEMENT ValueAmount (#PCDATA)> <!ELEMENT ValueCurrencyCode (#PCDATA)> <!ELEMENT AccruedInterestAmount (#PCDATA)> <!ELEMENT AccruedInterestCurrencyCode (#PCDATA)> <!ELEMENT AccruedInterestDays (#PCDATA)> ]>
CURRENCY BACSwiftStatementOfHoldings::FinalValueAmount;
This property holds the actual amount of the final value of this statement of holdings (SWIFT field :34E:). The presence of a final value is optional. If no final value field is present, then this property holds a zero value. See also FinalValueCurrencyCode.
Field :34E: at SWIFT format 571.
Field :19A: from sequence C at SWIFT format 535.
BSTR BACSwiftStatementOfHoldings::FinalValueCurrencyCode;
This property holds the three letter ISO 4217 currency code of the final value of this statement of holdings (SWIFT field :34E:). The presence of a final value field is optional. If no final value field is present, then this property holds an empty string and FinalValueAmount holds a zero value.
Field :34E: at SWIFT format 571.
Field :19A: from sequence C at SWIFT format 535.
BSTR BACSwiftStatementOfHoldings::PageNumber;
This property holds the contents of the page number/continuation indicator field (SWIFT field :28:) that was found in the statement of holdings message. If no such field was present, then this is an empty string. If multiple page number fields were encountered, only the contents of the first field that was encountered are considered.
Field :28: at SWIFT format 571.
Field :28E: at SWIFT format 535.
BSTR BACSwiftStatementOfHoldings::RelatedReference;
This property holds the contents of the first related reference field (SWIFT field :21:) that was found in the statement of holdings message. If no such field was present, then this is an empty string.
Field :21: at SWIFT format 571.
Field is empty at SWIFT format 535.
BSTR BACSwiftStatementOfHoldings::SafekeepingAccount;
This property holds the contents of the first safekeeping account field
(SWIFT field :83C:) found in the statement of holdings message. If no such
field was present, then this is an empty string.
Usually this field contains the two subfields bank code and account number
delimited by a slash. However, not all safekeeping account fields are
formatted in this manner, therefore the interpretation is left to the
application program.
Field :83C: at SWIFT format 571.
Field :97A: at SWIFT format 535.
BACSwiftStatementOfHoldingsEntries BACSwiftStatementOfHoldings::StatementOfHoldingsEntries;
This property holds a collection of BACSwiftStatementOfHoldingsEntry objects that represent the individual entries in the statement of holdings.
Secuence B in SWIFT formats.
DATE BACSwiftStatementOfHoldings::StatementPeriod;
This property specifies that the statement reflects the situation as at the close of business of the date specified (SWIFT field :67A:). The presence of a valid statement period field is mandatory for a statement of holdings message.
Field :67A: at SWIFT format 571.
Field :98A: or :98C: at SWIFT format 535.
BSTR BACSwiftStatementOfHoldings::TransactionReferenceNumber;
This property holds the contents of the first transaction reference number field (SWIFT field :20:) that was found in the statement of holdings message. If no such field was present, then this is an empty string.
Field :20: at SWIFT format 571.
Field :20C: at SWIFT format 535.
The BACSwiftStatementOfHoldingsEntries object is an OLE Automation collection that holds all BACSwiftStatementOfHoldingsEntry objects of a statement of holdings. The collection is accessed through the BACSwiftStatementOfHoldings::StatementOfHoldingsEntries property.
long BACSwiftStatementOfHoldingsEntries::Count;
Read only property that indicates the number of BACSwiftStatementOfHoldingsEntry objects in this collection.
IBACSwiftStatementLine* BACSwiftStatementOfHoldingsEntries::Item(long lIndex);
Indexed read only property that provides access to the BACSwiftStatementOfHoldingsEntry objects in this collection.
The index must be in the range from zero through Count-1.
This property is the value property of this object.
A statement of holdings may contain an arbitrary number of entries (including zero). Each entry contains the details of a single securities holding. An application accesses these details through the properties of this object.
CURRENCY BACSwiftStatementOfHoldingsEntry::AccruedInterestAmount;
This property specifies the accrued interest amount of this holding. The associated currency code is specified in the property AccruedInterestCurrencyCode. See also AccruedInterestDays.
BSTR BACSwiftStatementOfHoldingsEntry::AccruedInterestCurrencyCode;
This property specifies the currency code of the accrued interest amount. The actual accrued interest amount is specified in the property AccruedInterestAmount. See also AccruedInterestDays.
Die aus dem MT-571 Feld B:34G: oder B:34H: entnommenen Daten werden
entsprechend ihrer Währung mit Vorzeichen unverändert übernommen.
Im MT-535 wird das Feld :19A: mit Qualifier ACRU übernommen, dessen Währung
nicht Euro ist. Sind mehrere Angaben in Fremdwährungen vorhanden, wird die
letzte Angabe aus dem MT-535 übernommen. Liegt ausschließlich eine Angabe in
Euro vor, so wird diese übernommen.
Nachdem im MT-535 der Stückzinsbetrag nur für den Gesamtsaldo angegeben wird,
wird dieser immer an den ersten Untersaldo angehängt. Weitere Untersalden
erhalten keinen Stückzinsbetrag.
long BACSwiftStatementOfHoldingsEntry::AccruedInterestDays;
This property specifies the number of days of the accrued interest stored in the properties AccruedInterestCurrencyCode and AccruedInterestAmount .
Extracted from field B:34G: or B:34H: in SWIFT format MT-571, and field B:99A: in SWIFT format MT-535.
CURRENCY BACSwiftStatementOfHoldingsEntry::ExchangeRate;
This property specfies the rate of exchange between the price per unit
(PricePerUnitAmount) and the value (ValueAmount).
Don't use this property! It is rounded if number has more than 4 post decimal
digits. Use instead IBACSwiftStatementOfHoldingsEntry::ExchangeRateEx.
Field :36: at SWIFT format 571.
Field :92B: at SWIFT format 535.
BSTR BACSwiftStatementOfHoldingsEntry::IdentificationOfSecurities;
This property receives the narrative identification of the securities of this holding. Technically this property receives all data from SWIFT field B:35B: that is not stored in ISIN or WKN.
BSTR BACSwiftStatementOfHoldingsEntry::ISIN;
If the ISIN identifier for this holding is available it is stored in this property. The ISIN identifier is extracted from the SWIFT field B:35B:. If no ISIN identifier was given, then this property contains an empty string.
Im SWIFT Feld B:35B: kann eine ISIN, eine WKN oder beides angegeben werden.
Je nach HBCI Spezifikation kann die Angabe im Freitextfeld in einem der
folgenden Formate erfolgen:
ISIN XXYYYYYYYYYP
WKNR ZZZZZZ
/DE/ZZZZZZ
Die restlichen Zeilen des SWIFT Feldes in denen keine ISIN oder WKN angegeben
ist werden in IdentificationOfSecurities abgelegt.
WKN IdentificationOfSecurities
CURRENCY BACSwiftStatementOfHoldingsEntry::PricePerUnitAmount;
This property specifies the price per unit of this holding. The associated currency is specified in the property PricePerUnitCurrencyCode.
BSTR BACSwiftStatementOfHoldingsEntry::PricePerUnitCurrencyCode;
This property specifies the currency code of the price per unit amount or the code PCT to indicate a percentage price. The actual amount is specified in the property PricePerUnitAmount.
Im MT-571 wird das Währungskennzeichen aus dem Feld B:33B: übernommen. Das
Codewort PCT zeigt eine Prozentnotiz an. Das Codewort REN zeigt einen
absoluten Ertragsbetrag an und sollte nicht vorkommen. Es wird als Pseudo-
Währungskennzeichen beibehalten. Das Codewort YLD zeigt einen prozentualen
Ertrag an und wird deshalb als PCT abgelegt.
Wird im MT-535 der Preis im Feld B:90A: angegeben wird als Währungscode PCT
angegeben. Wird das Feld B:90B: verwendet wird der Währungscode aus diesem
Feld übernommen.
CURRENCY BACSwiftStatementOfHoldingsEntry::SecuritiesQuantity;
This property holds the quantity of securities of this holding. This value may be negative.
Wird im MT-571 aus dem Feld B:35H: entnommen.
Im MT-535 wird dieser Wert jeweils aus dem Untersaldo Feld B1:93C: extrahiert.
Für jedes Untersaldo wird dann ein vollständiges eigenes
BACSwiftStatementOfHoldingsEntry Objekt generiert.
DECIMAL BACSwiftStatementOfHoldingsEntry::SecuritiesQuantityEx;
This property holds the quantity of securities of this holding. This value may be negative.
Wird im MT-571 aus dem Feld B:35H: entnommen.
Im MT-535 wird dieser Wert jeweils aus dem Untersaldo Feld B1:93C: extrahiert.
Für jedes Untersaldo wird dann ein vollständiges eigenes
BACSwiftStatementOfHoldingsEntry Objekt generiert.
BSTR BACSwiftStatementOfHoldingsEntry::SecuritiesType;
This property holds the three letter ISO currency code of the face amount of this security.
Im MT-571 werden aus dem Feld B:35H: die Codeworte BON, CER, CPN, MSC, OPC,
OPS, PRC, PRS, RTE, RTS, SHS, UNT und WTS als Indikator für Stücke
angenommen, aber unverändert zurückgegeben. FMT wird als Nominal mit
unbekannter Währung angenommen. Alle anderen Codeworte werden als ISO
Währungskennzeichen angenommen.
Ist im MT-535 Feld B1:93C: der Typ UNIT angegeben, so werden Stücke (XXX)
angenommen. Ist dort FAMT angegeben, wird versucht aus dem Feld B:70E: die
Gattungswährung zu extrahieren. Liegt keine Gattungswährung vor, so wird
FMT als Nominal mit unbekannter Währung angenommen.
Die strukturierte Belegung des Feldes :70E: kann mit oder ohne Zeilennummern
erfolgen. Die Erkennung welches Format vorliegt erfolgt nach demselben
Verfahren wie für Feld :70C: (siehe EntryIdentification).
BSTR BACSwiftStatementOfHoldingsEntry::SenderToReceiverInformation;
This property contains narrative sender to receiver information. If multiple
lines are present they are separated by newline (CRLF) sequences. If no such
information is available for this holding then this property contains an empty
string.
This property is derived from the SWIFT field :72:. Any ZKA structured contents
are left as is, i.e. are not interpreted by this object.
Field :72: at SWIFT format 571.
Field :70E: at SWIFT format 535.
CURRENCY BACSwiftStatementOfHoldingsEntry::ValueAmount;
This property specifies the value of this holding. The associated currency code is specified in the property ValueCurrencyCode.
MT-571: Es wird angenommen, dass die Angabe im Feld B:32H: in der Einheit der
Effektennotiz vorliegt. Das Feld wird direkt übernommen.
MT-535: Es wird das Feld :19A: Übernommen, dessen Währung nicht Euro ist.
Sind mehrere Angaben in Fremdwährungen vorhanden, wird die letzte Angabe aus
dem MT-535 übernommen. Liegt ausschließlich eine Angabe in Euro vor, so wird
diese übernommen.
BSTR BACSwiftStatementOfHoldingsEntry::ValueCurrencyCode;
This property specifies the currency code of the value of this holding. The actual value amount is specified in the property ValueAmount.
BSTR BACSwiftStatementOfHoldingsEntry::WKN;
If a german "Wertpapierkennummer" (WKN) is available for this holding it is stored in this property. The WKN identifier is extracted from the SWIFT field B:35B:. If no WKN identifier was given, then this property contains an empty string.
ISIN IdentificationOfSecurities
The BACSwiftTextBlock object represents the entire contents of a SWIFT text block, such as it is often embedded in HBCI segments. The BACSwiftTextBlock object is a persistent object that implements the standard DDBAC peristence methods.
The BACSwiftTextBlock can be converted to an XML representation through the
IBACTransmogrifier interface.
Setting an XML is not implemented yet.
The root tag of XML is 'OBJECT' with 'FORMAT' as attribute. The 'OBJECT' element
has 'TextBlock' as only child node.
If SWIFT format is ISO 15022 then the tag 16R is extracted and the content from
the field is used as element name.
Name of child nodes is constructed by a leading 'F' and the field name. If
field contains a Qualifier then a attribute 'Qualifier' is added at field node.
XML subset of an SWIFT MT 535
<OBJECT FORMAT="SWIFT">
<Swift>
<TextBlock>
<GENL>
<F28E>1/MORE</F28E>
<F20C Qualifier="SEME">NONREF</F20C>
<F23G>NEWM</F23G>
<F98C Qualifier="PREP">20000414122633</F98C>
<F98C Qualifier="STAT">20000414122633</F98C>
<F22F Qualifier="STTY">CUST</F22F>
<F97A Qualifier="SAFE">94059310/50240808213615</F97A>
<F17B Qualifier="ACTI">Y</F17B>
</GENL>
<FIN>
<F35B><![CDATA[ISIN DE0001135101
/DE/113510
BUNDESREP.DEUTSCHLAND
ANL.V.1999(2009)]]></F35B>
<F90A Qualifier="MRKT">PRCT/89,66</F90A>
<F94B Qualifier="PRIC">LMAR/Deutsche Boerse Clearing AG</F94B>
<F98A Qualifier="PRIC">19991217</F98A>
<F93B Qualifier="AGGR">FAMT/30000,</F93B>
<SUBBAL>
<F93C Qualifier="TAVI">FAMT/AVAI/30000,</F93C>
<F94C Qualifier="SAFE">DE</F94C>
<F70C Qualifier="SUBB"><![CDATA[6027202100
0+0260]]></F70C>
</SUBBAL>
<F19A Qualifier="HOLD">EUR26898,</F19A>
<F70E Qualifier="HOLD"><![CDATA[EUR+111+00021+DE+20000405+20090104
0,]]></F70E>
</FIN>
</TextBlock>
</Swift>
</OBJECT>
String BACSwiftTextBlock::CurrentFilename;
Read-only property that returns the current filename of this persistent object. The current filename is established by Load and SaveAs. This may be an empty string if the object was newly created and not saved, yet.
IPersistFile::GetCurFile in the COM specification.
BACSwiftFields BACSwiftTextBlock::Fields;
This property holds a collection of BACSwiftField objects that represent the individual fields of this SWIFT text block.
Boolean BACSwiftTextBlock::IsDirty;
Boolean read-only property that indicates whether this object was changed since it was last saved to its current filename. This flag is set whenever the object is changed and is cleared by Save and SaveAs. It is not cleared by SaveCopyAs.
IPersistFile::IsDirty in the COM specification.
void BACSwiftTextBlock::Load(
[in] String sFilename);
Loads the object data from the given file. The object is reinitialised with the loaded data.
IPersistFile::Load in the COM specification.
void BACSwiftTextBlock::LoadSwift(
[in] String sTextBlock);
Directly load data of an string.
void BACSwiftTextBlock::Save();
Saves the object using the current filename. The existing file
of that name will be silently overwritten. The current filename
is set by the Load and SaveAs methods.
This methods clears the internal IsDirty flag.
IPersistFile::Save in the COM specification.
void BACSwiftTextBlock::SaveAs(
[in] String sFilename);
Saves the object using the given filename.
IPersistFile::Save in the COM specification.
void BACSwiftTextBlock::SaveCopyAs(
[in] String sFilename);
Saves the object using the given filename, but will not remember that name. The CurrentFilename property will remain unchanged.
IPersistFile::Save in the COM specification.
String BACSwiftTextBlock::TransmogrifyToXML(
[in] String sMessageType);
Transmogrify the entire data into XML.
Returns a XML string that contains structured SWIFT data.
CURRENCY IBACSwiftStatementLine2::EquivalentAmount;
If this transaction includes ZKA information about equivalent currency amounts, (ECMT) then this property contains the equivalent currency amount of this transaction, otherwise it holds a zero value. See also EquivalentCurrencyCode.
This property is implemented in the IBACSwiftStatementLine2 interface.
BSTR IBACSwiftStatementLine2::EquivalentCurrencyCode;
If this transaction includes ZKA information about equivalent currency amounts
(i.e. equivalent EUR amount for DEM transactions or vice versa), then this
property contains the currency code of the equivalence currency. The
corresponding amount can be found in the property EquivalentAmount.
If no ZKA equivalent currency information (ECMT) is present, then this property
contains an empty string and the property EquivalentAmount holds a zero
value.
This property is implemented in the IBACSwiftStatementLine2 interface.
BSTR IBACSwiftStatementLine3::CurrencyCode;
This is the currency code of this transaction.
The currency code is derived from the opening balance of the booking date of
this transaction. If no opening balance for that date is available, the
currency code of the overall opening balance is assumed.
If the assumed currency code is either "DEM" or "EUR", then the SWIFT MT-940
field :61: subfield 4 (3rd letter of currency code) can overide the currency
code. If the subfield contains "M", then "DEM" is assumed, if the subfield
contains "R", then "EUR" is assumed.
This property is implemented in the IBACSwiftStatementLine3 interface.
BSTR IBACSwiftStatementLine4::RealValidityDate;
This is the real validity date, exactly as it was extracted from the SWIFT
field :61:. It is returned in its original format, which is "YYMMDD". This
value differs from the property ValidityDate because it can hold virtual
dates such as the 30th of February or "000000", which may occur in field :61:.
According to SWIFT the two digit year 'yy' can be converted into the real four
digit year by the formula:
yy = (yy > 79) ? (1900 + yy) : (2000 + yy);
This property is implemented in the IBACSwiftStatementLine4 interface.
BSTR IBACSwiftStatementLine5::StatementNumber;
This property holds the contents statement number/sequence number field (SWIFT field :28: or :28C:) that was found in the customer statement message. If no such field was present, then this is an empty string.
This property is implemented in the IBACSwiftStatementLine5 interface.
Boolean IBACSwiftStatementLine6::ContainsSepa;
Returns true if the statement line contains a SEPA statement.
This is true when one or more of the following identifiers appear inside
the 86 tag:
EREF+ EndToEndID
KREF+ CustomerReference
MREF+ MandateReference
CRED+ CreditorID
DEBT+ OriginatorID
SVWZ+ Purpose
ABWA+ DifferentOriginator (Abweichender Auftraggeber)
This property is implemented in the IBACSwiftStatementLine6 interface.
BSTR IBACSwiftStatementLine6::CreditorID;
This property holds the CreditorID . (CRED+)
This property is only filled in SEPA statements
This property is implemented in the IBACSwiftStatementLine6 interface.
BSTR IBACSwiftStatementLine6::DifferentOriginator;
This property holds the DifferentOriginator. (ABWA+)
This property is only filled in SEPA statements
This property is implemented in the IBACSwiftStatementLine6 interface.
BSTR IBACSwiftStatementLine6::EndToEndID;
This property holds the EndToEndID. (EREF+)
This property is only filled in SEPA statements
This property is implemented in the IBACSwiftStatementLine6 interface.
BSTR IBACSwiftStatementLine6::MandateReference;
This property holds the MandateReference . (MREF+)
This property is only filled in SEPA statements
This property is implemented in the IBACSwiftStatementLine6 interface.
BSTR IBACSwiftStatementLine6::OriginatorID;
This property holds the OriginatorID . (DEBT+)
This property is only filled in SEPA statements
This property is implemented in the IBACSwiftStatementLine6 interface.
BSTR IBACSwiftStatementLine6::SepaPurpose;
This property holds the SepaPurpose. (SWVZ+)
This property is only filled in SEPA statements and contains the
original purpose. Sepa purpose lines have a maximum length of 35 chars.
This property is implemented in the IBACSwiftStatementLine6 interface.
CURRENCY IBACSwiftStatementLine7::NextClosingBalanceAmount;
This property holds the amount of a final closing balance if present (SWIFT field :62F:). This value is negative if the balance is a debit balance.
BSTR IBACSwiftStatementLine7::NextClosingBalanceCurrencyCode;
This property holds the amount of a final closing currency if present (SWIFT field :62F:).
DATE IBACSwiftStatementLine7::NextClosingBalanceDate;
This property holds the amount of a final closing date if present (SWIFT field :62F:).
CURRENCY IBACSwiftStatementLine7::NextInterimClosingAmount;
This property holds the amount of a interim closing balance if present (SWIFT field :62M:). This value is negative if the balance is a debit balance.
DATE IBACSwiftStatementLine7::NextInterimClosingBalanceDate;
This property holds the amount of a interim closing date if present (SWIFT field :62M:).
BSTR IBACSwiftStatementLine7::NextInterimClosingCurrencyCode;
This property holds the amount of a interim closing currency if present (SWIFT field :62M:).
CURRENCY IBACSwiftStatementLine7::PrevInterimBalanceAmount;
This property holds the amount of a interim opening balance if present (SWIFT field :60M:). This value is negative if the balance is a debit balance.
BSTR IBACSwiftStatementLine7::PrevInterimBalanceCurrencyCode;
This property holds the amount of a interim opening currency if present (SWIFT field :60M:).
DATE IBACSwiftStatementLine7::PrevInterimBalanceDate;
This property holds the amount of a interim opening date if present (SWIFT field :60M:).
CURRENCY IBACSwiftStatementLine7::PrevOpeningBalanceAmount;
This property holds the amount of a previous opening balance if present (SWIFT field :60F:). This value is negative if the balance is a debit balance.
BSTR IBACSwiftStatementLine7::PrevOpeningBalanceCurrencyCode;
This property holds the amount of a previous opening currency if present (SWIFT field :60F:).
DATE IBACSwiftStatementLine7::PrevOpeningBalanceDate;
This property holds the amount of a previous opening date if present (SWIFT field :60F:).
Extends the BACSwiftStatementOfHoldings object.
BACSwiftFields IBACSwiftStatementOfHoldings2::Fields;
This property holds a collection of BACSwiftField objects that represent the individual fields of this SWIFT format.
void IBACSwiftStatementOfHoldings2::LoadSwift();
Parse SWIFT of string.
Additional entries of BACSwiftStatementOfHoldingsEntry this properties are only valid if parsed SWIFT text have been format type 535.
DATE IBACSwiftStatementOfHoldingsEntry2::DateOfPrice;
This property contains the date of price Value is extracted at field 94B of SWIFT 535.
BSTR IBACSwiftStatementOfHoldingsEntry2::DetailsNarrative;
Narrative for additional information on the balance. Contains the unparsed content of Field 70C. This information is only available in SWIFT MT-535 messages with a subbalance.
BSTR IBACSwiftStatementOfHoldingsEntry2::EntryIdentification;
This is extracted from the structured narrative information on the balance. This information may be required for a subsequence order to sell. This information is only available in SWIFT MT-535 messages with a subbalance.
BSTR IBACSwiftStatementOfHoldingsEntry2::ExchangeFirstCurrency;
Currency of exchange rate where you convert from. Value is extracted at field 92B of SWIFT format 535.
VARIANT IBACSwiftStatementOfHoldingsEntry2::ExchangeRateEx;
This property specfies the rate of exchange between the price per unit (BACSwiftStatementOfHoldingsEntry::PricePerUnitAmount) and the value (BACSwiftStatementOfHoldingsEntry::ValueAmount). If SWIFT format is 535 the properties ExchangeFirstCurrency and ExchangeSecondCurrency specify exactly the two currency of exchange rate.
Field :36: at SWIFT format 571.
Field :92B: at SWIFT format 535.
BSTR IBACSwiftStatementOfHoldingsEntry2::ExchangeSecondCurrency;
Destination currency of exchange. Value is extracted at field 92B of SWIFT format 535.
BSTR IBACSwiftStatementOfHoldingsEntry2::PlaceOfPrice;
This property contains a description of place where the price is calculated.
Das MT-535 Feld B:94B: Stammt der Preis von einer Börse (Qualifier LMAR) wird das Freitextfeld übernommen.
BSTR IBACSwiftStatementOfHoldingsEntry2::PlaceOfSafeKeeping;
Physical place where the securities are safekept. This is a two letter ISO country code or an empty string. This information is only available in SWIFT MT-535 messages.
VARIANT_BOOL IBACSwiftStatementOfHoldingsEntry2::SecuritiesAvailable;
Indicates whether this entry is available for settlement. The information is is retrieved from the subbalance of a SWIFT MT-535 message. It is TRUE for MT-571 messages in case of REGO, BLOK, LOAN, BORR, COLO.
BSTR IBACSwiftStatementOfHoldingsEntry2::SecuritiesQualifier;
Genauere Aufschlüsselung des Sperrvermerks. Ist nur belegt, wenn der Sperrvermerk SecuritiesAvailable "True" ist. Mögliche Werte entsprechend MT-535 sind: BLOK, BORR, COLI, COLO, LOAN, NOMI, PECA, PEND, PENR, REGO, RSTR, SPOS, TRAN.
Entspricht dem Qualifier aus dem MT-535 Feld B1:93C:. Die im MT-571 Feld B:72: auftretenden Codeworte werden wie folgt übersetzt um den Codeworten aus dem MT-535 zu entsprechen: REGOPEN -> REGO; BLOCKED -> BLOK; LOANDOUT -> LOAN; BORROWED -> BORR; COLLATER -> COLO.
Additional entries of BACSwiftStatementOfHoldingsEntry.
Additional entries of BACSwiftStatementOfHoldingsEntry.
CURRENCY IBACSwiftStatementOfHoldingsEntry3::InitialPricePerUnitAmount;
Einstandspreis.
Wird im MT-571 generell nicht übertragen. Wird im MT-535 bei strukturierter Belegung des Feldes B:70E: aus den Subfeldern "Einstandspreis" entnommen. Eine fehlende Währungsangabe wird als PCT interpretiert.
InitialPricePerUnitCurrencyCode
BSTR IBACSwiftStatementOfHoldingsEntry3::InitialPricePerUnitCurrencyCode;
Währung des Einstandspreises.
CURRENCY IBACSwiftStatementOfHoldingsEntry3::InterestRate;
Nominaler Zins bei festverzinslichen Wertpapieren in Prozent.
Wird im MT-571 generell nicht übertragen. Wird im MT-535 bei strukturierter Belegung des Feldes B:70E: aus dem Subfeld "Zinssatz" entnommen.
BSTR IBACSwiftStatementOfHoldingsEntry3::PricePerUnitQualifier;
Attribut zum Preis. Gibt an, ob es sich um einen Prozentertrag ("YIEL": Yield), Abschlag ("DISC": Discount), Aufschlag ("PREM": Premium) oder den absoluten Preis in Prozent oder Währung ("ACTU": Actual) handelt.
Ist im MT-571 Feld B:33B: das Codewort "YLD" eingetragen, so wird hier "YIEL" hinterlegt. Taucht im Feld B:72: das Codewort "DISCOUNT" auf, so wird "DISC" eingestellt. Taucht das Codewort "PREMIUM" auf, so wird "PREM" eingestellt. In allen anderen Fällen wird "ACTU" eingestellt. Im MT-535 wird der Qualifier direkt aus dem Type Code des Feldes B:90A: oder B:90B: entnommen. Der Type Code "PRCT" wird dabei in "ACTU" übersetzt.
BSTR IBACSwiftStatementOfHoldingsEntry3::SecuritiesAvailableQualifier;
Identische Kopie des Properties SecuritiesQualifier.
BSTR IBACSwiftStatementOfHoldingsEntry3::SecuritiesNotAvailableDetailsNarrative;
Bis zu zwei Zeilen Zusatzvermerke der Bank zum Sperrvermerk im Klartext.
Aus der strukturierten Belegung des Feldes B:72: wird nur das Subfeld 08 entnommen. Im MT-535 werden aus der strukturierten Belegung des Feldes B1:70C: die Inhalte der Zeilen 3 und 4 entnommen.
DATE IBACSwiftStatementOfHoldingsEntry3::SecuritiesNotAvailableUntilDate;
Bei einem gesperrten Posten kann hier das Enddatum der Sperre angegeben werden.
Wird im MT-571 bei strukturierter Belegung des Feldes B:72: aus dem Subfeld 07 entnommen. Wird im MT-535 bei strukturierter Belegung des Feldes B1:70C: aus dem Subfeld "Sperre bis" entnommen.
long IBACSwiftStatementOfHoldingsEntry3::TypeOfSafeKeeping;
Verwahrungsart des Wertpapiers. Folgende Werte sind möglich: 1 = Girosammelverwahrung; 2 = Streifbandverwahrung; 3 = Haussammelverwahrung; 4 = Wertpapierrechnung; 9 = Sonstige.
Wird im MT-571 bei strukturierter Belegung des Feldes B:72: aus dem Subfeld 03 entnommen. Das nach GD 400 formatierte Subfeld wird auf die Zielwerte wie folgt abgebildet: 00-19 -> 1; 20-21 -> 2; 22 -> 3; 40-49 -> 4; sonst -> 9. Im MT-535 wird aus der strukturierten Belegung des Feldes B1:70C: der Inhalt des Subfeldes Verwahrart direkt übernommen.
DATE IBACSwiftStatementOfHoldingsEntry3::ValueDate;
Kauf- bzw. Valutadatum des Wertpapiers.
Taucht im Feld B:72: im MT-571 das Codewort VALUDATE mit Angabe eines Datums auf, so wird dieses extrahiert und hier eingestellt. Im MT-535 wird bei strukturierter Belegung des Feldes B:70E: das Kaufdatum extrahiert und eingestellt.