DDBAC DTAUS and DTAZV Format Component Application Programmers Reference Manual.
The BACDTAUSFile object represents a complete DTAUS file.
The BACDTAUSFile is a persistent object that implements all methods and
properties of the IBACPersistentObject interface, without actually deriving
from this interface.
The BACDTAUSFile object is a collection that holds transfer records.
If a new BACDTAUSFile is created the records collection is empty.
The BACDTAUSFile can be converted to an XML representation and can be initalized from
an XML string through the IBACTransmogrif interface.
The Elements 'TotalAmount', 'AccountNumberCheckSum' and 'BankCodeCheckSum' are optional, there are allways generated if DTAUS is converted to XML. When a DTAUS is initalized from XML and the Elements are supported there value is checked otherwise they will be generated.
<!DOCTYPE OBJECT [ <!ELEMENT OBJECT (Type , MyBankCode , MyName , CreationDate , MyAccountNumber , ReferenceNumber? , ExecutionDate? , TotalAmount? , AccountNumberCheckSum? , BankCodeCheckSum? , BACDTAUSRecord+ )> <!ATTLIST OBJECT FORMAT CDATA #FIXED "DTAUS"> <!ELEMENT Type (#PCDATA)> <!ELEMENT MyBankCode (#PCDATA)> <!ELEMENT MyName (#PCDATA)> <!ELEMENT CreationDate (DATE)> <!ELEMENT MyAccountNumber (#PCDATA )> <!ELEMENT ReferenceNumber (#PCDATA )> <!ELEMENT ExecutionDate (DATE)> <!ELEMENT TotalAmount (VALUE)> <!ELEMENT AccountNumberCheckSum (#PCDATA)> <!ELEMENT BankCodeCheckSum (#PCDATA)> <!ELEMENT VALUE (#PCDATA)> <!ATTLIST VALUE CURRENCY CDATA #REQUIRED PREFIX CDATA #REQUIRED > <!ELEMENT DATE EMPTY> <!ATTLIST DATE YEAR (1990 | 1991 | 1992 | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010) "2000" MONTH (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09) "1" DAY (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 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09) "1" > <!ELEMENT BACDTAUSRecord (FirstBankCode? , HisBankCode , HisAccountNumber , CustomerReferenceNumber? , TextKey , TextKeyExtension , Amount , MyBankCode , MyAccountNumber , HisName , MyName , Purpose )> <!ELEMENT FirstBankCode (#PCDATA)> <!ELEMENT HisBankCode (#PCDATA)> <!ELEMENT HisAccountNumber (#PCDATA)> <!ELEMENT CustomerReferenceNumber (#PCDATA)> <!ELEMENT TextKey (#PCDATA)> <!ELEMENT TextKeyExtension (#PCDATA)> <!ELEMENT Amount (VALUE)> <!ELEMENT HisName (#PCDATA)> <!ELEMENT Purpose (#PCDATA)> ]>
String BACDTAUSFile::AccountNumberCheckSum;
This read-only property provides a check sum of the BACDTAUSRecord::HisAccountNumber properties of all records of this BACDTAUSFile object (DTAUS field E6). The check sum is computed each time this property is read.
String BACDTAUSFile::BankCodeCheckSum;
This read-only property provides a check sum of the BACDTAUSRecord::HisBankCode properties of all records of this BACDTAUSFile object (DTAUS field E7). The check sum is computed each time this property is read.
Date BACDTAUSFile::CreationDate;
File creation date (DTAUS field A7).
When a new BACDTAUSFile object is created this property is initialized with the current date.
String BACDTAUSFile::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.
Boolean BACDTAUSFile::EuroCurrency;
Flag indicating the currency of the transactions (DTAUS field A12).
This flag is set to False to indicate the currency DM, and to True to indicate the currency Euro. When a new BACDTAUSFile object is created this property is initialized with True.
Date BACDTAUSFile::ExecutionDate;
Optional file execution date (DTAUS field A11b).
If no execution date was, or shall be specified, then this property is initialized with a null date. When a new BACDTAUSFile object is created this property is initialized with a null date.
For C++ programmers the DATE type is simply a double. Thus a null date is
represented by the double value zero.
For VB programmers a null date can be passed by simply giving a literal zero.
Boolean BACDTAUSFile::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.
IBACDTAUSRecord* BACDTAUSFile::Load(
[in] String sFilename);
Loads the object data from the given file. The object is reinitialised with the loaded data. A DTAUS1 file is converted at DTAUS0 character set. At reading there are done minimal checks of DTAUS length, and all check sums from Record E.
IPersistFile::Load in the COM specification.
String BACDTAUSFile::MyAccountNumber;
Account number of the sending customer (DTAUS field A9).
This field is constraint to a maximum of 10 digits. Attempting to set a string
that is longer or contains nondigit characters is rejected with an exception.
When a new BACDTAUSFile object is created this property is initialized with
10 zero digits, giving an invalid DTAUS file. Hence, an application must
initialize this field before attempting to write the DTAUS file.
If a string is set that is shorter that 10 digits, it is padded with leading
zero digits as soon as it is set. That means, that reading back this property
already includes the padding digits.
String BACDTAUSFile::MyBankCode;
Bank code of bank that will receive this DTAUS file (DTAUS field A4).
This field is constraint to eight digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception. When a new BACDTAUSFile object is created this property is initialized with eight zero digits, giving an invalid DTAUS file. Hence, an application must initialize this field before attempting to write the DTAUS file.
String BACDTAUSFile::MyName;
Name of sender of this DTAUS file (DTAUS field A6).
This field is constraint to a maximum of 27 alphanumeric characters. Attempting to set a string that is longer or contains invalid characters is rejected with an exception. When a new BACDTAUSFile object is created this property is initialized with an empty string, giving an invalid DTAUS file. Hence, an application must initialize this field before attempting to write the DTAUS file.
IBACDTAUSRecord* BACDTAUSFile::RecordAdd(
[in] Long lBeforeIndex);
Creates a new BACDTAUSRecord object, inserts it into this collection and returns a reference to it.
This method returns a reference to the inserted BACDTAUSRecord object.
void BACDTAUSFile::RecordClear();
Removes all BACDTAUSRecord objects from this collection. Leaving an all empty collection.
Long BACDTAUSFile::RecordCount;
Read only property that provides the number of BACDTAUSRecord objects in the Records collection.
IBACDTAUSRecord* BACDTAUSFile::RecordItem(long lIndex);
Indexed read only property that provides direct access to the BACDTAUSRecord objects in this collection.
The index must be in the range from zero through RecordCount -1.
This property is the value property of this object.
void BACDTAUSFile::RecordRemove(
[in] long lIndex);
Removes the indicated BACDTAUSRecord object from this collection.
void BACDTAUSFile::RecordSort();
Sorts all contained BACDTAUSRecord objects in this collection.
Records are sorted according to the HisBankCode first, and the property HisAccontNumber second.
String BACDTAUSFile::ReferenceNumber;
Optional reference number of the sending customer (DTAUS field A10).
This field is constraint to a maximum of 10 digits. Attempting to set a string
that is longer or contains nondigit characters is rejected with an exception.
When a new BACDTAUSFile object is created this property is initialized with
10 zero digits.
If a string is set that is shorter that 10 digits, it is padded with leading
zero digits as soon as it is set. That means, that reading back this property
already includes the padding digits.
void BACDTAUSFile::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.
DTAUS file is save with DATAUS0 character set.
This methods clears the internal IsDirty flag.
IPersistFile::Save in the COM specification.
void BACDTAUSFile::SaveAs(
[in] String sFilename);
Saves the object using the given filename.
IPersistFile::Save in the COM specification.
void BACDTAUSFile::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.
Currency BACDTAUSFile::TotalAmount;
This read-only property provides the total sum of the BACDTAUSRecord::Amount properties of all records of this BACDTAUSFile object (DTAUS field E5 or E8). The sum is computed each time this property is read.
String BACDTAUSFile::Type;
Indicates the type of this DTAUS file (DTAUS field A3, usually "GK" or "LK").
This is constraint to two alphanumeric characters. Attempting to set a string with any other length or characters is rejected with an exception. When a new BACDTAUSFile object is created this property is initialized with two blanks, giving an invalid DTAUS file. Hence, an application must initialize this field before attempting to write the DTAUS file.
void BACDTAUSFile::Validate();
This method validates all semantic contstraints for DTAUS files. If this BACDTAUSFile object does not pass these tests, then an exception is raised. Otherwise this method returns silently.
An BACDTAUSRecord holds the details of a single transfer record of
the owning BACDTAUSFile. BACDTAUSRecord can only be created though
the owning BACDTAUSFile object.
If a new BACDTAUSRecord is created it is initialized with the sending
customer details from the BACDTAUSFile object. Hence, most properties need
not be changed after creation.
Currency BACDTAUSRecord::Amount;
Transfer amount (DTAUS field C9).
This field is constraint to a maximum amount of 999999999,99. Attempting to set a larger value, or a value with more than two decimal places is rejected with an exception. When a new BACDTAUSRecord object is created this property is initialized with the value 0,00.
String BACDTAUSRecord::BankInternal;
Don't use this field, it's a bank internal field (DTAUS field C8).
This field is set a 0x20 and should not be changed.
String BACDTAUSRecord::CustomerReferenceNumber;
Optional internal customer reference of the sending customer (DTAUS field C6).
This field is constraint to a maximum of 11 digits. Attempting to set a string
that is longer or contains nondigit characters is rejected with an exception.
When a new BACDTAUSRecord object is created this property is initialized with
11 zero digits.
If a string is set that is shorter that 11 digits, it is padded with leading
zero digits as soon as it is set. That means, that reading back this property
already includes the padding digits.
Boolean BACDTAUSRecord::EuroCurrency;
Flag indicating the currency of the transactions (DTAUS field C17a).
This flag is set to False to indicate the currency DM, and to True to
indicate the currency Euro.
When a new BACDTAUSRecord object is created this property is initialized
with the currency flag from the property BACDTAUSFile::EuroCurrency of the
parent BACDTAUSFile object. Hence, it is advisable to initialise the parent
BACDTAUSFile object before creating BACDTAUSRecord objects with it.
String BACDTAUSRecord::FirstBankCode;
Optional bank code of first bank that is involved (DTAUS field C3).
This field is constraint to eight digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception. When a new BACDTAUSRecord object is created this property is initialized with eight zero digits.
String BACDTAUSRecord::HisAccountNumber;
Account number of remittee/debtor (DTAUS field C5).
This field is constraint to a maximum of 10 digits. Attempting to set a string
that is longer or contains nondigit characters is rejected with an exception.
When a new BACDTAUSRecord object is created this property is initialized with
10 zero digits, giving an invalid DTAUS file. Hence, an application must
initialize this field before attempting to write the DTAUS file.
If a string is set that is shorter that 10 digits, it is padded with leading
zero digits as soon as it is set. That means, that reading back this property
already includes the padding digits.
String BACDTAUSRecord::HisBankCode;
Bank code of ultimate bank (DTAUS field C4).
This field is constraint to eight digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception. When a new BACDTAUSRecord object is created this property is initialized with eight zero digits, giving an invalid DTAUS file. Hence, an application must initialize this field before attempting to write the DTAUS file.
String BACDTAUSRecord::HisName;
Name of remittee/debtor (DTAUS field C14a).
This field is constraint to a maximum of two lines of 27 characters each. If
two lines are used, the second line is separated with a CR/LF sequence. This
field must not be terminated by a CR/LF sequence. Attempting to set a string
that violates these constraints is rejected with an exception.
When a new BACDTAUSRecord object is created this property is initialized
with an empty string, giving an invalid DTAUS file. Hence, an application must
initialize this field before attempting to write the DTAUS file.
String BACDTAUSRecord::MyAccountNumber;
Account number of remitter/payee (DTAUS field C11).
This field is constraint to a maximum of 10 digits. Attempting to set a string
that is longer or contains nondigit characters is rejected with an exception.
When a new BACDTAUSRecord object is created this property is initialized
with the account number from the property BACDTAUSFile::MyAccountNumber of
the parent BACDTAUSFile object. Hence, it is advisable to initialise the
parent BACDTAUSFile object before creating BACDTAUSRecord objects with
it.
If a string is set that is shorter that 10 digits, it is padded with leading
zero digits as soon as it is set. That means, that reading back this property
already includes the padding digits.
String BACDTAUSRecord::MyBankCode;
Bank code of initially instructed bank/first collecting agent (DTAUS field C10).
This field is constraint to eight digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception. When a new BACDTAUSRecord object is created this property is initialized with the bank code from the property BACDTAUSFile::MyBankCode of the parent BACDTAUSFile object. Hence, it is advisable to initialise the parent BACDTAUSFile object before creating BACDTAUSRecord objects with it.
String BACDTAUSRecord::MyName;
Name of remittee/debtor (DTAUS field C15).
This field is constraint to a maximum of two lines of 27 characters each. If
two lines are used, the second line is separated with a CR/LF sequence. This
field must not be terminated by a CR/LF sequence. Attempting to set a string
that violates these constraints is rejected with an exception.
When a new BACDTAUSRecord object is created this property is initialized
with the name from the property BACDTAUSFile::MyName of the parent
BACDTAUSFile object. Hence, it is advisable to initialise the parent
BACDTAUSFile object before creating BACDTAUSRecord objects with it.
String BACDTAUSRecord::Purpose;
Memo field (DTAUS field C16).
This field is constraint to a maximum of 14 lines of 27 characters each. If
more than one line is used, lines are separated with a CR/LF sequence. This
field must not be terminated by a CR/LF sequence. Attempting to set a string
that violates these constraints is rejected with an exception.
When a new BACDTAUSRecord object is created this property is initialized
with an empty string, giving an invalid DTAUS file. Hence, an application must
initialize this field before attempting to write the DTAUS file.
Long BACDTAUSRecord::TextKey;
Indication of the type of payment (DTAUS field C7a).
This field is constraint to a maximum value of 99. Attempting to set a larger value is rejected with an exception. When a new BACDTAUSRecord object is created this property is initialized with the value 0, giving an invalid DTAUS file. Hence, an application must initialize this field before attempting to write the DTAUS file.
Long BACDTAUSRecord::TextKeyExtension;
Indication of the type of payment extension (DTAUS field C7b).
This field is constraint to a maximum value of 999. Attempting to set a larger value is rejected with an exception. When a new BACDTAUSRecord object is created this property is initialized with the value 0.
Data record V (reporting data record for services, transfers and financial transactions)
String BACDTAZV_V_Record::Country;
Short name as per country index for the balance of payments statistics (see Appendix 3, part E)
String BACDTAZV_V_Record::CountryCodeIsoAlpha2;
Two-letter ISO alpha country code as per country index for the balance of payments statistics;
Boolean BACDTAZV_V_Record::DirectMerchanting;
Sale of merchanting goods to non-residents (direct merchanting)
String BACDTAZV_V_Record::GoodsChapter;
Chapter number of goods index for purchased merchanting goods As per classification of goods for the German foreign trade statistics
String BACDTAZV_V_Record::GoodsPurchased;
Designation of merchanting goods purchased
Boolean BACDTAZV_V_Record::IndirectMerchanting;
Code for sale of merchanting goods to residents (indirect merchanting)
String BACDTAZV_V_Record::MerchantingCountry;
Purchasing country merchanting Short name as per country index for balance of payments statistics; to be completed only for direct merchanting (J in field V8)
String BACDTAZV_V_Record::MerchantingCountryCodeIsoAlpha2;
Country code of purchasing country Two-letter ISO alpha country code as per country index for the balance of payments statistics; left aligned; third digit is a space; to be completed only if direct merchanting (J in field V8)
String BACDTAZV_V_Record::MerchantingGoodsChapter;
Chapter number of goods index for merchanting goods sold As per classification of goods for the German foreign trade statistics; to be completed only for direct merchanting (J in field V8) and if field V13a is not identical with field V4a
String BACDTAZV_V_Record::MerchantingGoodsDesignation;
Designation of merchanting goods sold To be completed only for direct merchanting (J in field V8) and if not identical with field V3
Boolean BACDTAZV_V_Record::MerchantingGoodsNotSold;
Code: merchanting goods not sold in storage in foreign country
String BACDTAZV_V_Record::MerchantingInfo;
Additional information merchanting Name and domicile of subsequent buyer in the case of indirect merchanting (J in field V9)
String BACDTAZV_V_Record::MerchantingSalesDueDate;
Due date for sales proceeds of merchanting sales Only for direct merchanting (J in field V8); format: YYMM
String BACDTAZV_V_Record::MerchantingSellingPrice;
Selling price merchanting (no decimal places) To be completed only if direct merchanting (J in field V8), to be given in order currency (see field T13); for euro equivalent payments give the value in euro and enter 㣿 in field T19
String BACDTAZV_V_Record::Price;
To be given in order currency (see field T13); for euro equivalent payments give the value in euro and enter 㣿 in field T19.
Collection of Data record W (reporting data record for services, transfers and financial transactions)
void BACDTAZV_V_Records::Add(
[in] BACDTAZV_V_Record* piSegment,
[in] Long lBeforeIndex);
Add another BACDTAZV_V_Record object to this collection.
void BACDTAZV_V_Records::Clear();
Removes all BACDTAZV_V_Record objects from this collection.
Long BACDTAZV_V_Records::Count;
Read only property that provides the number of BACDTAZV_V_Record objects in this collection.
BACDTAZV_V_Record* BACDTAZV_V_Records::Item([in] Long lIndex);
The Item property provides indexed access BACDTAZV_V_Record objects stored in this collection. The Item property is the default value of the BACDTAZV_V_Records object.
void BACDTAZV_V_Records::Remove(
[in] Long lIndex);
Remove BACDTAZV_V_Record object from collection.
Data record W (reporting data record for services, transfers and financial transactions)
String BACDTAZV_W_Record::Amount;
To be given in order currency (see field T13); for euro equivalent payments give the value in euro and enter 㣿 in field T19.
String BACDTAZV_W_Record::CodeNumber;
As per coding list (Annex LV to the Foreign Trade and Payments Regulation)
String BACDTAZV_W_Record::Country;
Short name as per country index for the balance of payments statistics (see Appendix 3, part E)
String BACDTAZV_W_Record::CountryCodeIsoAlpha2;
Two-letter ISO alpha country code as per country index for the balance of payments statistics;
String BACDTAZV_W_Record::Info;
Important features of underlying transaction
String BACDTAZV_W_Record::InvestmentCountry;
Short name as per country index for the balance of payments statistics
String BACDTAZV_W_Record::InvestmentCountryCodeIsoAlpha2;
Two-letter ISO alpha country code as per country index for the balance of payments statistics 3;
String BACDTAZV_W_Record::TransactionType;
Services, transfers = ֬ Financial transactions and capital yield = ֮
Collection of Data record W (reporting data record for services, transfers and financial transactions)
void BACDTAZV_W_Records::Add(
[in] BACDTAZV_W_Record* piSegment,
[in] Long lBeforeIndex);
Add another BACDTAZV_W_Record object to this collection.
void BACDTAZV_W_Records::Clear();
Removes all BACDTAZV_W_Record objects from this collection.
Long BACDTAZV_W_Records::Count;
Read only property that provides the number of BACDTAZV_W_Record objects in this collection.
BACDTAZV_W_Record* BACDTAZV_W_Records::Item([in] Long lIndex);
The Item property provides indexed access BACDTAZV_W_Record objects stored in this collection. The Item property is the default value of the BACDTAZV_W_Records object.
void BACDTAZV_W_Records::Remove(
[in] Long lIndex);
Remove BACDTAZV_W_Record object from collection.
The BACDTAZVFile object represents a complete DTAZV file.
The BACDTAZVFile is a persistent object that implements all methods and
properties of the IBACPersistentObject interface, without actually deriving
from this interface.
The BACDTAZVFile object is a collection that holds transfer records.
If a new BACDTAZVFile is created the records collection is empty.
The prefix "My" is used for the sender and orderer of the file.
The prefix "His" is used for the receiving person of the money.
The BACDTAZVFile can be converted to an XML representation and can be initalized from
an XML string through the IBACTransmogrif interface.
If element 'AmountCheckSum' is not supported check sum is calculated, otherwise it's checked against the correct value, same is for 'RecordCount'.
<!DOCTYPE OBJECT [ <!ELEMENT OBJECT (FirstBankCode? , MyNumber? , MyAddress? , CreationDate? , DailySerialNumber? , ExecutionDate? , ForwardingToAuthority? , TerritoryId? , CompanyId? , AmountCheckSum? , RecordCount? , BACDTAZVRecord+ )> <!ATTLIST OBJECT FORMAT CDATA #FIXED "DTAZV"> <!ELEMENT FirstBankCode (#PCDATA )> <!ELEMENT MyNumber (#PCDATA )> <!ELEMENT MyAddress (#PCDATA )> <!ELEMENT CreationDate (DATE )> <!ELEMENT DailySerialNumber (#PCDATA )> <!ELEMENT ExecutionDate (DATE )> <!ELEMENT ForwardingToAuthority (#PCDATA )> <!ELEMENT TerritoryId (#PCDATA )> <!ELEMENT CompanyId (#PCDATA )> <!ELEMENT AmountCheckSum (#PCDATA )> <!ELEMENT RecordCount (#PCDATA )> <!ELEMENT BACDTAZVRecord (MyBankCode? , MyAccountCurrency? , MyAccountNumber? , ExecutionDate? , MyBankCodeEx? , MyAccountCurrencyEx? , MyAccountNumberEx? , HisBankCode? , HisBankCountryCode? , HisBankAddress? , HisCountryCode? , HisAddress? , OrderRemark? , HisAccountNumber? , Amount? , Purpose? , InstructionCode1? , InstructionCode2? , InstructionCode3? , InstructionCode4? , InstructionInformation? , CostChargingKey? , PaymentType? , MyReferenceText? , ContactPerson? , ReportingKey?, ReportRecordW?, ReportRecordV? )> <!ELEMENT MyBankCode (#PCDATA )> <!ELEMENT MyAccountCurrency (#PCDATA )> <!ELEMENT MyAccountNumber (#PCDATA )> <!ELEMENT MyBankCodeEx (#PCDATA )> <!ELEMENT MyAccountCurrencyEx (#PCDATA )> <!ELEMENT MyAccountNumberEx (#PCDATA )> <!ELEMENT HisBankCode (#PCDATA )> <!ELEMENT HisBankCountryCode (#PCDATA )> <!ELEMENT HisBankAddress (#PCDATA )> <!ELEMENT HisCountryCode (#PCDATA )> <!ELEMENT HisAddress (#PCDATA )> <!ELEMENT OrderRemark (#PCDATA )> <!ELEMENT HisAccountNumber (#PCDATA )> <!ELEMENT Amount (VALUE )> <!ELEMENT Purpose (#PCDATA )> <!ELEMENT InstructionCode1 (#PCDATA )> <!ELEMENT InstructionCode2 (#PCDATA )> <!ELEMENT InstructionCode3 (#PCDATA )> <!ELEMENT InstructionCode4 (#PCDATA )> <!ELEMENT InstructionInformation (#PCDATA )> <!ELEMENT CostChargingKey (#PCDATA )> <!ELEMENT PaymentType (#PCDATA )> <!ELEMENT MyReferenceText (#PCDATA )> <!ELEMENT ContactPerson (#PCDATA )> <!ELEMENT ReportingKey (#PCDATA )> <!ELEMENT TransactionType (#PCDATA)> <!ELEMENT CodeNumber (#PCDATA)> <!ELEMENT Info (#PCDATA)> <!ELEMENT Country (#PCDATA)> <!ELEMENT CountryCodeIsoAlpha2 (#PCDATA)> <!ELEMENT InvestmentCountry (#PCDATA)> <!ELEMENT InvestmentCountryCodeIsoAlpha2 (#PCDATA)> <!ELEMENT GoodsPurchased (#PCDATA )> <!ELEMENT GoodsChapter (#PCDATA )> <!ELEMENT Price (VALUE )> <!ELEMENT DirectMerchanting (#PCDATA )> <!ELEMENT IndirectMerchanting (#PCDATA )> <!ELEMENT MerchantingGoodsNotSold (#PCDATA )> <!ELEMENT MerchantingGoodsDesignation (#PCDATA )> <!ELEMENT MerchantingGoodsChapter (#PCDATA )> <!ELEMENT MerchantingSalesDueDate (#PCDATA )> <!ELEMENT MerchantingCountry (#PCDATA )> <!ELEMENT MerchantingCountryCodeIsoAlpha2 (#PCDATA )> <!ELEMENT MerchantingSellingPrice (VALUE )> <!ELEMENT MerchantingInfo (#PCDATA )> <!ELEMENT VALUE (#PCDATA )> <!ATTLIST VALUE CURRENCY CDATA #REQUIRED PREFIX CDATA #REQUIRED > <!ELEMENT DATE EMPTY> <!ATTLIST DATE YEAR CDATA #REQUIRED MONTH (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09) "1" DAY (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 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09) "1" > <!ELEMENT ReportRecordW (TransactionType, CodeNumber, Country, CountryCodeIsoAlpha2, InvestmentCountry?, InvestmentCountryCodeIsoAlpha2?, Amount, Info?)> <!ELEMENT ReportRecordV (GoodsPurchased, GoodsChapter, Country, CountryCodeIsoAlpha2, Price, DirectMerchanting, IndirectMerchanting, MerchantingGoodsNotSold, MerchantingGoodsDesignation?, MerchantingGoodsChapter?, MerchantingSalesDueDate?, MerchantingCountry?, MerchantingCountryCodeIsoAlpha2?, MerchantingSellingPrice?, MerchantingInfo? )> ]>
String BACDTAZVFile::AmountCheckSum;
Sum of all values independent of currency and post decimal digits (DTAZV field Z3). Property is read only, value is each time calculated when property is read.
String BACDTAZVFile::CompanyId;
If an company (or customer) repeatedly sends a report to authority, they have to get an CompanyId by the authority and put it into else they can use "00999995" als a collective number (DTAZV field Q11).
Only digits are allowed, default value is "00999995".
Date BACDTAZVFile::CreationDate;
File creation date (DTAZV field Q6).
When a new BACDTAZVFile object is created this property is initialized with the current date.
String BACDTAZVFile::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.
Long BACDTAZVFile::DailySerialNumber;
The daily serial number for identification of an DTAZV file (DTAZV field Q7).
Date BACDTAZVFile::ExecutionDate;
Date of execution of DTAZV file (DTAZV field Q8).
It's not allowed to set ExecutionDate before CreationDate. The ExecutionDate also have to be smaller than CreationDate plus 15 days.
String BACDTAZVFile::FirstBankCode;
Bank code of financial institution receiving first the DTAZV file (DTAZV field Q3).
This field is constraint to eight digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception.
Boolean BACDTAZVFile::ForwardingToAuthority;
Set to TRUE if receiver of DTAZV file should forward the data at authority (DTAZV field Q9). Default value is FALSE:
Boolean BACDTAZVFile::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.
IBACDTAZVRecord* BACDTAZVFile::Load(
[in] String sFilename);
Loads the object data from the given file. The object is reinitialised with the loaded data. At reading there are done minimal checks of DTAZV length, and all check sums from Record Z.
DTAZV files with reporting records are not supported yet.
IPersistFile::Load in the COM specification.
String BACDTAZVFile::MyAddress;
Address of customer (DTAZV field Q5). 4 Lines, each seperated by a CR/LF sequence. At first and second line there have to be the name, at the third the street information and at the forth the city data.
This field is constraint to 4 lines of maximal 35 characters each. Attempting to set a string of another length is rejected with an exception. At setting a new value the value is converted by the DTAZV specification (all umlaut characters are converted eg. 'Ä' to 'AE' and all lower characters are converted to upper characters).
String BACDTAZVFile::MyNumber;
Number of customer at the FirstBankCode (DTAZV field Q4). That is in germany mostly the account number.
This field is constraint to ten digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception.
IBACDTAZVFile* BACDTAZVFile::RecordAdd(
[in] Long lBeforeIndex);
Creates a new BACDTAZVRecord object, inserts it into this collection and returns a reference to it.
This method returns a reference to the inserted BACDTAZVRecord object.
void BACDTAZVFile::RecordClear();
Removes all BACDTAZVRecord objects from this collection. Leaving an all empty collection.
Long BACDTAZVFile::RecordCount;
Read only property that provides the number of BACDTAZVRecord objects in the Records collection.
IBACDTAZVFile* BACDTAZVFile::RecordItem(long lIndex);
Indexed read only property that provides direct access to the BACDTAZVRecord objects in this collection.
The index must be in the range from zero through RecordCount -1.
This property is the value property of this object.
void BACDTAZVFile::RecordRemove(
[in] long lIndex);
Removes the indicated BACDTAZVRecord object from this collection.
void BACDTAZVFile::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 BACDTAZVFile::SaveAs(
[in] String sFilename);
Saves the object using the given filename.
IPersistFile::Save in the COM specification.
void BACDTAZVFile::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.
Long BACDTAZVFile::TerritoryId;
Territory identification of territory where authority resides (DTAZV field Q10).
It's mandatory if property ForwardingToAuthority is set to TRUE.
| TerritoryId | Description |
|---|---|
| 13 | Baden-Württemberg |
| 11 | Bayern |
| 1 | Berlin |
| 42 | Brandenburg |
| 14 | Bremen |
| 24 | Hamburg |
| 12 | Hessen |
| 41 | Mecklenburg-Vorpommern |
| 21 | Niedersachsen |
| 22 | Nordrhein-Westfalen |
| 31 | Reihnland-Pfalz |
| 32 | Saarland |
| 44 | Sachsen |
| 43 | Sachsen-Anhalt |
| 23 | Schleswig-Holstein |
| 45 | Thüringen |
The BACDTAZVRecord object represents one transaction.
A BACDTAZVRecord object represents the DTAZV sequence "T" and all additional "U", "V" and "W" records.
Currency BACDTAZVRecord::Amount;
Amount of order (DTAZV field 14). Only 14 integer places and 3 decimal places are allowed. Currency of Amount is set by property Currency.
String BACDTAZVRecord::ContactPerson;
Name and telephone number and possibly proxy message (DTAZV field 24). Client contact for any internal queries from the bank instructed or authorities. If order originator is not the payment source, this is followed by "INVF" without spaces, followed by state number of payment source (2 digits), and company number or bank code of payment source (8 digits).
This optional field is constraint to maximal 35 characters. Attempting to set a string of another length is rejected with an exception.
Long BACDTAZVRecord::CostChargingKey;
Cost charging key (DTAZV field 21). If an new object is created the default value is 0.
| Possible Values | Description |
|---|---|
| 0 | Transfer charges against account of client/outside charges against account of beneficiary. |
| 1 | All charges for account of client. |
| 2 | All charges for recipient account. |
String BACDTAZVRecord::Currency;
Order currency (DTAZV field 13). ISO code of the currency to be paid (if the order currency is not DM or euro, it must be the same as the currency of the account to be debited for the order value, unless the account to be debited for the order value is a DM or euro account).
This field is constrained by a maximum length of 3 characters. Attempting to set a string of another length is rejected with an exception.
Date BACDTAZVRecord::ExecutionDate;
Optional file execution date (DTAZV field T5).
If no execution date was, or shall be specified, then this property is initialized with a null date. When a new BACDTAZVRecord object is created this property is initialized with a null date.
For C++ programmers the DATE type is simply a double. Thus a null date is
represented by the double value zero.
For VB programmers a null date can be passed by simply giving a literal zero.
String BACDTAZVRecord::HisAccountNumber;
Account of beneficiary or IBAN (DTAZV field 12).
This field is optional with a maximum length of 35 characters. Attempting to set a string of another length is rejected with an exception.
String BACDTAZVRecord::HisAddress;
Address of receiver (DTAZV field 10b). 4 Lines, each seperated by a CR/LF sequence. At first and second line there have to be the name, at the third the street information and at the forth the city data.
This field is constraint to 4 lines of maximal 35 characters each. Attempting to set a string of another length is rejected with an exception. At setting a new value the value is converted by the DTAZV specification (all umlaut characters are converted eg. 'Ä' to 'AE' and all lower characters are converted to upper characters).
String BACDTAZVRecord::HisBankAddress;
Address of bank of beneficiary (DTAZV field 9b). 4 Lines, each seperated by a CR/LF sequence. At first and second line there have to be the name, at the third the street information and at the forth the city data. It's not allowed to fill this field if HisBankCode is filled with a "SWIFT" address or an german bank sort code. The default value of this field is "UNBEKANNT", this value should be set if no address is supplied.
This field is constraint to 4 lines of maximal 35 characters each. Attempting to set a string of another length is rejected with an exception. At setting a new value the value is converted by the DTAZV specification (all umlaut characters are converted eg. 'Ä' to 'AE' and all lower characters are converted to upper characters).
String BACDTAZVRecord::HisBankCode;
Bank Code of recipiant (DTAZV field T8). As content insert the "SWIFT" address of the receivers financial institution or other identification codes. If you insert a german bank sort code (BLZ) the first three characters have to be "///".
This optional field is constraint to eleven digits. Attempting to set a longer string is rejected with an exception.
String BACDTAZVRecord::HisBankCountryCode;
Country code of recipiant (DTAZV field T9a). For a detailed list of all country codes see DTAZV norm. Field should one be supplied if HisBankCode is empty. Since 1/1/2003 the two-digit ISO-alpha- Countrycode must contained by this field. Third digit must be a space character.
This optional field is constraint to three alphanumeric characters. Attempting to set a longer string is rejected with an exception.
| Country code | Country |
|---|---|
| AT | Austria (Oesterreich) |
| BE | Belgium (Belgien) |
| DK | Danmark (Daenemark) |
| ES | Spain (Spanien) |
| FI | Finland (Finnland) |
| FR | France (Frankreich) |
| GB | Great Britian (Grossbritannien) |
| GF | French Guiana (Franzoesisch Guyana) |
| GP | Guadeloupe (Guadeloupe) |
| GR | Greece (Griechenland) |
| IE | Ireland (Irland) |
| IT | Italy (Italien) |
| LU | Luxembourg (Luxemburg) |
| MQ | Martinique (Martinique) |
| NL | Netherlands (Niederlande) |
| PT | Portugal (Portugal) |
| RE | Reunion (Reunion) |
| SE | Sweden (Schweden) |
String BACDTAZVRecord::HisCountryCode;
Country code of recipant (DTAZV field T10a). For a detailed list of all country codes see DTAZV norm. See also proptery HisBankCountryCode.
This field is constraint to three a alphanumeric characters. Attempting to set a longer string is rejected with an exception.
Long BACDTAZVRecord::InstructionCode1;
Payment instruction code (DTAZV field 16).
See Appendix 2 at DTAZV norm for a detailed list of possible values.
Long BACDTAZVRecord::InstructionCode2;
Payment instruction code (DTAZV field 17).
See Appendix 2 at DTAZV norm for a detailed list of possible values.
Long BACDTAZVRecord::InstructionCode3;
Payment instruction code (DTAZV field 18). From the beginning of Stage 3 of the EMU, to be filled-in with '95' if the amounts in data records U, V and W are given in the order currency, i.e. the one specified at property Currency.
See Appendix 2 at DTAZV norm for a detailed list of possible values.
Long BACDTAZVRecord::InstructionCode4;
Payment instruction code (DTAZV field 19). For the instruction "DM counter value payment" or "Euro counter value payment" see Appendix 1a at DTAZV norm.
See Appendix 2 at DTAZV norm for a detailed list of possible values.
String BACDTAZVRecord::InstructionInformation;
Additional information to instruction code (DTAZV field 20). E.g. telex, telephone number, cable address.
This optional field is constraint to maximal 25 characters. Attempting to set a string of another length is rejected with an exception.
String BACDTAZVRecord::MyAccountCurrency;
Currency of Amount (DTAZV field T4a).
This field is constraint to three digits. Attempting to set a string of antoher length or with non-digit characters is rejected with an exception. Default value is "EUR".
String BACDTAZVRecord::MyAccountCurrencyEx;
Account to be debited for fees and expenses (DTAZV field T7a). Only if different from property MyAccountCurrency
This field is constraint to three digits. Attempting to set a string of antoher length or with non-digit characters is rejected with an exception.
String BACDTAZVRecord::MyAccountNumber;
Account number of customer at MyBankCode (DTAZV field T4b).
This field is constraint up to ten digits. Attempting to set a longer string or with non-digit characters is rejected with an exception.
String BACDTAZVRecord::MyAccountNumberEx;
Account number for bill of expenses (DTAZV field T7b). Only be allowed to fill if not equal to MyAccountNumber.
This optional field is constraint up to ten digits. Attempting to set a longer string or with non-digit characters is rejected with an exception.
String BACDTAZVRecord::MyBankCode;
Bank code of senders financial institution (DTAZV field T3).
This field is constraint to eight digits. Attempting to set a string of another length or with non-digit characters is rejected with an exception.
String BACDTAZVRecord::MyBankCodeEx;
Bank Code for bill of expenses (DTAZV field T6). Only be allowed to fill if not equal to MyBankCode.
This optional field is constraint to eight digits. Attempting to set a longer string or with non-digit characters is rejected with an exception.
String BACDTAZVRecord::MyReferenceText;
Variable text, for client reference only (DTAZV field 23). To be filled-in by client for personal use (e.g. reference no.). Is not transmitted; Property Purpose is for information to be transmitted.
This optional field is constraint to maximal 27 characters. Attempting to set a string of another length is rejected with an exception.
String BACDTAZVRecord::OrderRemark;
Remark of order (DTAZV field 11). 2 Lines, each seperated by a CR/LF sequence. Only used for cheques (20-23, 30-33 in Field T 22) or if different from Lines 1 and 2 of Field T 10b
This field is constraint to 2 lines of maximal 35 characters each. Attempting to set a string of another length is rejected with an exception.
Long BACDTAZVRecord::PaymentType;
Identification of payment type (DTAZV field 22). For a detailed list of all possible payment types see appendix 1 at DTAZV norm.
String BACDTAZVRecord::Purpose;
Payment purpose (DTAZV field 15). 4 Lines, each seperated by a CR/LF sequence.
This field is constraint to 4 lines of maximal 35 characters each. Attempting to set a string of another length is rejected with an exception.
Long BACDTAZVRecord::ReportingKey;
Reporting key (DTAZV field 25). Used to indicate exemption from mandatory reporting to the Bundesbank, i.e. if only statistical data is forwarded.
IDispatch BACDTAZVRecord::ReportingRecordsU;
Collection of all reporting U records, concerns goods import.
This is a read only property.
Reporting records are not (and will never be...) supported.
IDispatch BACDTAZVRecord::ReportingRecordsV;
Collection of all reporting V records, concerning transit trade.
This is a read only property.
IDispatch BACDTAZVRecord::ReportingRecordsW;
Collection of all reporting W records. Reporting record for other payments: for services, capital payments etc.
This is a read only property.