Class DtazvParser
Parser for DTAZV files.
Inherited Members
Namespace: Subsembly.Dtazv
Assembly: Subsembly.Sepa.dll
Syntax
public class DtazvParser : DtazvBase
Constructors
DtazvParser(Byte[])
Declaration
public DtazvParser(byte[] vbDtausData)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | vbDtausData | Provides the raw binary DTAUS data to be processed by this DtazvParser
instance. This parameter must not be |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | The parameter |
System.ArgumentException | The length of the provided data buffer was not a muplitiple of the block size of 128 bytes. |
Properties
BankCode
The bank code from ReadRecordQ().
Declaration
public string BankCode { get; }
Property Value
Type | Description |
---|---|
System.String |
BuildDate
The build date from field Q6 from the most recent record Q.
Declaration
public DateTime BuildDate { get; }
Property Value
Type | Description |
---|---|
System.DateTime | If no record Q was read so far, then this property has the value DateTime.MinValue. |
CustomerNumber
The customer number from ReadRecordQ().
Declaration
public string CustomerNumber { get; }
Property Value
Type | Description |
---|---|
System.String |
DailySeqNo
The daily sequence number from ReadRecordQ().
Declaration
public int DailySeqNo { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Initiator
The initiator name and address from ReadRecordQ().
Declaration
public DtazvNameAndAddress Initiator { get; }
Property Value
Type | Description |
---|---|
DtazvNameAndAddress |
RecordSize
Indicates the logical record size of the next record to be read.
Declaration
public int RecordSize { get; }
Property Value
Type | Description |
---|---|
System.Int32 | If the input is exhausted, then this will be zero. |
RecordType
Indicates the type of the next record to be read.
Declaration
public char RecordType { get; }
Property Value
Type | Description |
---|---|
System.Char | This is a NUL character if the input is exhausted. |
ScheduleDate
The schedule date from field Q8 from the most recent record Q.
Declaration
public DateTime ScheduleDate { get; }
Property Value
Type | Description |
---|---|
System.DateTime | If no schedule date was set in the DTAZV file, or no record Q was read so far, then this property has the value DateTime.MinValue. |
Methods
ReadDTAZV(Byte[])
Reads a complete DTAZV file from a data buffer.
Declaration
public static SepaDocument ReadDTAZV(byte[] vbDtausData)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | vbDtausData | Binary buffer that contains the DTAZV data to be parsed. |
Returns
Type | Description |
---|---|
SepaDocument | Returns a SepaDocument according to the German AXZ pain.001.001.09 format. |
Remarks
All T records that are read from the DTAZV data buffer are converted into individual SepaCreditTransferPaymentInformation instances, with a single SepaCreditTransferTransactionInformation child element.
The ServiceLevelCode of the returned transactions is always NURG. If the DTAZV field T22 contains "10", the InstructionPriority will be set to "HIGH".
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | The parameter |
ReadDTAZV(String)
Reads a complete DTAZV file.
Declaration
public static SepaDocument ReadDTAZV(string sFileName)
Parameters
Type | Name | Description |
---|---|---|
System.String | sFileName | File name of DTAZV file to be read. This file may contain multiple logical files. |
Returns
Type | Description |
---|---|
SepaDocument |
Remarks
All T records that are read from the DTAZV data buffer are converted into individual SepaCreditTransferPaymentInformation instances, with a single SepaCreditTransferTransactionInformation child element.
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | The parameter |
System.ArgumentException | The parameter |
ReadRecordQ()
Declaration
public bool ReadRecordQ()
Returns
Type | Description |
---|---|
System.Boolean | If the input data is already exhausted when this method is called, then
|
Exceptions
Type | Condition |
---|---|
DtazvException | The input data doesn't start with a DTAZV record Q header. |
ReadRecordT()
Reads a DTAZV record T from the input data.
Declaration
public SepaCreditTransferPaymentInformation ReadRecordT()
Returns
Type | Description |
---|---|
SepaCreditTransferPaymentInformation | The data from the T record is collected in a new
SepaCreditTransferPaymentInformation instance which is returned by
this method. If an immediate end of data was encountered, then |
Remarks
The ServiceLevelCode of the returned transactions is always NURG. If the DTAZV field T22 contains "10", the InstructionPriority will be set to "HIGH".
Exceptions
Type | Condition |
---|---|
DtazvException | The input data doesn't start with a DTAZV record T header. |
ReadRecordZ()
Reads a complete Z record and validates total amount/total count.
Declaration
public bool ReadRecordZ()
Returns
Type | Description |
---|---|
System.Boolean | If the input data is already exhausted when this method is called, then
|
Exceptions
Type | Condition |
---|---|
DtazvException | The input data doesn't start with a DTAZV record Z header. The calculated total amount (over all T records) differs from the total amount from the Z record (checksum error). The number of read T records differs from the total count field in this Z record (checksum error). |
Reset()
Resets the properties and the check sums, but not the input offset.
Declaration
public void Reset()