king_dtaus 1.0.2 → 2.0.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rvmrc +1 -0
- data/DTAUS0.TXT +1 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +38 -0
- data/README.rdoc +87 -20
- data/Rakefile +5 -25
- data/VERSION +1 -1
- data/docs/dtazv.pdf +0 -0
- data/docs/dtazv_bank_bbk.pdf +0 -0
- data/example.output +7 -0
- data/king_dtaus.gemspec +31 -11
- data/lib/king_dta/account.rb +48 -15
- data/lib/king_dta/booking.rb +4 -4
- data/lib/king_dta/dta.rb +53 -0
- data/lib/king_dta/dtaus.rb +22 -68
- data/lib/king_dta/dtazv.rb +470 -0
- data/lib/king_dtaus.rb +7 -5
- data/spec/account_spec.rb +140 -13
- data/spec/booking_spec.rb +4 -3
- data/spec/dtaus_spec.rb +44 -23
- data/spec/dtazv_spec.rb +294 -0
- data/spec/dtazv_test.rb +105 -0
- data/spec/helper_spec.rb +3 -4
- data/spec/spec_helper.rb +80 -7
- metadata +91 -20
@@ -0,0 +1,470 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module KingDta
|
3
|
+
class Dtazv < Dta
|
4
|
+
|
5
|
+
# Create a new dtazv file/string.
|
6
|
+
# ===Parameter
|
7
|
+
# typ<Date>:: date when the the transfer is to be created
|
8
|
+
def initialize(date=Date.today)
|
9
|
+
raise ArgumentError.new("Wrong date format. Make it a Time or Date object with yyyy-mm-dd") unless date.respond_to?(:strftime)
|
10
|
+
@date = date
|
11
|
+
@value_pos = true #all values are positive by default. Variable changes with first booking entry
|
12
|
+
@closed = false
|
13
|
+
@default_text = 'Want some? Come, get some!' # default verwendungzweck
|
14
|
+
end
|
15
|
+
|
16
|
+
# Creates the whole dta string(in the right order) and returns it
|
17
|
+
# === Raises
|
18
|
+
# error if there are no bookings
|
19
|
+
def create
|
20
|
+
raise Exception.new("Cannot create DTAUS without bookings") if bookings.empty?
|
21
|
+
@closed = true
|
22
|
+
# cleanup before we start
|
23
|
+
@dta_string = dta_string.empty? ? dta_string : ''
|
24
|
+
add_q
|
25
|
+
bookings.each{ |b| add_t(b) }
|
26
|
+
add_z(bookings)
|
27
|
+
end
|
28
|
+
|
29
|
+
#Erstellen P-Segment der DTAZV-Datei
|
30
|
+
# - P Datei-Vorsatz mit 256 Bytes
|
31
|
+
# === Parameter
|
32
|
+
# booking<Object>::Booking object to be written to c-sektion
|
33
|
+
#
|
34
|
+
# === Returns
|
35
|
+
# <String>:: The current dta_string
|
36
|
+
# Aufbau und Erläuterungen der Datei
|
37
|
+
# Datensatz P (Datei-Vorsatz)
|
38
|
+
|
39
|
+
# Der Vorsatz enthält Informationen über ein Institut, das Kundendatensätze Q, T, V und W als Meldung
|
40
|
+
# nach §§ 59 ff. der AWV weiterleitet. Der Vorsatz bezieht sich auf alle unmittelbar folgen den
|
41
|
+
# Kundendatensätze, deren Folge mit einem Datei-Nachsatz Y abgeschlossen wird.
|
42
|
+
|
43
|
+
# Legende:
|
44
|
+
# K = Kannfeld
|
45
|
+
# P = Pflichtfeld
|
46
|
+
# K/P = Pflichtfeld in Abhängigkeit von bestimmten Kriterien
|
47
|
+
# N = nicht belegbares Feld
|
48
|
+
# alpha = alphanumerische Daten (linksbündig, nicht belegte Stellen: Leerzeichen)
|
49
|
+
# num = numerische Daten (rechtsbündig, nicht belegte Stellen Nullen)
|
50
|
+
|
51
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
52
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern 3, numerisch bei Disketten und DFÜ)
|
53
|
+
# 2 1 5 P alpha Satzart Konstante 'P'
|
54
|
+
# 3 8 6 K/P num Bankleitzahl BLZ des Einreichinstituts
|
55
|
+
# 4 4x35 14 P alpha Einreichinstitut Zeile 1 u. 2: Name; Zeile 3: Straße Postfach; Zeile 4: Ort
|
56
|
+
# 5 6 154 P num Erstellungsdatum In der Form JJMMTT
|
57
|
+
# 6 2 160 P num laufende Nummer Laufende Tagesnummer
|
58
|
+
# 7 95 162 N alpha Reserve
|
59
|
+
def add_p
|
60
|
+
# data = '0256' # Länge des Datensatzes, PFLICHT
|
61
|
+
# data += 'P' # Satzart, PFLICHT
|
62
|
+
# data += '%8i' % @account.bank_number # BLZ des Einreichinstituts, KANN
|
63
|
+
# data += '%70s' % @account.bank_name # Einreichinstitut Zeile 1 u. 2: Name; PFLICHT
|
64
|
+
# data += '%35s' % @account.account_street_zip # Einreichinstitut Straße Postfach; Ort PFLICHT
|
65
|
+
# data += '%35s' % @account.city # Einreichinstitut Zeile 4: Ort PFLICHT
|
66
|
+
# data += @date.strftime("%y%m%d") # Erstellungsdatum In der Form JJMMTT, PFLICHT
|
67
|
+
# data += '01' # laufende Nummer Laufende Tagesnummer, PFLICHT
|
68
|
+
# data += '%095s' % '' # Reserve
|
69
|
+
# raise "DTAUS: Längenfehler P (#{data.size} <> 256)\n" if data.size != 256
|
70
|
+
# dta_string << data
|
71
|
+
end
|
72
|
+
|
73
|
+
#Erstellen Q-Segment der DTAZV-Datei
|
74
|
+
# - Q Auftraggebersatz mit 256 oder 246 Bytes (= Datei-Vorsatz aus dem Datenaustausch zwischen Kunde und Bank)
|
75
|
+
# === Parameter
|
76
|
+
# booking<Object>::Booking object to be written to c-sektion
|
77
|
+
#
|
78
|
+
# === Returns
|
79
|
+
# <String>:: The current dta_string
|
80
|
+
|
81
|
+
# 5.2 Datensatz Q - lange Variante - (Identifikation des Auftraggebers)
|
82
|
+
# Die Bundesbank nimmt Q-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch mit den von
|
83
|
+
# den Auftraggebern gelieferten Q-Sätzen. In der kurzen Variante sind nur die Felder enthalten,
|
84
|
+
# die von der Bundesbank bei der Bearbeitung der Meldungen benötigt werden (siehe 5.3).
|
85
|
+
# Beide Varianten dürfen in einer Datei vorkommen.
|
86
|
+
|
87
|
+
# Datensatz Q - kurze Variante
|
88
|
+
# Die Bundesbank nimmt Q-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch mit
|
89
|
+
# den von den Auftraggebern gelieferten Q-Sätzen. In der kurzen Variante sind nur die Felder
|
90
|
+
# enthalten, die von der Bundesbank bei der Bearbeitung der Meldungen benötigt werden; das in der
|
91
|
+
# kurzen Variante nicht enthaltene Feld ist in der folgenden Tabelle durch Schattierung und Kursivschrift
|
92
|
+
# kenntlich gemacht. Beide Varianten dürfen in einer Datei vorkommen.
|
93
|
+
|
94
|
+
# [ Anmerk.: Bei der Kurzen Variante entfällt die Kundennummer ]
|
95
|
+
|
96
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
97
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
98
|
+
# 2 1 5 P alpha Satzart Konstante "Q"
|
99
|
+
# 3 8 6 P num BLZ Erstbeauftragtes Kreditinstitut
|
100
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN --------------------------------------------------------------------------------------------------------
|
101
|
+
# 4 10 14 P num Kundennummer Ordnungsnummer gemäß Vereinbarung mit dem erstbeauftragten Kreditinstitut (ggf. Kontonummer)
|
102
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
103
|
+
# 5 4x35 24 P alpha Auftraggeberdaten Zeile 1 und 2: Name; Zeile 3: Straße / Postfach; Zeile 4: Ort
|
104
|
+
# 6 6 164 P num Erstellungsdatum Format: JJMMTT
|
105
|
+
# 7 2 170 P num laufende Nummer Laufende Tagesnummer
|
106
|
+
# 8 6 172 P num (erster) Ausführungstermin Datei Format: JJMMTT; gleich oder bis zu höchstens 15 Kalendertage nach dem Datum aus Feld Q6
|
107
|
+
# 9 1 178 P alpha Weiterleitung an die Meldebehörde Soll das erstbeauftragte Kreditinstitut Meldedaten zu den nachfolgenden Zahlungen an die Bundesbank weiterleiten ? (siehe Erläuterungen im Anhang 3). 'J' Ja 'N' Nein
|
108
|
+
# 10 2 179 K/P num Bundeslandschlüssel Zwingend belegt, wenn Meldedaten zu den Zahlungen an die Bundesbank weitergeleitet wer den sollen. ('J' in Feld Q9)
|
109
|
+
# 11 8 181 K/P num Firmennummer / BLZ des Auftraggebers Siehe Erläuterungen Feld Q10
|
110
|
+
# 12 68 189 N alpha Reserve
|
111
|
+
def add_q
|
112
|
+
data1 = '0256' # Länge des Datensatzes, PFLICHT
|
113
|
+
data1 += 'Q' # Satzart, PFLICHT
|
114
|
+
data1 += '%08i' % @account.bank_number # BLZ des Einreichinstituts, PFLICHT
|
115
|
+
data1 += '%010i' % @account.account_number # Kundennummer, PFLICHT
|
116
|
+
data1 += '%-035s' % @account.client_firstname # Einreichinstitut Zeile 1 u. 2: Name, PFLICHT
|
117
|
+
data1 += '%-035s' % @account.client_surname # Einreichinstitut Zeile 1 u. 2: Name, PFLICHT
|
118
|
+
data1 += '%-035s' % @account.client_street # Einreichinstitut Zeile 3: Straße Postfach, PFLICHT
|
119
|
+
data1 += '%-035s' % @account.client_zip_city # Einreichinstitut Zeile 4: Ort, PFLICHT
|
120
|
+
data1 += @date.strftime("%y%m%d") # Erstellungsdatum In der Form JJMMTT, PFLICHT
|
121
|
+
data1 += '01' # laufende Nummer Laufende Tagesnummer, PFLICHT
|
122
|
+
data1 += @date.strftime("%y%m%d") # (erster) Ausführungstermin Datei, PFLICHT
|
123
|
+
data1 += "N" # Weiterleitung an die Meldebehörde, PFLICHT
|
124
|
+
data1 += "%02i" % 0 # Bundeslandschlüssel, KANN, NICHT BELEGT, KEINE MELDUNG
|
125
|
+
data1 += '%08i' % 0 # @account.bank_number # Firmennummer / BLZ des Auftraggebers, KANN, NICHT BELEGT, KEINE MELDUNG
|
126
|
+
data1 += '%068s' % '' # Reserve
|
127
|
+
raise "DTAUS: Längenfehler Q (#{data.size} <> 256)\n" if data1.size != 256
|
128
|
+
dta_string << data1
|
129
|
+
end
|
130
|
+
|
131
|
+
#Erstellen T-Segment der DTAZV-Datei
|
132
|
+
# - T Einzelzahlungssatz mit 768 oder 572 Bytes
|
133
|
+
# === Parameter
|
134
|
+
# booking<Object>::Booking object to be written to c-sektion
|
135
|
+
#
|
136
|
+
# === Returns
|
137
|
+
# <String>:: The current dta_string
|
138
|
+
|
139
|
+
# 5.4 Datensatz T - lange Variante - (Einzelzahlungssatz)
|
140
|
+
# Die Bundesbank nimmt auch T-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch
|
141
|
+
# mit den von den Auftraggebern gelieferten T-Sätzen. In der kurzen Variante sind
|
142
|
+
# nur die Felder enthalten, die von der Bundesbank bei der Bearbeitung der Meldungen
|
143
|
+
# benötigt werden (siehe 5.5). Beide Varianten dürfen in einer Datei vorkommen.
|
144
|
+
|
145
|
+
# 5.5 Datensatz T - kurze Variante
|
146
|
+
# Die Bundesbank nimmt auch T-Sätze in 2 Varianten entgegen. Die lange Variante ist identisch
|
147
|
+
# mit den von den Auftraggebern gelieferten T-Sätzen. In der kurzen Variante sind nur
|
148
|
+
# die Felder enthalten, die von der Bundesbank bei der Bearbeitung der Meldungen benötigt
|
149
|
+
# werden. Die in der kurzen Variante nicht enthaltenen Felder sind in der folgenden Tabelle
|
150
|
+
# durch Schattierung und Kursivschrift kenntlich gemacht. Beide Varianten dürfen in einer Datei vorkommen.
|
151
|
+
|
152
|
+
# Feld Länge in Bytes 1. Stelle im Satz Datenformat Inhalt Erläuterungen allg. Feldart allg. EU-Std.Ü. Feldart EU-Std.Ü. Besondere Belegungsvorschriften EUE-Ü. Feldart EUE-Ü. Besondere Belegungsvorschriften
|
153
|
+
# 1 4 1 binär/num Satzlänge Längenangabe des Satzes nach den Kon ventionen P P - P -
|
154
|
+
# für variable Satzlänge (binär bei Bändern
|
155
|
+
# numerisch bei Disketten und DFÜ)
|
156
|
+
# 2 1 5 alpha Satzart Konstante "T" P P - P -
|
157
|
+
# 3 8 6 num BLZ BLZ der kontoführenden Stelle des mit dem
|
158
|
+
# Auftragswert zu belastenden Kontos (Feld T4b) P P - P -
|
159
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
160
|
+
# 4a 3 14 alpha ISO-Währungscode Für mit Auftragswert zu belastendes Konto. P P Nur "EUR" zulälssig P Nur "EUR" zulässig
|
161
|
+
# 4b 10 17 num Kontonummer Mit Auftragswert zu belastendes Konto P P - P -
|
162
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
163
|
+
# 5 6 27 num Ausführungstermin Format: JJMMTT; gleich oder nach dem Datum aus K K - K -
|
164
|
+
# Einzelzahlung, wenn Feld Q8, jedoch bis zu höchstens 15 Kalendertage
|
165
|
+
# abweichend von Feld Q8 nach dem Datum aus Feld Q6; fehlt der Termin in
|
166
|
+
# T5, so wird das Datum in Q8 als Ausführungstermin
|
167
|
+
# angenommen.
|
168
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
169
|
+
# 6 8 33 num BLZ BLZ der kontoführenden Stelle des mit Entgelten K/P N - K/P -
|
170
|
+
# und Auslagen zu belastenden Kontos. (belegt,
|
171
|
+
# wenn dieses Konto abweicht von Auftragswertkonto)
|
172
|
+
# 7a 3 41 alpha ISO-Währungscode Währungscode des mit Entgelten und Aus lagen zu K/P N - K/P Nur 'EUR' zulässig
|
173
|
+
# belastenden Kontos. (belegt, wenn dieses Konto
|
174
|
+
# abweicht von Auftragswertkonto)
|
175
|
+
# 7b 10 44 num Kontonummer Kontonummer des mit Entgelten und Auslagen zu K/P N - K/P Nur 'EUR' zulässig
|
176
|
+
# belastenden Kontos. (belegt, wenn dieses Konto
|
177
|
+
# abweicht von Auftragswertkonto)
|
178
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
179
|
+
# 8 11 54 alpha Bank Identifier Code (BIC) Sofern die Zahlung an einen deutschen
|
180
|
+
# des Zahlungsdienstleisters Zahlungsdienstleister erfolgt, alternativ auch K/P P Bank Identifier Code P (BIC) P Bank Identifier Code (BIC) ist Pflicht.
|
181
|
+
# des Zahlungsempfängers oder die BLZ des Zahlungsdienstleisters des ist Pflicht. Zahlungsdienstleister
|
182
|
+
# sonstige Identifikation, z.B. Zahlungsempfängers, wobei dieser drei des Zahlungsempfängers muss in
|
183
|
+
# CHIPS-ID Schrägstriche voranzustellen sind. einem der Län der gemäß Anhang
|
184
|
+
# (Nicht zu belegen bei Scheckziehungen, 4 ansässig sein.
|
185
|
+
# d.h. bei den Zahlungsartschlüsseln
|
186
|
+
# 20-23 und 30-33 in Feld T22)
|
187
|
+
# 9a 3 65 alpha Ländercode für den 2-stelliger ISO-alpha-Ländercode gemäß
|
188
|
+
# Zahlungsdienstleister des Länderverzeichnis für die Zahlungsbilanzstatistik; K/P N - N -
|
189
|
+
# Zahlungsempfängers linksbündig zu belegen; 3. Stelle Leerzeichen
|
190
|
+
# (Pflichtfeld, wenn Feld T8 nicht belegt; nicht zu
|
191
|
+
# belegen bei Scheckziehungen, d.h. bei den
|
192
|
+
# Zahlungsartschlüsseln 20-23 und 30-33 in Feld T22)
|
193
|
+
# 9b 4x35 68 alpha Anschrift des Pflichtfeld, wenn Feld T8 nicht mit BIC- Adresse
|
194
|
+
# Zahlungsdienstleisters bzw. - bei Zahlungen an einen deutschen K/P N - N -
|
195
|
+
# des Zahlungsempfängers Zahlungsdienstleister - nicht mit BLZ belegt;
|
196
|
+
# sofern Anschrift nicht bekannt, Konstante
|
197
|
+
# „UNBEKANNT" Zeile 1 und 2: Name Zeile 3 :
|
198
|
+
# Straße Zeile 4 : Ort (Nicht zu belegen
|
199
|
+
# bei Scheckziehungen, d.h. bei den
|
200
|
+
# Zahlungsartschlüsseln 20-23 und 30-33 in Feld T22)
|
201
|
+
# 10a 3 208 alpha Ländercode für Land des 2-stelliger ISO-alpha-Ländercode gemäß P P - P
|
202
|
+
# Zahlungsempfängers bzw. Länderverzeichnis für die Zahlungsbilanzstatistik;
|
203
|
+
# Scheckempfängers linksbündig zu belegen; 3. Stelle Leerzeichen
|
204
|
+
# 10b 4x35 211 alpha Zahlungsempfänger bzw. Bei Zahlungsauftrag: Zahlungsempfänger Bei P P Angabe eines Scheckempfängers nicht P Angabe eines Scheck empfängers nicht möglich
|
205
|
+
# Scheckempfänger Scheckziehung: Scheckempfänger Zeile 1 und 2: möglich
|
206
|
+
# Name Zeile 3 : Straße Zeile 4 : Ort/Land.
|
207
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
208
|
+
# 11 2x35 351 alpha Ordervermerk Nur belegt bei Scheckziehung (d.h. bei den
|
209
|
+
# Zahlungsartschlüsseln 20-23 und 30-33 in Feld T22) K/P N - N -
|
210
|
+
# und Abweichung vom Inhalt der Zeilen 1 und 2
|
211
|
+
# des Feldes T10b
|
212
|
+
# 12 35 421 alpha IBAN bzw. Kontonummer des IBAN oder Kontonummer des Zahlungs empfängers,
|
213
|
+
# Zahlungsempfängers linksbündig, mit Schrägstrich beginnend. K/P P Nur IBAN zulässig;Linksbündig P Nur IBAN zulässig; Linksbündig, mit Schräg strich beginnend.
|
214
|
+
# (Nicht zu belegen bei Scheckziehungen, d.h. mit Schräg strich beginnend.
|
215
|
+
# bei den Zahlungsartschlüsseln 20-23 und 30-33
|
216
|
+
# in Feld T22)
|
217
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
218
|
+
# 13 3 456 alpha Auftragswährung ISO-Code der zu zahlenden Währung P P Nur 'EUR' zulässig P Nur 'EUR' zulässig
|
219
|
+
# 14a 14 459 num Betrag (Vorkommastellen) Rechtsbündig P P Nur Beträge bis max. 50k EUR zulässig P -
|
220
|
+
# 14b 3 473 num Betrag (Nachkommastellen) Linksbündig P P - P -
|
221
|
+
# 15 4x35 476 alpha Verwendungszweck - K K - K -
|
222
|
+
# 16 2 616 num Weisungsschlüssel 1 Nicht zu belegen bei Scheckziehungen, K N - K Nur Weisungsschlüssel ‚10‘, ‚11‘ und ‚12‘ aus Anhang 2 zulässig
|
223
|
+
# (gem. Anhang 2) (d.h. bei den Zahlungsartschlüsseln 20-23
|
224
|
+
# und 30-33 in Feld T22)
|
225
|
+
# 17 2 618 num Weisungsschlüssel 2 Nicht zu belegen bei Scheckziehungen, K N - K Nur Weisungsschlüssel ‚10‘, ‚11‘ und ‚12‘ aus Anhang 2 zulässig
|
226
|
+
# (gem. Anhang 2) (d.h. bei den Zahlungsartschlüsseln
|
227
|
+
# 20-23 und 30-33 in Feld T22)
|
228
|
+
# 18 2 620 num Weisungsschlüssel 3 Nicht zu belegen bei Scheckziehungen, K N - K Nur Weisungsschlüssel ‚10‘, ‚11‘, und ‚12‘ aus Anhang 2 zulässig
|
229
|
+
# (gem. Anhang 2) (d.h. bei den Zahlungsartschlüsseln
|
230
|
+
# 20-23 und 30-33 in Feld T22)
|
231
|
+
# 19 2 622 num Weisungsschlüssel 4 Mit ‘91‘ zu belegen im Falle von "Euro-
|
232
|
+
# (gem. Anhang 2 und 2a) Gegenwertzahlungen“ (vgl. Anhang 2a). K/P N - K Nur Weisungsschlüssel ‚10‘, ‚11‘ und ‚12‘ aus Anhang 2 zulässig
|
233
|
+
# Bei Scheckziehungen, d.h. bei den
|
234
|
+
# Zahlungsartschlüsseln 20-23 und 30-33
|
235
|
+
# in Feld T22 nur '91' möglich.
|
236
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
237
|
+
# 20 25 624 alpha Zusatzinformationen zum Z. B. Telex, Tel.-Nr., Kabelanschrift
|
238
|
+
# Weisungsschlüssel (Nicht zu belegen bei Scheckziehungen, K N - K Nur bei Weisungs schlüssel ‚10‘ aus An hang 2 zulässig
|
239
|
+
# d.h. bei den Zahlungsartschlüsseln 20-23
|
240
|
+
# und 30-33 in Feld T22)
|
241
|
+
# 21 2 649 num Entgeltregelung 00 = Entgelte zu Lasten Auftraggeber / K/P P Nur '00' zugelassen K/P -
|
242
|
+
# fremde Entgelte und Auslagen zu Lasten
|
243
|
+
# Zahlungsempfänger
|
244
|
+
# 01 = alle Entgelte und Auslagen zu Lasten
|
245
|
+
# Auftraggeber
|
246
|
+
# 02 = alle Entgelte und Auslagen zu Lasten
|
247
|
+
# Zahlungsempfänger
|
248
|
+
# (Bei Überweisungen im EWR in EWR- Währungen
|
249
|
+
# ohne Währungsumrechnung – Feld T4a = Feld T13
|
250
|
+
# – nur „00“ zulässig.)
|
251
|
+
# (Bei Scheckziehung, d.h. bei Zahlungsartschlüssel
|
252
|
+
# 20-23 und 30-33 in Feld T22 nur ‚00‘ möglich)
|
253
|
+
# 22 2 651 num Kennzeichnung der Zahlungsart Gemäß Anhang 1; Zahlungen, die weder '11' noch P P Nur Zahlungsartschlüssel ‚13‘ P Nur Zahlungsart schlüssel ‚11‘ aus Anhang 1 zulässig
|
254
|
+
# '13' als Zahlungsartschlüssel enthalten, gelten aus Anhang 1 zulässig
|
255
|
+
# als allgemeine Zahlungen.
|
256
|
+
# 23 27 653 alpha Variabler Text nur für Vom Auftraggeber frei belegbar
|
257
|
+
# Auftraggeberabrechnung (z.B. Refe renz-Nr.); wird nicht weitergeleitet; K K - K -
|
258
|
+
# weiterzuleitende Informationen in Feld T15
|
259
|
+
# angeben; maximal 16 Stellen werden in den
|
260
|
+
# elektronischen Kontoauszug übernommen.
|
261
|
+
# (nur nach Absprache mit dem Kreditinstitut)
|
262
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
263
|
+
# 24 35 680 alpha Name und Telefonnummer sowie Ansprechpartner beim Auftraggeber für eventuelle
|
264
|
+
# ggf. Stellvertretungsmeldung Rückfragen der beauftragten Bank oder der K/P K Ansprechpartner beim Auftraggeber K/P -
|
265
|
+
# Meldebehörde. Dahinter, wenn Auftraggeber für eventuelle Rückfragen der
|
266
|
+
# nicht Zahlungspflichtiger ist: ‘INVF’, beauftragten Bank
|
267
|
+
# ohne Leerstellen gefolgt von: Bundesland-Nummer
|
268
|
+
# (2-stellig) und: Firmennummer bzw. BLZ
|
269
|
+
# (8-stellig) des Zahlungspflichtigen
|
270
|
+
# Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN--------------------------------------------------------------------------------------------------------
|
271
|
+
# 25 1 715 num Meldeschlüssel Nur belegt, wenn die Weiterleitung des K N - K -
|
272
|
+
# Zahlungsauftrages an die Bundesbank auf
|
273
|
+
# die statistischen Angaben beschränkt werden
|
274
|
+
# soll; (dies sind die Datensätze V, W und Q
|
275
|
+
# (ohne Feld Q4) und die Felder 3, 5, 8, 9a,
|
276
|
+
# 9b, 10a, 10b, 13, 14a, 14b, 15, 16, 17,
|
277
|
+
# 18, 19 und 24 - 27 des Datensatzes T).
|
278
|
+
# Belegung in diesem Falle : ‘1’
|
279
|
+
# /Entfällt bei der kurzen Variante NUR FUER DIE BEARBEITUNG DER MELDUNGEN-------------------------------------------------------------------------------------------------------
|
280
|
+
# 26 51 716 alpha - Reserve N N - N -
|
281
|
+
# 27 2 767 num Erweiterungskennzeichen 00 = es folgt kein Meldeteil P N - P -
|
282
|
+
#
|
283
|
+
def add_t(booking)
|
284
|
+
data2 = '0768' # PFLICHT, 1 Länge des Datensatzes
|
285
|
+
data2 += 'T' # PFLICHT, 2 Satzart
|
286
|
+
data2 += '%08i' % @account.bank_number # PFLICHT, 3 BLZ des Einreichinstituts
|
287
|
+
data2 += 'EUR' # PFLICHT, 4a ISO-Währungscode
|
288
|
+
data2 += '%010i' % @account.account_number # PFLICHT, 4b Kontonummer
|
289
|
+
data2 += @date.strftime("%y%m%d") # KANN, 5 Ausführungstermin Einzelzahlung, wenn abweichend von Feld Q8
|
290
|
+
data2 += '%08i' % 0 # KANN/PFLICHT 6 BLZ
|
291
|
+
data2 += '%03s' % '' # KANN/PFLICHT 7a ISO-Währungscode
|
292
|
+
data2 += '%010i' % 0 # KANN/PFLICHT 7b BLZ
|
293
|
+
data2 += '%-011s' % booking.account.bank_number # KANN/PFLICHT 8 11 Bank Identifier Code (BIC) des Zahlungsdienstleisters des Zahlungsempfängers (AUCH BLZ denke ich)
|
294
|
+
data2 += '%-03s' % '' #booking.account.bank_country_code # KANN/PFLICHT 9a 3 Ländercode für den Zahlungsdienstleister des Zahlungsempfängers
|
295
|
+
data2 += '%070s' % '' #booking.account.bank_name # KANN/PFLICHT 9b 4x35 Anschrift des Zahlungsdienstleisters des Zahlungsempfängers - Pflichtfeld wenn T8 nich belegt Zeile 1 und 2:
|
296
|
+
data2 += '%035s' % '' #booking.account.street # KANN/PFLICHT 9b Name Zeile 3 : Straße Zeile
|
297
|
+
data2 += '%035s' % '' #booking.account.zip_city # KANN/PFLICHT 9b 4 : Ort
|
298
|
+
data2 += '%-03s' % booking.account.client_country_code # PFLICHT 10a Ländercode für Land des Zahlungsempfängers bzw. Scheckempfängers
|
299
|
+
data2 += '%-035s' % booking.account.client_firstname # KANN/PFLICHT 10b 4x35 Anschrift des Zahlungsdienstleisters des Zahlungsempfängers - Pflichtfeld wenn T8 nich belegt Zeile 1 und 2:
|
300
|
+
data2 += '%-035s' % booking.account.client_surname # KANN/PFLICHT 10b 4x35 Anschrift des Zahlungsdienstleisters des Zahlungsempfängers - Pflichtfeld wenn T8 nich belegt Zeile 1 und 2:
|
301
|
+
data2 += '%-035s' % booking.account.client_street # KANN/PFLICHT 10b Name Zeile 3 : Straße Zeile
|
302
|
+
data2 += '%-035s' % booking.account.client_zip_city # KANN/PFLICHT 10b 4 : Ort
|
303
|
+
data2 += '%070s' % '' # KANN/PFLICHT 11 Ordervermerk
|
304
|
+
data2 += '/%-034s' % booking.account.account_number # PFLICHT 12 35 IBAN bzw. Kontonummer des
|
305
|
+
data2 += 'EUR' # KANN/PFLICHT 13 3 Auftragswährung "EUR"
|
306
|
+
data2 += '%014i' % booking.value.divmod(100)[0] # PFLICHT 14a 14 Betrag (Vorkommastellen) Rechtsbündig
|
307
|
+
data2 += '%02i0' % booking.value.divmod(100)[1] # PFLICHT 14b 3 Betrag (Nachkommastellen) Linksbündig
|
308
|
+
data2 += '%0140s' % booking.text || default_text # KANN 15 4x35 Verwendungszweck
|
309
|
+
data2 += "%02i" % 0 # N 16 Weisungsschlüssel 1 (gem. Anhang 2)
|
310
|
+
data2 += "%02i" % 0 # N 17 Weisungsschlüssel 2 (gem. Anhang 2)
|
311
|
+
data2 += "%02i" % 0 # N 18 Weisungsschlüssel 3 (gem. Anhang 2)
|
312
|
+
data2 += "%02i" % 0 # N 19 Weisungsschlüssel 4 (gem. Anhang 2 und 2a)
|
313
|
+
data2 += '%025s' % '' # N 20 Zusatzinformationen zum Weisungsschlüssel
|
314
|
+
data2 += "%02i" % 0 # PFLICHT 21 Entgeltregelung
|
315
|
+
data2 += "%02i" % 13 # PFLICHT 22 Kennzeichnung der Zahlungsart Gemäß Anhang 1; Zahlungen, die weder '11' noch '13' als Zahlungsartschlüssel enthalten
|
316
|
+
data2 += '%027s' % '' # KANN 23 Variabler Text nur für Auftraggeberabrechnung
|
317
|
+
# i dont know what to do.
|
318
|
+
data2 += '%035s' % '' # KANN/PFLICHT 24 35 Name und Telefonnummer sowie ggf. Stellvertretungsmeldung
|
319
|
+
data2 += '%01i' % 0 # KANN/NICHT 25 Meldeschlüssel
|
320
|
+
data2 += '%051s' % '' # N 26 Reserve
|
321
|
+
data2 += '%02i' % 0 # PFLICHT/NICHT 27 2 Erweiterungskennzeichen 00 = es folgt kein Meldeteil
|
322
|
+
raise "DTAUS: Längenfehler T (#{data2.size} <> 768)\n" if data2.size != 768
|
323
|
+
dta_string << data2
|
324
|
+
end
|
325
|
+
|
326
|
+
#Erstellen V-Segment der DTAZV-Datei
|
327
|
+
# - V Meldedatensatz zum Transithandel mit 256 Bytes
|
328
|
+
# === Parameter
|
329
|
+
# booking<Object>::Booking object to be written to c-sektion
|
330
|
+
#
|
331
|
+
# === Returns
|
332
|
+
# <String>:: The current dta_string
|
333
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
334
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
335
|
+
# 2 1 5 P alpha Satzart Konstante "V"
|
336
|
+
# 3 27 6 P alpha Warenbezeichnung der eingekauften Transithandelsware -
|
337
|
+
# 4a 2 33 P num Kapitel-Nummer des Warenverzeichnisses Gemäß Warenverzeichnis für die Außenhandelsstatistik.
|
338
|
+
# für die eingekaufte Transithandelsware
|
339
|
+
# 4b 7 35 P num "0000000“ Konstante "0000000“
|
340
|
+
# 5 7 42 P alpha Einkaufsland Transithandel Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik
|
341
|
+
# 6 3 49 P alpha Ländercode für Einkaufsland Transithandel 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen
|
342
|
+
# 7 12 52 P num Einkaufspreis Transithandel (Vorkommastellen) Angabe in Auftragswährung (siehe Feld T13) ; bei Euro-Gegenwertzahlungen : Angabe in Euro und Feld T19 mit ’91‘ belegen.
|
343
|
+
# 8 1 64 P alpha Verkauf der Transithandelsware an Gebietsfremde Ja (= J) bzw. Nein (= N)
|
344
|
+
# (durchgehandeltes Transithandels geschäft)
|
345
|
+
# 9 1 65 P alpha Kennzeichnung Verkauf der Transithandelsware Ja (= J) bzw. Nein (= N)
|
346
|
+
# an Gebietsansässige (gebrochenes
|
347
|
+
# Transithandelsgeschäft)
|
348
|
+
# 10 1 66 N alpha - Reserve
|
349
|
+
# 11 1 67 P alpha Kennzeichnung Transithandelsware unverkauft Ja (= J) bzw. Nein (= N)
|
350
|
+
# auf Lager im Ausland
|
351
|
+
# 12 27 68 K/P alpha Warenbezeichnung der verkauften Transithandelsware Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8) und nicht identisch mit Feld V3
|
352
|
+
# 13a 2 95 K/P num Kapitel-Nummer des Warenverzeichnisses für die Gemäß Warenverzeichnis für die Außenhandelsstatistik; nur belegt, wenn durchge handelter Transithandel (J in Feld V8) und wenn Feld V13a nicht identisch mit Feld V4a
|
353
|
+
# verkaufte Transithandelsware
|
354
|
+
# 13b 7 97 P num "0000000" Konstante "0000000"
|
355
|
+
# 14 4 104 K/P alpha Fälligkeit Verkaufserlös Transithandel Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8), Format: JJMM
|
356
|
+
# 15 7 108 K/P alpha Käuferland Transithandel Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik; nur be legt, wenn durchgehandelter Transithandel (J in Feld V8)
|
357
|
+
# 16 3 115 K/P alpha Ländercode für Käuferland 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen; nur belegt, wenn durchgehandelter Transithandel (J in Feld V8)
|
358
|
+
# 17 12 118 K/P num Verkaufspreis Transithandel (Vorkommastellen) Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8); Angabe in Auftragswährung (siehe Feld T13); bei Euro-Gegenwertzahlungen : Angabe in Euro und Feld T19 mit ’91‘ belegen.
|
359
|
+
# 18 40 130 K/P alpha Ergänzungsangaben Transithandel Name und Sitz des Nachkäufers bei gebrochenem Transithandel (J in Feld V9)
|
360
|
+
# 19 87 170 N alpha - Reserve
|
361
|
+
def add_v
|
362
|
+
# data = '0256' # 1 Länge des Datensatzes
|
363
|
+
# data += 'V' # 2 Satzart
|
364
|
+
# data += '%27s' % # 3 Warenbezeichnung der eingekauften Transithandelsware
|
365
|
+
# data += 4a Kapitel-Nummer des Warenverzeichnisses für die eingekaufte Transithandelsware
|
366
|
+
# data += "0000000" # 4b Konstante "0000000“
|
367
|
+
# data += '%7s' # 5 Einkaufsland Transithandel
|
368
|
+
# data += '%03s' # 6 Ländercode für Einkaufsland Transithandel 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen
|
369
|
+
# data += '%012i' # 7 Einkaufspreis Transithandel (Vorkommastellen)
|
370
|
+
# data += 'J' # 8 Verkauf der Transithandelsware an Gebietsfremde Ja (= J) bzw. Nein (= N)
|
371
|
+
# data += '...' # 9 Kennzeichnung Verkauf der Transithandelsware an Gebietsansässige (gebrochenes Transithandelsgeschäft) Ja (= J) bzw. Nein (= N)
|
372
|
+
# data += '%01s' # 10 Reserve
|
373
|
+
# data += 'J' # 11 Kennzeichnung Transithandelsware unverkauft Ja (= J) bzw. Nein (= N)
|
374
|
+
# data += '%27s' # 12 Warenbezeichnung der verkauften Transithandelsware Nur belegt, wenn durchgehandelter Transithandel (J in Feld V8) und nicht identisch mit Feld V3
|
375
|
+
# data += '%27s' # 13a Kapitel-Nummer des Warenverzeichnisses für die
|
376
|
+
# data += "0000000" # 13b Konstante "0000000"
|
377
|
+
# data += '%04s' # 14 Fälligkeit Verkaufserlös Transithandel verkaufte Transithandelsware
|
378
|
+
# data += '%07s' # 15 Käuferland Transithandel Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik
|
379
|
+
# data += '%03s' # 16 Ländercode für Käuferland 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik; linksbündig zu belegen; 3. Stelle Leerzeichen;
|
380
|
+
# data += '%12s' # 17 Verkaufspreis Transithandel (Vorkommastellen) Nur belegt, wenn durchgehandelter Transithandel
|
381
|
+
# data += '%40s' # 18 Ergänzungsangaben Transithandel Name und Sitz des Nachkäufers bei gebrochenem Transithandel (J in Feld V9)
|
382
|
+
# data += '%87s' # 19 Reserve
|
383
|
+
end
|
384
|
+
|
385
|
+
#Erstellen W-Segment der DTAZV-Datei
|
386
|
+
# - W Meldedatensatz für Dienstleistungs-, Kapitalverkehr und Sonstiges mit 256 Bytes
|
387
|
+
# === Parameter
|
388
|
+
# booking<Object>::Booking object to be written to c-sektion
|
389
|
+
#
|
390
|
+
# === Returns
|
391
|
+
# <String>:: The current dta_string
|
392
|
+
# Datensatz W (Datei-Nachsatz)
|
393
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
394
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
395
|
+
# 2 1 5 P alpha Satzart Konstante W
|
396
|
+
# 3 1 6 P num Belegart Dienstleistungen, Übertragungen = ‘2’ Kapitaltransaktionen und Kapitalerträge = ‘4’
|
397
|
+
# 4 3 7 P num Kennzahl Gemäß Leistungsverzeichnis (Anlage LV zur AWV)
|
398
|
+
# 5 7 10 P alpha Land Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik (siehe Anhang 3, Abschnitt E)
|
399
|
+
# 6 3 17 P alpha Ländercode 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik (siehe Anhang 3, Abschnitt E); linksbündig zu belegen; 3. Stelle Leerzeichen
|
400
|
+
# 7 7 20 K/P alpha Anlageland bei Kapitalverkehr Kurzbezeichnung gemäß Länderverzeichnis für die Zahlungsbilanzstatistik 3
|
401
|
+
# 8 3 27 K/P alpha Ländercode für Anlageland 2-stelliger ISO-alpha-Ländercode gemäß Länderverzeichnis für die Zahlungs bilanzstatistik 3; linksbündig zu belegen; 3. Stelle Leerzeichen
|
402
|
+
# 9 12 30 P num Betrag für Dienstleistungen, Angabe in Auftragswährung (siehe Feld T13); bei Euro-Gegenwertzahlungen : Angabe in Euro und Feld T19 mit ’91‘ belegen.
|
403
|
+
# Kapitalverkehr, Sonstiges
|
404
|
+
# (Vorkommastellen)
|
405
|
+
# 10 140 42 P alpha nähere Angaben zur zugrunde Wichtige Einzelheiten des Grundgeschäfts
|
406
|
+
# liegenden Leistung
|
407
|
+
# 11 75 182 N alpha - Reserve
|
408
|
+
def add_w
|
409
|
+
# data = '0256' # 1 Länge des Datensatzes
|
410
|
+
# data += 'W' # 2 Satzart
|
411
|
+
# data += '%01s' % ... # 3 Belegart
|
412
|
+
# data += '%03s' % ... # 4 Kennzahl
|
413
|
+
# data += '%07s' % ... # 5 Land
|
414
|
+
# data += '%3s' # 6 Ländercode
|
415
|
+
# data += '%07s' % ... # 7 Anlageland bei Kapitalverkehr
|
416
|
+
# data += '%03s' % ... # 8 Ländercode für Anlageland
|
417
|
+
# data += '%012i' % ... # 9 Betrag für Dienstleistungen Kapitalverkehr, Sonstiges (Vorkommastellen)
|
418
|
+
# data += '%0140s' # 10 nähere Angaben zur zugrunde liegenden Leistung
|
419
|
+
# data += '%075s' # 11 Reserve
|
420
|
+
end
|
421
|
+
|
422
|
+
#Erstellen Y-Segment der DTAZV-Datei
|
423
|
+
# - Y Datei-Nachsatz mit 256 Bytes
|
424
|
+
# === Parameter
|
425
|
+
# booking<Object>::Booking object to be written to c-sektion
|
426
|
+
#
|
427
|
+
# === Returns
|
428
|
+
# <String>:: The current dta_string
|
429
|
+
#Aufbau des Segments:
|
430
|
+
# Feld Länge in Bytes 1. Stelle im Satz Feldart Datenformat Inhalt Erläuterungen
|
431
|
+
# 1 4 1 P binär/num Satzlänge Längenangabe des Satzes nach den Konventionen für variable Satzlänge (binär bei Bändern, numerisch bei Disketten und DFÜ)
|
432
|
+
# 2 1 5 P alpha Satzart Konstante Y
|
433
|
+
# 3 15 6 P num Betragssumme Aus Datensätzen U Feld 5 ( = 0, falls keine U-Sätze vorhanden)
|
434
|
+
# 4 15 21 P num Betragssumme Aus Datensätzen V Feld 7
|
435
|
+
# 5 15 36 P num Betragssumme Aus Datensätzen V Feld 17
|
436
|
+
# 6 15 51 P num Betragssumme Aus Datensätzen W Feld 9
|
437
|
+
# 7 6 66 P num Anzahl der Datensätze Anzahl Datensätze U, V, W
|
438
|
+
# 8 6 72 P num Anzahl der Datensätze Anzahl Datensätze T
|
439
|
+
# 9 179 78 P alpha Leerzeichen Reserve
|
440
|
+
def add_y(bookings)
|
441
|
+
data3 = '0256' # 1 Länge des Datensatzes
|
442
|
+
data3 += 'Y' # 2 Satzart
|
443
|
+
data3 += '%015i' % 0 # 3 Betragssumme
|
444
|
+
data3 += '%015i' % 0 # 4 Betragssumme
|
445
|
+
data3 += '%015i' % 0 # 5 Betragssumme
|
446
|
+
data3 += '%015i' % 0 # 6 Betragssumme
|
447
|
+
data3 += '%06i' % 0 # 7 Anzahl der Datensätze
|
448
|
+
data3 += '%06i' % bookings.count # 8 Anzahl der Datensätze
|
449
|
+
data3 += '%0179s' % '' # 9 Leerzeichen Reserve
|
450
|
+
raise "DTAUS: Längenfehler T (#{data3.size} <> 256)\n" if data3.size != 256
|
451
|
+
dta_string << data3
|
452
|
+
end
|
453
|
+
|
454
|
+
# THE MAGICAL Z SEGMENT
|
455
|
+
def add_z(bookings)
|
456
|
+
data3 = '0256'
|
457
|
+
data3 += 'Z'
|
458
|
+
sum = 0
|
459
|
+
bookings.each do |b|
|
460
|
+
sum += b.value.divmod(100)[0]
|
461
|
+
end
|
462
|
+
data3 += '%015i' % sum
|
463
|
+
data3 += '%015i' % bookings.count
|
464
|
+
data3 += '%0221s' % ''
|
465
|
+
raise "DTAUS: Längenfehler Z (#{data3.size} <> 256)\n" if data3.size != 256
|
466
|
+
dta_string << data3
|
467
|
+
end
|
468
|
+
|
469
|
+
end
|
470
|
+
end
|
data/lib/king_dtaus.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require "bigdecimal"
|
2
|
-
require "
|
3
|
-
require "
|
4
|
-
require "
|
5
|
-
require "
|
6
|
-
require "
|
2
|
+
require "king_dta/helper"
|
3
|
+
require "king_dta/dta"
|
4
|
+
require "king_dta/account"
|
5
|
+
require "king_dta/booking"
|
6
|
+
require "king_dta/dtaus"
|
7
|
+
require "king_dta/dtazv"
|
8
|
+
require "king_dta/exception"
|